From 359170f4b08ca307568327c0546585800c413918 Mon Sep 17 00:00:00 2001 From: Jason Monk Date: Tue, 1 Sep 2015 13:20:55 -0400 Subject: [PATCH] Protect against multiple provision responses Bug: 23573004 Change-Id: I9cbc7574d2019244f7198784372ce68d7e4d1fa2 --- src/com/android/settings/TetherService.java | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/com/android/settings/TetherService.java b/src/com/android/settings/TetherService.java index 459dc276be7..9111332d8b4 100644 --- a/src/com/android/settings/TetherService.java +++ b/src/com/android/settings/TetherService.java @@ -69,7 +69,7 @@ public class TetherService extends Service { @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 @@ public class TetherService extends Service { 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 @@ public class TetherService extends Service { 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) {