mirror of
https://github.com/oxen-io/session-android.git
synced 2024-11-30 21:45:20 +00:00
feat: extract upgrade to HomeActivity.kt resume instead of access
This commit is contained in:
parent
645bf66424
commit
3c1b0ff1e1
@ -55,31 +55,32 @@ public class IdentityKeyUtil {
|
|||||||
public static final String LOKI_SEED = "loki_seed";
|
public static final String LOKI_SEED = "loki_seed";
|
||||||
public static final String HAS_MIGRATED_KEY = "has_migrated_keys";
|
public static final String HAS_MIGRATED_KEY = "has_migrated_keys";
|
||||||
|
|
||||||
public static boolean hasIdentityKey(Context context) {
|
private static SharedPreferences getSharedPreferences(Context context) {
|
||||||
SharedPreferences preferences = context.getSharedPreferences(MASTER_SECRET_UTIL_PREFERENCES_NAME, 0);
|
return context.getSharedPreferences(MASTER_SECRET_UTIL_PREFERENCES_NAME, 0);
|
||||||
|
}
|
||||||
|
|
||||||
boolean hasIdentityKey = (preferences.contains(IDENTITY_PUBLIC_KEY_PREF) &&
|
public static boolean hasIdentityKey(Context context) {
|
||||||
|
SharedPreferences preferences = getSharedPreferences(context);
|
||||||
|
|
||||||
|
return (preferences.contains(IDENTITY_PUBLIC_KEY_PREF) &&
|
||||||
preferences.contains(IDENTITY_PRIVATE_KEY_PREF))
|
preferences.contains(IDENTITY_PRIVATE_KEY_PREF))
|
||||||
|| (preferences.contains(IDENTITY_PUBLIC_KEY_PREF+ENCRYPTED_SUFFIX) &&
|
|| (preferences.contains(IDENTITY_PUBLIC_KEY_PREF+ENCRYPTED_SUFFIX) &&
|
||||||
preferences.contains(IDENTITY_PRIVATE_KEY_PREF+ENCRYPTED_SUFFIX));
|
preferences.contains(IDENTITY_PRIVATE_KEY_PREF+ENCRYPTED_SUFFIX));
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void checkUpdate(Context context) {
|
||||||
|
SharedPreferences preferences = getSharedPreferences(context);
|
||||||
// check if any keys are not migrated
|
// check if any keys are not migrated
|
||||||
if (hasIdentityKey && !preferences.getBoolean(HAS_MIGRATED_KEY, false)) {
|
if (hasIdentityKey(context) && !preferences.getBoolean(HAS_MIGRATED_KEY, false)) {
|
||||||
// this will retrieve and force upgrade if possible
|
// this will retrieve and force upgrade if possible
|
||||||
checkUpdate(context);
|
|
||||||
preferences.edit().putBoolean(HAS_MIGRATED_KEY, true).apply();
|
|
||||||
}
|
|
||||||
|
|
||||||
return hasIdentityKey;
|
|
||||||
}
|
|
||||||
|
|
||||||
private static void checkUpdate(Context context) {
|
|
||||||
// retrieve will force upgrade if available
|
// retrieve will force upgrade if available
|
||||||
retrieve(context,IDENTITY_PUBLIC_KEY_PREF);
|
retrieve(context,IDENTITY_PUBLIC_KEY_PREF);
|
||||||
retrieve(context,IDENTITY_PRIVATE_KEY_PREF);
|
retrieve(context,IDENTITY_PRIVATE_KEY_PREF);
|
||||||
retrieve(context,ED25519_PUBLIC_KEY);
|
retrieve(context,ED25519_PUBLIC_KEY);
|
||||||
retrieve(context,ED25519_SECRET_KEY);
|
retrieve(context,ED25519_SECRET_KEY);
|
||||||
retrieve(context,LOKI_SEED);
|
retrieve(context,LOKI_SEED);
|
||||||
|
preferences.edit().putBoolean(HAS_MIGRATED_KEY, true).apply();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public static @NonNull IdentityKey getIdentityKey(@NonNull Context context) {
|
public static @NonNull IdentityKey getIdentityKey(@NonNull Context context) {
|
||||||
|
@ -29,15 +29,14 @@ import org.greenrobot.eventbus.EventBus
|
|||||||
import org.greenrobot.eventbus.Subscribe
|
import org.greenrobot.eventbus.Subscribe
|
||||||
import org.greenrobot.eventbus.ThreadMode
|
import org.greenrobot.eventbus.ThreadMode
|
||||||
import org.session.libsession.messaging.jobs.JobQueue
|
import org.session.libsession.messaging.jobs.JobQueue
|
||||||
import org.session.libsession.messaging.mentions.MentionsManager
|
|
||||||
import org.session.libsession.messaging.sending_receiving.MessageSender
|
import org.session.libsession.messaging.sending_receiving.MessageSender
|
||||||
import org.session.libsession.messaging.sending_receiving.pollers.OpenGroupPollerV2
|
|
||||||
import org.session.libsession.utilities.*
|
import org.session.libsession.utilities.*
|
||||||
import org.session.libsignal.utilities.toHexString
|
|
||||||
import org.session.libsignal.utilities.ThreadUtils
|
import org.session.libsignal.utilities.ThreadUtils
|
||||||
|
import org.session.libsignal.utilities.toHexString
|
||||||
import org.thoughtcrime.securesms.ApplicationContext
|
import org.thoughtcrime.securesms.ApplicationContext
|
||||||
import org.thoughtcrime.securesms.PassphraseRequiredActionBarActivity
|
import org.thoughtcrime.securesms.PassphraseRequiredActionBarActivity
|
||||||
import org.thoughtcrime.securesms.conversation.ConversationActivity
|
import org.thoughtcrime.securesms.conversation.ConversationActivity
|
||||||
|
import org.thoughtcrime.securesms.crypto.IdentityKeyUtil
|
||||||
import org.thoughtcrime.securesms.database.DatabaseFactory
|
import org.thoughtcrime.securesms.database.DatabaseFactory
|
||||||
import org.thoughtcrime.securesms.database.model.ThreadRecord
|
import org.thoughtcrime.securesms.database.model.ThreadRecord
|
||||||
import org.thoughtcrime.securesms.loki.api.OpenGroupManager
|
import org.thoughtcrime.securesms.loki.api.OpenGroupManager
|
||||||
@ -155,8 +154,8 @@ class HomeActivity : PassphraseRequiredActionBarActivity(), ConversationClickLis
|
|||||||
|
|
||||||
override fun onResume() {
|
override fun onResume() {
|
||||||
super.onResume()
|
super.onResume()
|
||||||
if (TextSecurePreferences.getLocalNumber(this) == null) {
|
if (TextSecurePreferences.getLocalNumber(this) == null) { return; } // This can be the case after a secondary device is auto-cleared
|
||||||
return; } // This can be the case after a secondary device is auto-cleared
|
IdentityKeyUtil.checkUpdate(this)
|
||||||
profileButton.recycle() // clear cached image before update tje profilePictureView
|
profileButton.recycle() // clear cached image before update tje profilePictureView
|
||||||
profileButton.update()
|
profileButton.update()
|
||||||
val hasViewedSeed = TextSecurePreferences.getHasViewedSeed(this)
|
val hasViewedSeed = TextSecurePreferences.getHasViewedSeed(this)
|
||||||
|
Loading…
Reference in New Issue
Block a user