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:
SessionHero01
2024-10-15 14:17:54 +11:00
136 changed files with 1453 additions and 774 deletions

View File

@@ -0,0 +1,3 @@
package org.session.libsignal.exceptions
class NonRetryableException(message: String? = null, cause: Throwable? = null): RuntimeException(message, cause)

View File

@@ -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
}
}
}
}
}