Protect against multiple provision responses
Bug: 23573004
Change-Id: I9cbc7574d2019244f7198784372ce68d7e4d1fa2
diff --git a/src/com/android/settings/TetherService.java b/src/com/android/settings/TetherService.java
index 459dc27..9111332 100644
--- a/src/com/android/settings/TetherService.java
+++ b/src/com/android/settings/TetherService.java
@@ -69,7 +69,7 @@
@Override
public void onCreate() {
super.onCreate();
- if (DEBUG) Log.d(TAG, "Creating WifiProvisionService");
+ if (DEBUG) Log.d(TAG, "Creating TetherService");
String provisionResponse = getResources().getString(
com.android.internal.R.string.config_mobile_hotspot_provision_response);
registerReceiver(mReceiver, new IntentFilter(provisionResponse),
@@ -137,7 +137,7 @@
SharedPreferences prefs = getSharedPreferences(PREFS, MODE_PRIVATE);
prefs.edit().putString(KEY_TETHERS, tethersToString(mCurrentTethers)).commit();
- if (DEBUG) Log.d(TAG, "Destroying WifiProvisionService");
+ if (DEBUG) Log.d(TAG, "Destroying TetherService");
unregisterReceiver(mReceiver);
super.onDestroy();
}
@@ -262,6 +262,10 @@
String provisionResponse = context.getResources().getString(
com.android.internal.R.string.config_mobile_hotspot_provision_response);
if (provisionResponse.equals(intent.getAction())) {
+ if (!mInProvisionCheck) {
+ Log.e(TAG, "Unexpected provision response " + intent);
+ return;
+ }
mInProvisionCheck = false;
int checkType = mCurrentTethers.get(mCurrentTypeIndex);
if (intent.getIntExtra(EXTRA_RESULT, RESULT_DEFAULT) == RESULT_OK) {