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

@ -11,19 +11,19 @@
android:layout_weight="1" android:layout_weight="1"
android:textAppearance="?android:attr/textAppearanceMedium" android:textAppearance="?android:attr/textAppearanceMedium"
android:id="@+id/blurb" android:id="@+id/blurb"
android:textSize="34sp" android:textSize="@dimen/onboarding_title_size"
android:textIsSelectable="false" android:textIsSelectable="false"
android:gravity="center_horizontal|bottom" android:gravity="center_horizontal|bottom"
android:paddingLeft="20dp" android:paddingLeft="20dp"
android:paddingRight="20dp" android:paddingRight="20dp"
android:fontFamily="sans-serif-light" android:fontFamily="sans-serif-light"
tools:text="@string/ExperienceUpgradeActivity_welcome_to_signal" tools:text="@string/ExperienceUpgradeActivity_welcome_to_signal_dgaf"
android:textColor="@android:color/white" /> android:textColor="@android:color/white" />
<ImageView android:id="@+id/watermark" <ImageView android:id="@+id/watermark"
android:layout_width="@dimen/onboarding_watermark_size" android:layout_width="@dimen/onboarding_watermark_size"
android:layout_height="0dp" android:layout_height="0dp"
android:layout_weight="2" android:layout_weight="1"
android:maxHeight="@dimen/onboarding_watermark_size" android:maxHeight="@dimen/onboarding_watermark_size"
android:scaleType="fitCenter" android:scaleType="fitCenter"
tools:src="@drawable/splash_logo" tools:src="@drawable/splash_logo"
@ -34,9 +34,9 @@
<TextView android:layout_width="match_parent" <TextView android:layout_width="match_parent"
android:layout_height="0dp" android:layout_height="0dp"
android:layout_weight="3" android:layout_weight="2"
android:id="@+id/subblurb" android:id="@+id/subblurb"
android:textSize="20sp" android:textSize="@dimen/onboarding_subtitle_size"
android:textIsSelectable="false" android:textIsSelectable="false"
android:gravity="center_horizontal" android:gravity="center_horizontal"
android:layout_marginTop="20dp" android:layout_marginTop="20dp"

View File

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<dimen name="onboarding_watermark_size">120dp</dimen>
<dimen name="onboarding_title_size">32sp</dimen>
<dimen name="onboarding_subtitle_size">18sp</dimen>
</resources>

View File

@ -59,4 +59,6 @@
<dimen name="onboarding_margin_vert">35dp</dimen> <dimen name="onboarding_margin_vert">35dp</dimen>
<dimen name="onboarding_margin_land">20dp</dimen> <dimen name="onboarding_margin_land">20dp</dimen>
<dimen name="onboarding_watermark_size">140dp</dimen> <dimen name="onboarding_watermark_size">140dp</dimen>
<dimen name="onboarding_title_size">34sp</dimen>
<dimen name="onboarding_subtitle_size">20sp</dimen>
</resources> </resources>

View File

@ -38,7 +38,7 @@ public class ExperienceUpgradeActivity extends BaseActionBarActivity {
private static final int NOTIFICATION_ID = 1339; private static final int NOTIFICATION_ID = 1339;
private enum ExperienceUpgrade { private enum ExperienceUpgrade {
SIGNAL_REBRANDING(155, SIGNAL_REBRANDING(157,
new IntroPage(0xFF2090EA, new IntroPage(0xFF2090EA,
BasicIntroFragment.newInstance(R.drawable.splash_logo, BasicIntroFragment.newInstance(R.drawable.splash_logo,
R.string.ExperienceUpgradeActivity_welcome_to_signal_dgaf, R.string.ExperienceUpgradeActivity_welcome_to_signal_dgaf,
@ -105,9 +105,9 @@ public class ExperienceUpgradeActivity extends BaseActionBarActivity {
super.onCreate(savedInstanceState); super.onCreate(savedInstanceState);
setStatusBarColor(getResources().getColor(R.color.signal_primary_dark)); setStatusBarColor(getResources().getColor(R.color.signal_primary_dark));
Optional<ExperienceUpgrade> upgrade = getExperienceUpgrade(this); final Optional<ExperienceUpgrade> upgrade = getExperienceUpgrade(this);
if (!upgrade.isPresent()) { if (!upgrade.isPresent()) {
onContinue(); onContinue(upgrade);
return; return;
} }
@ -128,7 +128,7 @@ public class ExperienceUpgradeActivity extends BaseActionBarActivity {
fab.setOnClickListener(new OnClickListener() { fab.setOnClickListener(new OnClickListener() {
@Override @Override
public void onClick(View v) { public void onClick(View v) {
onContinue(); onContinue(upgrade);
} }
}); });
@ -143,8 +143,11 @@ public class ExperienceUpgradeActivity extends BaseActionBarActivity {
} }
} }
private void onContinue() { private void onContinue(Optional<ExperienceUpgrade> seenUpgrade) {
TextSecurePreferences.setLastExperienceVersionCode(this, Util.getCurrentApkReleaseVersion(this)); 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")); startActivity((Intent)getIntent().getParcelableExtra("next_intent"));
finish(); finish();
} }
@ -158,7 +161,7 @@ public class ExperienceUpgradeActivity extends BaseActionBarActivity {
final int lastSeenVersion = TextSecurePreferences.getLastExperienceVersionCode(context); final int lastSeenVersion = TextSecurePreferences.getLastExperienceVersionCode(context);
Log.w(TAG, "getExperienceUpgrade(" + lastSeenVersion + ")"); Log.w(TAG, "getExperienceUpgrade(" + lastSeenVersion + ")");
if (lastSeenVersion >= currentVersionCode || lastSeenVersion == 0) { if (lastSeenVersion >= currentVersionCode) {
TextSecurePreferences.setLastExperienceVersionCode(context, currentVersionCode); TextSecurePreferences.setLastExperienceVersionCode(context, currentVersionCode);
return Optional.absent(); 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.MasterSecret;
import org.thoughtcrime.securesms.crypto.MasterSecretUtil; import org.thoughtcrime.securesms.crypto.MasterSecretUtil;
import org.thoughtcrime.securesms.util.TextSecurePreferences; import org.thoughtcrime.securesms.util.TextSecurePreferences;
import org.thoughtcrime.securesms.util.Util;
import org.thoughtcrime.securesms.util.VersionTracker; import org.thoughtcrime.securesms.util.VersionTracker;
/** /**
@ -68,6 +69,7 @@ public class PassphraseCreateActivity extends PassphraseActivity {
MasterSecretUtil.generateAsymmetricMasterSecret(PassphraseCreateActivity.this, masterSecret); MasterSecretUtil.generateAsymmetricMasterSecret(PassphraseCreateActivity.this, masterSecret);
IdentityKeyUtil.generateIdentityKeys(PassphraseCreateActivity.this); IdentityKeyUtil.generateIdentityKeys(PassphraseCreateActivity.this);
VersionTracker.updateLastSeenVersion(PassphraseCreateActivity.this); VersionTracker.updateLastSeenVersion(PassphraseCreateActivity.this);
TextSecurePreferences.setLastExperienceVersionCode(PassphraseCreateActivity.this, Util.getCurrentApkReleaseVersion(PassphraseCreateActivity.this));
TextSecurePreferences.setPasswordDisabled(PassphraseCreateActivity.this, true); TextSecurePreferences.setPasswordDisabled(PassphraseCreateActivity.this, true);
return null; return null;