summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFup Duck <fupduck@sacknagel.com>2018-01-11 15:55:54 +0100
committerFup Duck <fupduck@sacknagel.com>2018-01-11 15:55:54 +0100
commitcf3e7cf082127519cd16bdf48bd1ccecf47579b9 (patch)
tree4c8a464acaae0bf8a330a8a7d040eb111b452508
parent68d6eb91436d0d145fd340056fd8000f7dd1ff34 (diff)
save app version on first start
-rw-r--r--app/build.gradle2
-rw-r--r--app/src/main/java/se/leap/bitmaskclient/Dashboard.java12
-rw-r--r--app/src/main/java/se/leap/bitmaskclient/StartActivity.java7
3 files changed, 16 insertions, 5 deletions
diff --git a/app/build.gradle b/app/build.gradle
index 52c64ab7..94c6fa74 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -5,7 +5,7 @@ apply plugin: 'com.android.application'
android {
compileSdkVersion 26
- buildToolsVersion '26.0.0'
+ buildToolsVersion '26.0.2'
defaultConfig {
applicationId "se.leap.bitmaskclient"
diff --git a/app/src/main/java/se/leap/bitmaskclient/Dashboard.java b/app/src/main/java/se/leap/bitmaskclient/Dashboard.java
index 861ce801..755aaf33 100644
--- a/app/src/main/java/se/leap/bitmaskclient/Dashboard.java
+++ b/app/src/main/java/se/leap/bitmaskclient/Dashboard.java
@@ -408,13 +408,21 @@ public class Dashboard extends Activity implements ProviderAPIResultReceiver.Rec
private void switchProvider() {
if (provider.hasEIP()) eip_fragment.stopEipIfPossible();
+ clearDataOfLastProvider();
+
+ switching_provider = false;
+ startActivityForResult(new Intent(this, ConfigurationWizard.class), SWITCH_PROVIDER);
+ }
+
+ private void clearDataOfLastProvider() {
Map<String, ?> allEntries = preferences.getAll();
List<String> lastProvidersKeys = new ArrayList<>();
for (Map.Entry<String, ?> entry : allEntries.entrySet()) {
//sort out all preferences that don't belong to the last provider
if (entry.getKey().startsWith(Provider.KEY + ".") ||
entry.getKey().startsWith(Provider.CA_CERT + ".") ||
- entry.getKey().startsWith(Provider.CA_CERT_FINGERPRINT + ".")
+ entry.getKey().startsWith(Provider.CA_CERT_FINGERPRINT + "." )||
+ entry.getKey().equals(Constants.PREFERENCES_APP_VERSION)
) {
continue;
}
@@ -427,8 +435,6 @@ public class Dashboard extends Activity implements ProviderAPIResultReceiver.Rec
}
preferenceEditor.apply();
- switching_provider = false;
- startActivityForResult(new Intent(this, ConfigurationWizard.class), SWITCH_PROVIDER);
}
@Override
diff --git a/app/src/main/java/se/leap/bitmaskclient/StartActivity.java b/app/src/main/java/se/leap/bitmaskclient/StartActivity.java
index 2bfe650a..ec972a75 100644
--- a/app/src/main/java/se/leap/bitmaskclient/StartActivity.java
+++ b/app/src/main/java/se/leap/bitmaskclient/StartActivity.java
@@ -48,6 +48,7 @@ public class StartActivity extends Activity {
break;
case FIRST:
+ storeAppVersion();
// TODO start ProfileCreation & replace below code
break;
@@ -120,7 +121,7 @@ public class StartActivity extends Activity {
}
// ensure all upgrades have passed before storing new information
- preferences.edit().putInt(Constants.PREFERENCES_APP_VERSION, versionCode).apply();
+ storeAppVersion();
}
/**
@@ -132,4 +133,8 @@ public class StartActivity extends Activity {
return previousVersionCode < featureVersionCode && versionCode >= featureVersionCode;
}
+ private void storeAppVersion() {
+ preferences.edit().putInt(Constants.PREFERENCES_APP_VERSION, versionCode).apply();
+ }
+
}