From ff83944dbfe81e88ee22a2d5f1618da4f97b2b50 Mon Sep 17 00:00:00 2001 From: cyBerta Date: Mon, 25 Jul 2022 17:27:28 +0200 Subject: never update ProviderOberservable with a null provider, use a default provider object instead --- .../se/leap/bitmaskclient/base/StartActivity.java | 31 +++++++++------------- 1 file changed, 13 insertions(+), 18 deletions(-) (limited to 'app/src/main/java/se/leap/bitmaskclient/base/StartActivity.java') diff --git a/app/src/main/java/se/leap/bitmaskclient/base/StartActivity.java b/app/src/main/java/se/leap/bitmaskclient/base/StartActivity.java index 80056925..2ccbe514 100644 --- a/app/src/main/java/se/leap/bitmaskclient/base/StartActivity.java +++ b/app/src/main/java/se/leap/bitmaskclient/base/StartActivity.java @@ -153,7 +153,7 @@ public class StartActivity extends Activity{ Provider provider = ProviderObservable.getInstance().getCurrentProvider(); if (provider != null && !provider.isDefault()) { PreferenceHelper.deleteProviderDetailsFromPreferences(preferences, provider.getDomain()); - ProviderObservable.getInstance().updateProvider(null); + ProviderObservable.getInstance().updateProvider(new Provider()); } } @@ -192,24 +192,19 @@ public class StartActivity extends Activity{ } private void prepareEIP() { - boolean providerExists = ProviderObservable.getInstance().getCurrentProvider() != null; - if (providerExists) { - Provider provider = ProviderObservable.getInstance().getCurrentProvider(); - if(!provider.isConfigured()) { - configureLeapProvider(); + Provider provider = ProviderObservable.getInstance().getCurrentProvider(); + if (provider.isConfigured()) { + Log.d(TAG, "vpn provider is configured"); + if (getIntent() != null && getIntent().getBooleanExtra(EIP_RESTART_ON_BOOT, false)) { + EipCommand.startVPN(this, true); + finish(); + } else if (PreferenceHelper.getRestartOnUpdate(this.getApplicationContext())) { + PreferenceHelper.restartOnUpdate(this.getApplicationContext(), false); + EipCommand.startVPN(this, false); + showMainActivity(); + finish(); } else { - Log.d(TAG, "vpn provider is configured"); - if (getIntent() != null && getIntent().getBooleanExtra(EIP_RESTART_ON_BOOT, false)) { - EipCommand.startVPN(this, true); - finish(); - } else if (PreferenceHelper.getRestartOnUpdate(this.getApplicationContext())) { - PreferenceHelper.restartOnUpdate(this.getApplicationContext(), false); - EipCommand.startVPN(this, false); - showMainActivity(); - finish(); - } else { - showMainActivity(); - } + showMainActivity(); } } else { configureLeapProvider(); -- cgit v1.2.3