diff options
-rw-r--r-- | service/java/com/android/server/wifi/WifiController.java | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/service/java/com/android/server/wifi/WifiController.java b/service/java/com/android/server/wifi/WifiController.java index 71735f5..320db8d 100644 --- a/service/java/com/android/server/wifi/WifiController.java +++ b/service/java/com/android/server/wifi/WifiController.java @@ -36,6 +36,7 @@ import android.os.Message; import android.os.SystemClock; import android.os.WorkSource; import android.provider.Settings; +import android.telephony.SubscriptionInfo; import android.telephony.SubscriptionManager; import android.util.Slog; @@ -631,13 +632,27 @@ class WifiController extends StateMachine { public void enter() { mSubListener = new SubscriptionManager.OnSubscriptionsChangedListener() { boolean firstChange = true; + SubscriptionInfo lastSub; @Override public void onSubscriptionsChanged() { + final SubscriptionInfo currentSub = SubscriptionManager.from(mContext) + .getDefaultDataSubscriptionInfo(); if (firstChange) { + lastSub = currentSub; // we always get a state change on registration. firstChange = false; return; } + if (currentSub == null) { + // don't disable when we're not sure yet. + return; + } + if (lastSub != null && currentSub.getSubscriptionId() + == lastSub.getSubscriptionId()) { + // don't disable if it's the same subscription + return; + } + lastSub = currentSub; Toast.makeText(mContext, com.android.internal.R.string.subscription_change_disabled_wifi_ap, Toast.LENGTH_SHORT).show(); |