diff options
| -rw-r--r-- | app/build.gradle | 2 | ||||
| -rw-r--r-- | app/src/main/java/se/leap/bitmaskclient/Dashboard.java | 12 | ||||
| -rw-r--r-- | app/src/main/java/se/leap/bitmaskclient/StartActivity.java | 7 | 
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(); +    } +  }  | 
