Keep muted chats archived option.

This commit is contained in:
Nicholas
2022-11-02 14:31:25 -04:00
committed by Cody Henthorne
parent c674d5b674
commit 5e25e8d0a2
9 changed files with 77 additions and 27 deletions

View File

@@ -105,6 +105,7 @@ public final class FeatureFlags {
private static final String SMS_EXPORT_MEGAPHONE_DELAY_DAYS = "android.smsExport.megaphoneDelayDays.2";
public static final String CREDIT_CARD_PAYMENTS = "android.credit.card.payments";
private static final String PAYMENTS_REQUEST_ACTIVATE_FLOW = "android.payments.requestActivateFlow";
private static final String KEEP_MUTED_CHATS_ARCHIVED = "android.keepMutedChatsArchived";
/**
* We will only store remote values for flags in this set. If you want a flag to be controllable
@@ -161,7 +162,8 @@ public final class FeatureFlags {
HIDE_CONTACTS,
SMS_EXPORT_MEGAPHONE_DELAY_DAYS,
CREDIT_CARD_PAYMENTS,
PAYMENTS_REQUEST_ACTIVATE_FLOW
PAYMENTS_REQUEST_ACTIVATE_FLOW,
KEEP_MUTED_CHATS_ARCHIVED
);
@VisibleForTesting
@@ -225,7 +227,8 @@ public final class FeatureFlags {
STORIES,
SMS_EXPORT_MEGAPHONE_DELAY_DAYS,
CREDIT_CARD_PAYMENTS,
PAYMENTS_REQUEST_ACTIVATE_FLOW
PAYMENTS_REQUEST_ACTIVATE_FLOW,
KEEP_MUTED_CHATS_ARCHIVED
);
/**
@@ -578,6 +581,13 @@ public final class FeatureFlags {
return getBoolean(PAYMENTS_REQUEST_ACTIVATE_FLOW, false);
}
/**
* Whether users can enable keeping conversations with incoming messages archived if the conversation is muted.
*/
public static boolean keepMutedChatsArchived() {
return getBoolean(KEEP_MUTED_CHATS_ARCHIVED, false);
}
/** Only for rendering debug info. */
public static synchronized @NonNull Map<String, Object> getMemoryValues() {
return new TreeMap<>(REMOTE_VALUES);

View File

@@ -22,6 +22,7 @@ import org.thoughtcrime.securesms.database.MessageDatabase.InsertResult;
import org.thoughtcrime.securesms.database.SignalDatabase;
import org.thoughtcrime.securesms.database.model.IdentityRecord;
import org.thoughtcrime.securesms.dependencies.ApplicationDependencies;
import org.thoughtcrime.securesms.keyvalue.SignalStore;
import org.thoughtcrime.securesms.notifications.v2.ConversationId;
import org.thoughtcrime.securesms.recipients.Recipient;
import org.thoughtcrime.securesms.recipients.RecipientId;
@@ -112,7 +113,8 @@ public final class IdentityUtil {
Log.i(TAG, "Inserting verified outbox...");
SignalDatabase.sms().insertMessageOutbox(threadId, outgoing, false, time, null);
SignalDatabase.threads().update(threadId, true);
boolean keepThreadArchived = SignalStore.settings().shouldKeepMutedChatsArchived() && recipient.isMuted();
SignalDatabase.threads().update(threadId, !keepThreadArchived);
}
}