diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 05365ababf..55032d4b97 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -176,7 +176,7 @@
android:screenOrientation="portrait" />
-
diff --git a/app/src/main/java/org/thoughtcrime/securesms/conversation/ConversationActionBarView.kt b/app/src/main/java/org/thoughtcrime/securesms/conversation/ConversationActionBarView.kt
index 00b29fe393..0afea86b55 100644
--- a/app/src/main/java/org/thoughtcrime/securesms/conversation/ConversationActionBarView.kt
+++ b/app/src/main/java/org/thoughtcrime/securesms/conversation/ConversationActionBarView.kt
@@ -41,7 +41,7 @@ class ConversationActionBarView : LinearLayout {
private val settingsAdapter = ConversationSettingsAdapter { setting ->
if (setting.settingType == ConversationSettingType.EXPIRATION) {
- delegate?.onExpirationSettingClicked()
+ delegate?.onDisappearingMessagesClicked()
}
}
@@ -202,7 +202,7 @@ class ConversationActionBarView : LinearLayout {
fun interface ConversationActionBarDelegate {
- fun onExpirationSettingClicked()
+ fun onDisappearingMessagesClicked()
}
data class ConversationSetting(
diff --git a/app/src/main/java/org/thoughtcrime/securesms/conversation/expiration/ExpirationSettingsActivity.kt b/app/src/main/java/org/thoughtcrime/securesms/conversation/disappearingmessages/DisappearingMessagesActivity.kt
similarity index 75%
rename from app/src/main/java/org/thoughtcrime/securesms/conversation/expiration/ExpirationSettingsActivity.kt
rename to app/src/main/java/org/thoughtcrime/securesms/conversation/disappearingmessages/DisappearingMessagesActivity.kt
index 3339bd78bf..86e6515746 100644
--- a/app/src/main/java/org/thoughtcrime/securesms/conversation/expiration/ExpirationSettingsActivity.kt
+++ b/app/src/main/java/org/thoughtcrime/securesms/conversation/disappearingmessages/DisappearingMessagesActivity.kt
@@ -1,4 +1,4 @@
-package org.thoughtcrime.securesms.conversation.expiration
+package org.thoughtcrime.securesms.conversation.disappearingmessages
import android.os.Bundle
import android.widget.Toast
@@ -12,33 +12,34 @@ import androidx.lifecycle.repeatOnLifecycle
import dagger.hilt.android.AndroidEntryPoint
import kotlinx.coroutines.launch
import network.loki.messenger.R
-import network.loki.messenger.databinding.ActivityExpirationSettingsBinding
+import network.loki.messenger.databinding.ActivityDisappearingMessagesBinding
import org.thoughtcrime.securesms.PassphraseRequiredActionBarActivity
+import org.thoughtcrime.securesms.conversation.disappearingmessages.ui.DisappearingMessages
import org.thoughtcrime.securesms.database.RecipientDatabase
import org.thoughtcrime.securesms.database.ThreadDatabase
import org.thoughtcrime.securesms.ui.AppTheme
import javax.inject.Inject
@AndroidEntryPoint
-class ExpirationSettingsActivity: PassphraseRequiredActionBarActivity() {
+class DisappearingMessagesActivity: PassphraseRequiredActionBarActivity() {
- private lateinit var binding : ActivityExpirationSettingsBinding
+ private lateinit var binding : ActivityDisappearingMessagesBinding
@Inject lateinit var recipientDb: RecipientDatabase
@Inject lateinit var threadDb: ThreadDatabase
- @Inject lateinit var viewModelFactory: ExpirationSettingsViewModel.AssistedFactory
+ @Inject lateinit var viewModelFactory: DisappearingMessagesViewModel.AssistedFactory
private val threadId: Long by lazy {
intent.getLongExtra(THREAD_ID, -1)
}
- private val viewModel: ExpirationSettingsViewModel by viewModels {
+ private val viewModel: DisappearingMessagesViewModel by viewModels {
viewModelFactory.create(threadId)
}
override fun onCreate(savedInstanceState: Bundle?, ready: Boolean) {
super.onCreate(savedInstanceState, ready)
- binding = ActivityExpirationSettingsBinding.inflate(layoutInflater)
+ binding = ActivityDisappearingMessagesBinding.inflate(layoutInflater)
setContentView(binding.root)
setUpToolbar()
@@ -50,7 +51,7 @@ class ExpirationSettingsActivity: PassphraseRequiredActionBarActivity() {
viewModel.event.collect {
when (it) {
Event.SUCCESS -> finish()
- Event.FAIL -> showToast(getString(R.string.ExpirationSettingsActivity_settings_not_updated))
+ Event.FAIL -> showToast(getString(R.string.DisappearingMessagesActivity_settings_not_updated))
}
}
}
@@ -59,7 +60,7 @@ class ExpirationSettingsActivity: PassphraseRequiredActionBarActivity() {
lifecycleScope.launch {
repeatOnLifecycle(Lifecycle.State.STARTED) {
viewModel.state.collect { state ->
- supportActionBar?.subtitle = state.subtitle(this@ExpirationSettingsActivity)
+ supportActionBar?.subtitle = state.subtitle(this@DisappearingMessagesActivity)
}
}
}
@@ -72,7 +73,7 @@ class ExpirationSettingsActivity: PassphraseRequiredActionBarActivity() {
private fun setUpToolbar() {
setSupportActionBar(binding.toolbar)
val actionBar = supportActionBar ?: return
- actionBar.title = getString(R.string.activity_expiration_settings_title)
+ actionBar.title = getString(R.string.activity_disappearing_messages_title)
actionBar.setDisplayHomeAsUpEnabled(true)
actionBar.setHomeButtonEnabled(true)
}
diff --git a/app/src/main/java/org/thoughtcrime/securesms/conversation/expiration/ExpirationSettingsViewModel.kt b/app/src/main/java/org/thoughtcrime/securesms/conversation/disappearingmessages/DisappearingMessagesViewModel.kt
similarity index 96%
rename from app/src/main/java/org/thoughtcrime/securesms/conversation/expiration/ExpirationSettingsViewModel.kt
rename to app/src/main/java/org/thoughtcrime/securesms/conversation/disappearingmessages/DisappearingMessagesViewModel.kt
index 4ffa5cdf2c..8babbb55f5 100644
--- a/app/src/main/java/org/thoughtcrime/securesms/conversation/expiration/ExpirationSettingsViewModel.kt
+++ b/app/src/main/java/org/thoughtcrime/securesms/conversation/disappearingmessages/DisappearingMessagesViewModel.kt
@@ -1,4 +1,4 @@
-package org.thoughtcrime.securesms.conversation.expiration
+package org.thoughtcrime.securesms.conversation.disappearingmessages
import android.app.Application
import androidx.annotation.StringRes
@@ -25,7 +25,6 @@ import org.session.libsession.messaging.messages.control.ExpirationTimerUpdate
import org.session.libsession.messaging.sending_receiving.MessageSender
import org.session.libsession.snode.SnodeAPI
import org.session.libsession.utilities.Address
-import org.session.libsession.utilities.ExpirationUtil
import org.session.libsession.utilities.SSKEnvironment.MessageExpirationManagerProtocol
import org.session.libsession.utilities.TextSecurePreferences
import org.thoughtcrime.securesms.database.GroupDatabase
@@ -54,8 +53,8 @@ data class State(
val showDebugOptions: Boolean = false
) {
val subtitle get() = when {
- isGroup || isNoteToSelf -> GetString(R.string.activity_expiration_settings_subtitle_sent)
- else -> GetString(R.string.activity_expiration_settings_subtitle)
+ isGroup || isNoteToSelf -> GetString(R.string.activity_disappearing_messages_subtitle_sent)
+ else -> GetString(R.string.activity_disappearing_messages_subtitle)
}
val typeOptionsHidden get() = isNoteToSelf || (isGroup && isNewConfigEnabled)
@@ -76,7 +75,7 @@ object NoOpCallbacks: Callbacks {
override fun setMode(mode: ExpiryMode) {}
}
-class ExpirationSettingsViewModel(
+class DisappearingMessagesViewModel(
private val threadId: Long,
private val application: Application,
private val textSecurePreferences: TextSecurePreferences,
@@ -166,7 +165,7 @@ class ExpirationSettingsViewModel(
private val storage: Storage
) : ViewModelProvider.Factory {
- override fun create(modelClass: Class): T = ExpirationSettingsViewModel(
+ override fun create(modelClass: Class): T = DisappearingMessagesViewModel(
threadId,
application,
textSecurePreferences,
@@ -187,8 +186,8 @@ data class UiState(
) {
constructor(state: State): this(
cards = listOfNotNull(
- typeOptions(state)?.let { CardModel(GetString(R.string.activity_expiration_settings_delete_type), it) },
- timeOptions(state)?.let { CardModel(GetString(R.string.activity_expiration_settings_timer), it) }
+ typeOptions(state)?.let { CardModel(GetString(R.string.activity_disappearing_messages_delete_type), it) },
+ timeOptions(state)?.let { CardModel(GetString(R.string.activity_disappearing_messages_timer), it) }
),
showGroupFooter = state.isGroup && state.isNewConfigEnabled,
showSetButton = state.isSelfAdmin
diff --git a/app/src/main/java/org/thoughtcrime/securesms/conversation/expiration/ExpirationSettings.kt b/app/src/main/java/org/thoughtcrime/securesms/conversation/disappearingmessages/ui/DisappearingMessages.kt
similarity index 64%
rename from app/src/main/java/org/thoughtcrime/securesms/conversation/expiration/ExpirationSettings.kt
rename to app/src/main/java/org/thoughtcrime/securesms/conversation/disappearingmessages/ui/DisappearingMessages.kt
index 8da4b0c6ba..997be53824 100644
--- a/app/src/main/java/org/thoughtcrime/securesms/conversation/expiration/ExpirationSettings.kt
+++ b/app/src/main/java/org/thoughtcrime/securesms/conversation/disappearingmessages/ui/DisappearingMessages.kt
@@ -1,4 +1,4 @@
-package org.thoughtcrime.securesms.conversation.expiration
+package org.thoughtcrime.securesms.conversation.disappearingmessages.ui
import androidx.compose.foundation.layout.Arrangement
import androidx.compose.foundation.layout.Box
@@ -27,6 +27,12 @@ import androidx.compose.ui.unit.dp
import androidx.compose.ui.unit.sp
import network.loki.messenger.R
import network.loki.messenger.libsession_util.util.ExpiryMode
+import org.thoughtcrime.securesms.conversation.disappearingmessages.Callbacks
+import org.thoughtcrime.securesms.conversation.disappearingmessages.CardModel
+import org.thoughtcrime.securesms.conversation.disappearingmessages.ExpiryType
+import org.thoughtcrime.securesms.conversation.disappearingmessages.NoOpCallbacks
+import org.thoughtcrime.securesms.conversation.disappearingmessages.State
+import org.thoughtcrime.securesms.conversation.disappearingmessages.UiState
import org.thoughtcrime.securesms.ui.CellNoMargin
import org.thoughtcrime.securesms.ui.Divider
import org.thoughtcrime.securesms.ui.OutlineButton
@@ -56,7 +62,7 @@ fun DisappearingMessages(
OptionsCard(it, callbacks)
}
- if (state.showGroupFooter) Text(text = stringResource(R.string.activity_expiration_settings_group_footer),
+ if (state.showGroupFooter) Text(text = stringResource(R.string.activity_disappearing_messages_group_footer),
style = TextStyle(
fontSize = 11.sp,
fontWeight = FontWeight(400),
@@ -67,7 +73,7 @@ fun DisappearingMessages(
}
if (state.showSetButton) OutlineButton(
- stringResource(R.string.expiration_settings_set_button_title),
+ stringResource(R.string.disappearing_messages_set_button_title),
modifier = Modifier
.align(Alignment.CenterHorizontally)
.padding(bottom = 20.dp),
@@ -90,51 +96,3 @@ fun OptionsCard(card: CardModel, callbacks: Callbacks) {
}
}
}
-
-@Preview(widthDp = 450, heightDp = 700)
-@Composable
-fun PreviewStates(
- @PreviewParameter(StatePreviewParameterProvider::class) state: State
-) {
- PreviewTheme(R.style.Classic_Dark) {
- DisappearingMessages(
- UiState(state)
- )
- }
-}
-
-class StatePreviewParameterProvider : PreviewParameterProvider {
- override val values = newConfigValues.filter { it.expiryType != ExpiryType.LEGACY } + newConfigValues.map { it.copy(isNewConfigEnabled = false) }
-
- private val newConfigValues get() = sequenceOf(
- // new 1-1
- State(expiryMode = ExpiryMode.NONE),
- State(expiryMode = ExpiryMode.Legacy(43200)),
- State(expiryMode = ExpiryMode.AfterRead(300)),
- State(expiryMode = ExpiryMode.AfterSend(43200)),
- // new group non-admin
- State(isGroup = true, isSelfAdmin = false),
- State(isGroup = true, isSelfAdmin = false, expiryMode = ExpiryMode.Legacy(43200)),
- State(isGroup = true, isSelfAdmin = false, expiryMode = ExpiryMode.AfterSend(43200)),
- // new group admin
- State(isGroup = true),
- State(isGroup = true, expiryMode = ExpiryMode.Legacy(43200)),
- State(isGroup = true, expiryMode = ExpiryMode.AfterSend(43200)),
- // new note-to-self
- State(isNoteToSelf = true),
- )
-}
-
-
-@Preview
-@Composable
-fun PreviewThemes(
- @PreviewParameter(ThemeResPreviewParameterProvider::class) themeResId: Int
-) {
- PreviewTheme(themeResId) {
- DisappearingMessages(
- UiState(State(expiryMode = ExpiryMode.AfterSend(43200))),
- modifier = Modifier.size(400.dp, 600.dp)
- )
- }
-}
diff --git a/app/src/main/java/org/thoughtcrime/securesms/conversation/disappearingmessages/ui/DisappearingMessagesPreview.kt b/app/src/main/java/org/thoughtcrime/securesms/conversation/disappearingmessages/ui/DisappearingMessagesPreview.kt
new file mode 100644
index 0000000000..5a166f74d4
--- /dev/null
+++ b/app/src/main/java/org/thoughtcrime/securesms/conversation/disappearingmessages/ui/DisappearingMessagesPreview.kt
@@ -0,0 +1,63 @@
+package org.thoughtcrime.securesms.conversation.disappearingmessages.ui
+
+import androidx.compose.foundation.layout.size
+import androidx.compose.runtime.Composable
+import androidx.compose.ui.Modifier
+import androidx.compose.ui.tooling.preview.Preview
+import androidx.compose.ui.tooling.preview.PreviewParameter
+import androidx.compose.ui.tooling.preview.PreviewParameterProvider
+import androidx.compose.ui.unit.dp
+import network.loki.messenger.R
+import network.loki.messenger.libsession_util.util.ExpiryMode
+import org.thoughtcrime.securesms.conversation.disappearingmessages.ExpiryType
+import org.thoughtcrime.securesms.conversation.disappearingmessages.State
+import org.thoughtcrime.securesms.conversation.disappearingmessages.UiState
+import org.thoughtcrime.securesms.ui.PreviewTheme
+import org.thoughtcrime.securesms.ui.ThemeResPreviewParameterProvider
+
+@Preview(widthDp = 450, heightDp = 700)
+@Composable
+fun PreviewStates(
+ @PreviewParameter(StatePreviewParameterProvider::class) state: State
+) {
+ PreviewTheme(R.style.Classic_Dark) {
+ DisappearingMessages(
+ UiState(state)
+ )
+ }
+}
+
+class StatePreviewParameterProvider : PreviewParameterProvider {
+ override val values = newConfigValues.filter { it.expiryType != ExpiryType.LEGACY } + newConfigValues.map { it.copy(isNewConfigEnabled = false) }
+
+ private val newConfigValues get() = sequenceOf(
+ // new 1-1
+ State(expiryMode = ExpiryMode.NONE),
+ State(expiryMode = ExpiryMode.Legacy(43200)),
+ State(expiryMode = ExpiryMode.AfterRead(300)),
+ State(expiryMode = ExpiryMode.AfterSend(43200)),
+ // new group non-admin
+ State(isGroup = true, isSelfAdmin = false),
+ State(isGroup = true, isSelfAdmin = false, expiryMode = ExpiryMode.Legacy(43200)),
+ State(isGroup = true, isSelfAdmin = false, expiryMode = ExpiryMode.AfterSend(43200)),
+ // new group admin
+ State(isGroup = true),
+ State(isGroup = true, expiryMode = ExpiryMode.Legacy(43200)),
+ State(isGroup = true, expiryMode = ExpiryMode.AfterSend(43200)),
+ // new note-to-self
+ State(isNoteToSelf = true),
+ )
+}
+
+@Preview
+@Composable
+fun PreviewThemes(
+ @PreviewParameter(ThemeResPreviewParameterProvider::class) themeResId: Int
+) {
+ PreviewTheme(themeResId) {
+ DisappearingMessages(
+ UiState(State(expiryMode = ExpiryMode.AfterSend(43200))),
+ modifier = Modifier.size(400.dp, 600.dp)
+ )
+ }
+}
diff --git a/app/src/main/java/org/thoughtcrime/securesms/conversation/v2/ConversationActivityV2.kt b/app/src/main/java/org/thoughtcrime/securesms/conversation/v2/ConversationActivityV2.kt
index 729d739b91..82df37b9f2 100644
--- a/app/src/main/java/org/thoughtcrime/securesms/conversation/v2/ConversationActivityV2.kt
+++ b/app/src/main/java/org/thoughtcrime/securesms/conversation/v2/ConversationActivityV2.kt
@@ -106,7 +106,7 @@ import org.thoughtcrime.securesms.attachments.ScreenshotObserver
import org.thoughtcrime.securesms.audio.AudioRecorder
import org.thoughtcrime.securesms.contacts.SelectContactsActivity.Companion.selectedContactsKey
import org.thoughtcrime.securesms.conversation.ConversationActionBarDelegate
-import org.thoughtcrime.securesms.conversation.expiration.ExpirationSettingsActivity
+import org.thoughtcrime.securesms.conversation.disappearingmessages.DisappearingMessagesActivity
import org.thoughtcrime.securesms.conversation.v2.ConversationReactionOverlay.OnActionSelectedListener
import org.thoughtcrime.securesms.conversation.v2.ConversationReactionOverlay.OnReactionSelectedListener
import org.thoughtcrime.securesms.conversation.v2.MessageDetailActivity.Companion.MESSAGE_TIMESTAMP
@@ -1123,8 +1123,8 @@ class ConversationActivityV2 : PassphraseRequiredActionBarActivity(), InputBarDe
// endregion
// region Interaction
- override fun onExpirationSettingClicked() {
- viewModel.recipient?.let { showExpirationSettings(it) }
+ override fun onDisappearingMessagesClicked() {
+ viewModel.recipient?.let { showDisappearingMessages(it) }
}
override fun onOptionsItemSelected(item: MenuItem): Boolean {
@@ -1170,14 +1170,13 @@ class ConversationActivityV2 : PassphraseRequiredActionBarActivity(), InputBarDe
Toast.makeText(this, R.string.copied_to_clipboard, Toast.LENGTH_SHORT).show()
}
- override fun showExpirationSettings(thread: Recipient) {
+ override fun showDisappearingMessages(thread: Recipient) {
if (thread.isClosedGroupRecipient) {
- val group = groupDb.getGroup(thread.address.toGroupString()).orNull()
- if (group?.isActive == false) { return }
+ groupDb.getGroup(thread.address.toGroupString()).orNull()?.run { if (isActive) return }
}
- val expirationIntent = Intent(this, ExpirationSettingsActivity::class.java)
- expirationIntent.putExtra(ExpirationSettingsActivity.THREAD_ID, viewModel.threadId)
- show(expirationIntent, true)
+ Intent(this, DisappearingMessagesActivity::class.java)
+ .apply { putExtra(DisappearingMessagesActivity.THREAD_ID, viewModel.threadId) }
+ .also { show(it, true) }
}
override fun unblock() {
diff --git a/app/src/main/java/org/thoughtcrime/securesms/conversation/v2/menus/ConversationMenuHelper.kt b/app/src/main/java/org/thoughtcrime/securesms/conversation/v2/menus/ConversationMenuHelper.kt
index c3b702f437..dadf138ead 100644
--- a/app/src/main/java/org/thoughtcrime/securesms/conversation/v2/menus/ConversationMenuHelper.kt
+++ b/app/src/main/java/org/thoughtcrime/securesms/conversation/v2/menus/ConversationMenuHelper.kt
@@ -131,7 +131,7 @@ object ConversationMenuHelper {
R.id.menu_view_all_media -> { showAllMedia(context, thread) }
R.id.menu_search -> { search(context) }
R.id.menu_add_shortcut -> { addShortcut(context, thread) }
- R.id.menu_expiring_messages -> { showExpirationSettings(context, thread) }
+ R.id.menu_expiring_messages -> { showDisappearingMessages(context, thread) }
R.id.menu_unblock -> { unblock(context, thread) }
R.id.menu_block -> { block(context, thread, deleteThread = false) }
R.id.menu_block_delete -> { blockAndDelete(context, thread) }
@@ -223,9 +223,9 @@ object ConversationMenuHelper {
}.execute()
}
- private fun showExpirationSettings(context: Context, thread: Recipient) {
+ private fun showDisappearingMessages(context: Context, thread: Recipient) {
val listener = context as? ConversationMenuListener ?: return
- listener.showExpirationSettings(thread)
+ listener.showDisappearingMessages(thread)
}
private fun unblock(context: Context, thread: Recipient) {
@@ -327,7 +327,7 @@ object ConversationMenuHelper {
fun unblock()
fun copySessionID(sessionId: String)
fun copyOpenGroupUrl(thread: Recipient)
- fun showExpirationSettings(thread: Recipient)
+ fun showDisappearingMessages(thread: Recipient)
}
}
\ No newline at end of file
diff --git a/app/src/main/java/org/thoughtcrime/securesms/database/Storage.kt b/app/src/main/java/org/thoughtcrime/securesms/database/Storage.kt
index 9d3baefc50..ded0941fba 100644
--- a/app/src/main/java/org/thoughtcrime/securesms/database/Storage.kt
+++ b/app/src/main/java/org/thoughtcrime/securesms/database/Storage.kt
@@ -78,7 +78,6 @@ import org.session.libsignal.utilities.IdPrefix
import org.session.libsignal.utilities.KeyHelper
import org.session.libsignal.utilities.Log
import org.session.libsignal.utilities.guava.Optional
-import org.thoughtcrime.securesms.conversation.expiration.type
import org.thoughtcrime.securesms.database.helpers.SQLCipherOpenHelper
import org.thoughtcrime.securesms.database.model.MessageId
import org.thoughtcrime.securesms.database.model.ReactionRecord
diff --git a/app/src/main/java/org/thoughtcrime/securesms/ui/Components.kt b/app/src/main/java/org/thoughtcrime/securesms/ui/Components.kt
index e30ba89383..9c72cbb78b 100644
--- a/app/src/main/java/org/thoughtcrime/securesms/ui/Components.kt
+++ b/app/src/main/java/org/thoughtcrime/securesms/ui/Components.kt
@@ -54,7 +54,7 @@ import kotlinx.coroutines.launch
import network.loki.messenger.R
import org.session.libsession.utilities.recipients.Recipient
import org.thoughtcrime.securesms.components.ProfilePictureView
-import org.thoughtcrime.securesms.conversation.expiration.OptionModel
+import org.thoughtcrime.securesms.conversation.disappearingmessages.OptionModel
import kotlin.math.min
@Composable
diff --git a/app/src/main/res/layout/activity_expiration_settings.xml b/app/src/main/res/layout/activity_disappearing_messages.xml
similarity index 85%
rename from app/src/main/res/layout/activity_expiration_settings.xml
rename to app/src/main/res/layout/activity_disappearing_messages.xml
index 4ea3966d05..8101297732 100644
--- a/app/src/main/res/layout/activity_expiration_settings.xml
+++ b/app/src/main/res/layout/activity_disappearing_messages.xml
@@ -12,9 +12,9 @@
android:layout_height="wrap_content"
android:background="?colorPrimary"
app:contentInsetStart="0dp"
- app:subtitle="@string/activity_expiration_settings_subtitle"
+ app:subtitle="@string/activity_disappearing_messages_subtitle"
app:subtitleTextAppearance="@style/TextAppearance.Session.ToolbarSubtitle"
- app:title="@string/activity_expiration_settings_title" />
+ app:title="@string/activity_disappearing_messages_title" />
Join
Navigate Back
Close Dialog
- Disappearing Messages
- This setting applies to everyone in this conversation.
+ Disappearing Messages
+ This setting applies to everyone in this conversation.
Original version of disappearing messages.
Legacy
- Messages disappear after they have been sent.
+ Messages disappear after they have been sent.
Disappear After Read
Messages delete after they have been read.
Disappear After Send
Messages delete after they have been sent.
- Set
- Delete Type
- Timer
- This setting applies to everyone in this conversation.\nOnly group admins can change this setting.
+ Set
+ Delete Type
+ Timer
+ This setting applies to everyone in this conversation.\nOnly group admins can change this setting.
%s is using an outdated client. Disappearing messages may not work as expected.
- Settings updated
- Settings not updated and please try again
+ Settings not updated and please try again
Database Upgrade Failed
Please contact support to report the error.
Syncing
diff --git a/app/src/test/java/org/thoughtcrime/securesms/conversation/expiration/ExpirationSettingsViewModelTest.kt b/app/src/test/java/org/thoughtcrime/securesms/conversation/disappearingmessages/DisappearingMessagesViewModelTest.kt
similarity index 93%
rename from app/src/test/java/org/thoughtcrime/securesms/conversation/expiration/ExpirationSettingsViewModelTest.kt
rename to app/src/test/java/org/thoughtcrime/securesms/conversation/disappearingmessages/DisappearingMessagesViewModelTest.kt
index 7061a81a66..2666ac8463 100644
--- a/app/src/test/java/org/thoughtcrime/securesms/conversation/expiration/ExpirationSettingsViewModelTest.kt
+++ b/app/src/test/java/org/thoughtcrime/securesms/conversation/disappearingmessages/DisappearingMessagesViewModelTest.kt
@@ -1,4 +1,4 @@
-package org.thoughtcrime.securesms.conversation.expiration
+package org.thoughtcrime.securesms.conversation.disappearingmessages
import android.app.Application
import com.google.common.truth.Truth.assertThat
@@ -41,7 +41,7 @@ private val GROUP_ADDRESS = Address.fromSerialized(GROUP_NUMBER)
@OptIn(ExperimentalCoroutinesApi::class)
@RunWith(MockitoJUnitRunner::class)
-class ExpirationSettingsViewModelTest {
+class DisappearingMessagesViewModelTest {
@ExperimentalCoroutinesApi
@get:Rule
@@ -84,7 +84,7 @@ class ExpirationSettingsViewModelTest {
).isEqualTo(
UiState(
CardModel(
- R.string.activity_expiration_settings_timer,
+ R.string.activity_disappearing_messages_timer,
typeOption(ExpiryMode.NONE, selected = true),
timeOption(ExpiryType.AFTER_SEND, 12.hours),
timeOption(ExpiryType.AFTER_SEND, 1.days),
@@ -123,7 +123,7 @@ class ExpirationSettingsViewModelTest {
).isEqualTo(
UiState(
CardModel(
- R.string.activity_expiration_settings_timer,
+ R.string.activity_disappearing_messages_timer,
typeOption(ExpiryMode.NONE, selected = true),
timeOption(ExpiryType.LEGACY, 12.hours),
timeOption(ExpiryType.LEGACY, 1.days),
@@ -162,7 +162,7 @@ class ExpirationSettingsViewModelTest {
).isEqualTo(
UiState(
CardModel(
- R.string.activity_expiration_settings_timer,
+ R.string.activity_disappearing_messages_timer,
typeOption(ExpiryMode.NONE, selected = true),
timeOption(ExpiryType.AFTER_SEND, 12.hours),
timeOption(ExpiryType.AFTER_SEND, 1.days),
@@ -202,7 +202,7 @@ class ExpirationSettingsViewModelTest {
).isEqualTo(
UiState(
CardModel(
- R.string.activity_expiration_settings_timer,
+ R.string.activity_disappearing_messages_timer,
typeOption(ExpiryMode.NONE, enabled = false, selected = true),
timeOption(ExpiryType.AFTER_SEND, 12.hours, enabled = false),
timeOption(ExpiryType.AFTER_SEND, 1.days, enabled = false),
@@ -244,7 +244,7 @@ class ExpirationSettingsViewModelTest {
).isEqualTo(
UiState(
CardModel(
- R.string.activity_expiration_settings_delete_type,
+ R.string.activity_disappearing_messages_delete_type,
typeOption(ExpiryMode.NONE, selected = true),
typeOption(12.hours, ExpiryType.AFTER_READ),
typeOption(1.days, ExpiryType.AFTER_SEND)
@@ -283,13 +283,13 @@ class ExpirationSettingsViewModelTest {
).isEqualTo(
UiState(
CardModel(
- R.string.activity_expiration_settings_delete_type,
+ R.string.activity_disappearing_messages_delete_type,
typeOption(ExpiryMode.NONE),
typeOption(time, ExpiryType.AFTER_READ),
typeOption(time, ExpiryType.AFTER_SEND, selected = true)
),
CardModel(
- GetString(R.string.activity_expiration_settings_timer),
+ GetString(R.string.activity_disappearing_messages_timer),
timeOption(ExpiryType.AFTER_SEND, 12.hours, selected = true),
timeOption(ExpiryType.AFTER_SEND, 1.days),
timeOption(ExpiryType.AFTER_SEND, 7.days),
@@ -329,14 +329,14 @@ class ExpirationSettingsViewModelTest {
).isEqualTo(
UiState(
CardModel(
- R.string.activity_expiration_settings_delete_type,
+ R.string.activity_disappearing_messages_delete_type,
typeOption(ExpiryMode.NONE),
typeOption(time, ExpiryType.LEGACY, selected = true),
typeOption(12.hours, ExpiryType.AFTER_READ, enabled = false),
typeOption(1.days, ExpiryType.AFTER_SEND, enabled = false)
),
CardModel(
- GetString(R.string.activity_expiration_settings_timer),
+ GetString(R.string.activity_disappearing_messages_timer),
timeOption(ExpiryType.LEGACY, 12.hours, selected = true),
timeOption(ExpiryType.LEGACY, 1.days),
timeOption(ExpiryType.LEGACY, 7.days),
@@ -376,13 +376,13 @@ class ExpirationSettingsViewModelTest {
).isEqualTo(
UiState(
CardModel(
- R.string.activity_expiration_settings_delete_type,
+ R.string.activity_disappearing_messages_delete_type,
typeOption(ExpiryMode.NONE),
typeOption(12.hours, ExpiryType.AFTER_READ),
typeOption(time, ExpiryType.AFTER_SEND, selected = true)
),
CardModel(
- GetString(R.string.activity_expiration_settings_timer),
+ GetString(R.string.activity_disappearing_messages_timer),
timeOption(ExpiryType.AFTER_SEND, 12.hours),
timeOption(ExpiryType.AFTER_SEND, 1.days, selected = true),
timeOption(ExpiryType.AFTER_SEND, 7.days),
@@ -423,13 +423,13 @@ class ExpirationSettingsViewModelTest {
).isEqualTo(
UiState(
CardModel(
- R.string.activity_expiration_settings_delete_type,
+ R.string.activity_disappearing_messages_delete_type,
typeOption(ExpiryMode.NONE),
typeOption(1.days, ExpiryType.AFTER_READ, selected = true),
typeOption(time, ExpiryType.AFTER_SEND)
),
CardModel(
- GetString(R.string.activity_expiration_settings_timer),
+ GetString(R.string.activity_disappearing_messages_timer),
timeOption(ExpiryType.AFTER_READ, 5.minutes),
timeOption(ExpiryType.AFTER_READ, 1.hours),
timeOption(ExpiryType.AFTER_READ, 12.hours),
@@ -476,13 +476,13 @@ class ExpirationSettingsViewModelTest {
).isEqualTo(
UiState(
CardModel(
- R.string.activity_expiration_settings_delete_type,
+ R.string.activity_disappearing_messages_delete_type,
typeOption(ExpiryMode.NONE),
typeOption(12.hours, ExpiryType.AFTER_READ),
typeOption(1.days, ExpiryType.AFTER_SEND, selected = true)
),
CardModel(
- GetString(R.string.activity_expiration_settings_timer),
+ GetString(R.string.activity_disappearing_messages_timer),
timeOption(ExpiryType.AFTER_SEND, 12.hours),
timeOption(ExpiryType.AFTER_SEND, 1.days, selected = true),
timeOption(ExpiryType.AFTER_SEND, 7.days),
@@ -547,7 +547,7 @@ class ExpirationSettingsViewModelTest {
updatedTimestampMs = 0
)
- private fun createViewModel(isNewConfigEnabled: Boolean = true) = ExpirationSettingsViewModel(
+ private fun createViewModel(isNewConfigEnabled: Boolean = true) = DisappearingMessagesViewModel(
THREAD_ID,
application,
textSecurePreferences,