summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--service/java/com/android/server/wifi/WifiController.java15
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();