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) {