mirror of
https://github.com/oxen-io/session-android.git
synced 2025-08-11 14:37:45 +00:00
Merge remote-tracking branch 'origin/dev' into closed_groups
# Conflicts: # app/src/main/java/org/thoughtcrime/securesms/attachments/DatabaseAttachmentProvider.kt # app/src/main/java/org/thoughtcrime/securesms/conversation/v2/ConversationActivityV2.kt # app/src/main/java/org/thoughtcrime/securesms/conversation/v2/ConversationViewModel.kt # app/src/main/java/org/thoughtcrime/securesms/conversation/v2/menus/ConversationActionModeCallback.kt # app/src/main/java/org/thoughtcrime/securesms/conversation/v2/messages/VisibleMessageContentView.kt # app/src/main/java/org/thoughtcrime/securesms/database/MessagingDatabase.java # app/src/main/java/org/thoughtcrime/securesms/database/MmsDatabase.kt # app/src/main/java/org/thoughtcrime/securesms/database/SmsDatabase.java # app/src/main/java/org/thoughtcrime/securesms/database/Storage.kt # app/src/main/java/org/thoughtcrime/securesms/home/HomeActivity.kt # app/src/main/java/org/thoughtcrime/securesms/notifications/PushReceiver.kt # app/src/main/java/org/thoughtcrime/securesms/repository/ConversationRepository.kt # app/src/main/java/org/thoughtcrime/securesms/ui/theme/ThemeColors.kt # app/src/main/res/layout/view_control_message.xml # app/src/test/java/org/thoughtcrime/securesms/conversation/v2/ConversationViewModelTest.kt # libsession/src/main/java/org/session/libsession/database/MessageDataProvider.kt # libsession/src/main/java/org/session/libsession/messaging/sending_receiving/ReceivedMessageHandler.kt # libsession/src/main/java/org/session/libsession/snode/SnodeAPI.kt # libsignal/src/main/java/org/session/libsignal/utilities/Retrying.kt
This commit is contained in:
@@ -0,0 +1,3 @@
|
||||
package org.session.libsignal.exceptions
|
||||
|
||||
class NonRetryableException(message: String? = null, cause: Throwable? = null): RuntimeException(message, cause)
|
@@ -3,6 +3,7 @@ package org.session.libsignal.utilities
|
||||
import kotlinx.coroutines.delay
|
||||
import nl.komponents.kovenant.Promise
|
||||
import nl.komponents.kovenant.deferred
|
||||
import org.session.libsignal.exceptions.NonRetryableException
|
||||
import java.util.*
|
||||
import kotlin.coroutines.cancellation.CancellationException
|
||||
|
||||
@@ -39,6 +40,8 @@ suspend fun <T> retryWithUniformInterval(maxRetryCount: Int = 3, retryIntervalMi
|
||||
return body()
|
||||
} catch (e: CancellationException) {
|
||||
throw e
|
||||
} catch (e: NonRetryableException) {
|
||||
throw e
|
||||
} catch (e: Exception) {
|
||||
if (retryCount == maxRetryCount) {
|
||||
throw e
|
||||
@@ -48,4 +51,4 @@ suspend fun <T> retryWithUniformInterval(maxRetryCount: Int = 3, retryIntervalMi
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user