Reload APNs setting page when receive the intent ACTION_SUBSCRIPTION_CARRIER_IDENTITY_CHANGED
Bug: 77250264
Test: Manual testing
Change-Id: Ie28c67c89a2590425ff9c06153b53dac6cf141f0
Merged-In: Ie28c67c89a2590425ff9c06153b53dac6cf141f0
diff --git a/src/com/android/settings/network/ApnSettings.java b/src/com/android/settings/network/ApnSettings.java
index 0537d8f..ff4e8fb 100755
--- a/src/com/android/settings/network/ApnSettings.java
+++ b/src/com/android/settings/network/ApnSettings.java
@@ -110,7 +110,7 @@
private String mSelectedKey;
- private IntentFilter mMobileStateFilter;
+ private IntentFilter mIntentFilter;
private boolean mUnavailable;
@@ -121,7 +121,7 @@
super(UserManager.DISALLOW_CONFIG_MOBILE_NETWORKS);
}
- private final BroadcastReceiver mMobileStateReceiver = new BroadcastReceiver() {
+ private final BroadcastReceiver mReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
if (intent.getAction().equals(
@@ -136,6 +136,11 @@
}
break;
}
+ } else if(intent.getAction().equals(
+ TelephonyManager.ACTION_SUBSCRIPTION_CARRIER_IDENTITY_CHANGED)) {
+ if (!mRestoreDefaultApnMode) {
+ fillList();
+ }
}
}
};
@@ -161,8 +166,9 @@
final int subId = activity.getIntent().getIntExtra(SUB_ID,
SubscriptionManager.INVALID_SUBSCRIPTION_ID);
- mMobileStateFilter = new IntentFilter(
+ mIntentFilter = new IntentFilter(
TelephonyIntents.ACTION_ANY_DATA_CONNECTION_STATE_CHANGED);
+ mIntentFilter.addAction(TelephonyManager.ACTION_SUBSCRIPTION_CARRIER_IDENTITY_CHANGED);
setIfOnlyAvailableForAdmins(true);
@@ -209,7 +215,7 @@
return;
}
- getActivity().registerReceiver(mMobileStateReceiver, mMobileStateFilter);
+ getActivity().registerReceiver(mReceiver, mIntentFilter);
if (!mRestoreDefaultApnMode) {
fillList();
@@ -224,7 +230,7 @@
return;
}
- getActivity().unregisterReceiver(mMobileStateReceiver);
+ getActivity().unregisterReceiver(mReceiver);
}
@Override