fix experience upgrade versioning

Closes #4169
// FREEBIE
This commit is contained in:
Jake McGinty
2015-10-01 15:21:21 -07:00
committed by Moxie Marlinspike
parent ff1f190110
commit d071625326
5 changed files with 25 additions and 12 deletions

View File

@@ -38,7 +38,7 @@ public class ExperienceUpgradeActivity extends BaseActionBarActivity {
private static final int NOTIFICATION_ID = 1339;
private enum ExperienceUpgrade {
SIGNAL_REBRANDING(155,
SIGNAL_REBRANDING(157,
new IntroPage(0xFF2090EA,
BasicIntroFragment.newInstance(R.drawable.splash_logo,
R.string.ExperienceUpgradeActivity_welcome_to_signal_dgaf,
@@ -105,9 +105,9 @@ public class ExperienceUpgradeActivity extends BaseActionBarActivity {
super.onCreate(savedInstanceState);
setStatusBarColor(getResources().getColor(R.color.signal_primary_dark));
Optional<ExperienceUpgrade> upgrade = getExperienceUpgrade(this);
final Optional<ExperienceUpgrade> upgrade = getExperienceUpgrade(this);
if (!upgrade.isPresent()) {
onContinue();
onContinue(upgrade);
return;
}
@@ -128,7 +128,7 @@ public class ExperienceUpgradeActivity extends BaseActionBarActivity {
fab.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
onContinue();
onContinue(upgrade);
}
});
@@ -143,8 +143,11 @@ public class ExperienceUpgradeActivity extends BaseActionBarActivity {
}
}
private void onContinue() {
TextSecurePreferences.setLastExperienceVersionCode(this, Util.getCurrentApkReleaseVersion(this));
private void onContinue(Optional<ExperienceUpgrade> seenUpgrade) {
ServiceUtil.getNotificationManager(this).cancel(NOTIFICATION_ID);
int latestVersion = seenUpgrade.isPresent() ? seenUpgrade.get().getVersion()
: Util.getCurrentApkReleaseVersion(this);
TextSecurePreferences.setLastExperienceVersionCode(this, latestVersion);
startActivity((Intent)getIntent().getParcelableExtra("next_intent"));
finish();
}
@@ -158,7 +161,7 @@ public class ExperienceUpgradeActivity extends BaseActionBarActivity {
final int lastSeenVersion = TextSecurePreferences.getLastExperienceVersionCode(context);
Log.w(TAG, "getExperienceUpgrade(" + lastSeenVersion + ")");
if (lastSeenVersion >= currentVersionCode || lastSeenVersion == 0) {
if (lastSeenVersion >= currentVersionCode) {
TextSecurePreferences.setLastExperienceVersionCode(context, currentVersionCode);
return Optional.absent();
}

View File

@@ -24,6 +24,7 @@ import org.thoughtcrime.securesms.crypto.IdentityKeyUtil;
import org.thoughtcrime.securesms.crypto.MasterSecret;
import org.thoughtcrime.securesms.crypto.MasterSecretUtil;
import org.thoughtcrime.securesms.util.TextSecurePreferences;
import org.thoughtcrime.securesms.util.Util;
import org.thoughtcrime.securesms.util.VersionTracker;
/**
@@ -68,6 +69,7 @@ public class PassphraseCreateActivity extends PassphraseActivity {
MasterSecretUtil.generateAsymmetricMasterSecret(PassphraseCreateActivity.this, masterSecret);
IdentityKeyUtil.generateIdentityKeys(PassphraseCreateActivity.this);
VersionTracker.updateLastSeenVersion(PassphraseCreateActivity.this);
TextSecurePreferences.setLastExperienceVersionCode(PassphraseCreateActivity.this, Util.getCurrentApkReleaseVersion(PassphraseCreateActivity.this));
TextSecurePreferences.setPasswordDisabled(PassphraseCreateActivity.this, true);
return null;