Add pre-release config flag and client version detection

This commit is contained in:
charles
2022-12-08 13:38:53 +11:00
parent b06ef713c2
commit d70bfe5614
9 changed files with 62 additions and 10 deletions

View File

@@ -53,6 +53,7 @@ import org.session.libsession.messaging.MessagingModuleConfiguration
import org.session.libsession.messaging.contacts.Contact
import org.session.libsession.messaging.mentions.Mention
import org.session.libsession.messaging.mentions.MentionsManager
import org.session.libsession.messaging.messages.ExpirationConfiguration
import org.session.libsession.messaging.messages.control.DataExtractionNotification
import org.session.libsession.messaging.messages.signal.OutgoingMediaMessage
import org.session.libsession.messaging.messages.signal.OutgoingTextMessage
@@ -570,7 +571,7 @@ class ConversationActivityV2 : PassphraseRequiredActionBarActivity(), InputBarDe
private fun setUpOutdatedClientBanner() {
val recipient = viewModel.recipient ?: return
if (recipient.expireMessages == 0) { return }
if (recipient.expireMessages == 0 || !ExpirationConfiguration.isNewConfigEnabled) { return }
binding?.outdatedBannerTextView?.text =
resources.getString(R.string.activity_conversation_outdated_client_banner_text, recipient.name)
binding?.outdatedBanner?.isVisible = true

View File

@@ -13,6 +13,7 @@ import com.annimon.stream.Stream;
import net.sqlcipher.database.SQLiteDatabase;
import org.jetbrains.annotations.NotNull;
import org.session.libsession.utilities.Address;
import org.session.libsession.utilities.MaterialColor;
import org.session.libsession.utilities.Util;
@@ -47,6 +48,7 @@ public class RecipientDatabase extends Database {
private static final String SEEN_INVITE_REMINDER = "seen_invite_reminder";
private static final String DEFAULT_SUBSCRIPTION_ID = "default_subscription_id";
static final String EXPIRE_MESSAGES = "expire_messages";
private static final String DISAPPEARING_STATE = "disappearing_state";
private static final String REGISTERED = "registered";
private static final String PROFILE_KEY = "profile_key";
private static final String SYSTEM_DISPLAY_NAME = "system_display_name";
@@ -415,6 +417,14 @@ public class RecipientDatabase extends Database {
return returnList;
}
public void setDisappearingState(@NotNull Recipient recipient, @NotNull Recipient.DisappearingState disappearingState) {
ContentValues values = new ContentValues();
values.put(DISAPPEARING_STATE, disappearingState.getId());
updateOrInsert(recipient.getAddress(), values);
recipient.resolve().setDisappearingState(disappearingState);
notifyRecipientListeners();
}
public static class RecipientReader implements Closeable {
private final Context context;

View File

@@ -4,6 +4,7 @@ import android.content.Context
import android.net.Uri
import org.session.libsession.database.StorageProtocol
import org.session.libsession.messaging.BlindedIdMapping
import org.session.libsession.messaging.MessagingModuleConfiguration
import org.session.libsession.messaging.calls.CallMessageType
import org.session.libsession.messaging.contacts.Contact
import org.session.libsession.messaging.jobs.AttachmentUploadJob
@@ -974,4 +975,8 @@ class Storage(context: Context, helper: SQLCipherOpenHelper) : Database(context,
return emptyList()
}
override fun updateDisappearingState(address: String, disappearingState: Recipient.DisappearingState) {
val recipient = Recipient.from(MessagingModuleConfiguration.shared.context, fromSerialized(address), false)
DatabaseComponent.get(context).recipientDatabase().setDisappearingState(recipient, disappearingState);
}
}