From 40f4f799bb14ebf416d2d421f75e95c0b68bc9df Mon Sep 17 00:00:00 2001 From: irisykyang Date: Tue, 10 Apr 2018 15:34:33 +0800 Subject: [PATCH] Reload APNs setting page when receive the intent ACTION_SUBSCRIPTION_CARRIER_IDENTITY_CHANGED Bug: 77250264 Test: Manual testing Change-Id: Ie28c67c89a2590425ff9c06153b53dac6cf141f0 Merged-In: Ie28c67c89a2590425ff9c06153b53dac6cf141f0 --- .../android/settings/network/ApnSettings.java | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/src/com/android/settings/network/ApnSettings.java b/src/com/android/settings/network/ApnSettings.java index 0537d8fe160..ff4e8fb4125 100755 --- a/src/com/android/settings/network/ApnSettings.java +++ b/src/com/android/settings/network/ApnSettings.java @@ -110,7 +110,7 @@ public class ApnSettings extends RestrictedSettingsFragment implements private String mSelectedKey; - private IntentFilter mMobileStateFilter; + private IntentFilter mIntentFilter; private boolean mUnavailable; @@ -121,7 +121,7 @@ public class ApnSettings extends RestrictedSettingsFragment implements 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 @@ public class ApnSettings extends RestrictedSettingsFragment implements } break; } + } else if(intent.getAction().equals( + TelephonyManager.ACTION_SUBSCRIPTION_CARRIER_IDENTITY_CHANGED)) { + if (!mRestoreDefaultApnMode) { + fillList(); + } } } }; @@ -161,8 +166,9 @@ public class ApnSettings extends RestrictedSettingsFragment implements 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 @@ public class ApnSettings extends RestrictedSettingsFragment implements return; } - getActivity().registerReceiver(mMobileStateReceiver, mMobileStateFilter); + getActivity().registerReceiver(mReceiver, mIntentFilter); if (!mRestoreDefaultApnMode) { fillList(); @@ -224,7 +230,7 @@ public class ApnSettings extends RestrictedSettingsFragment implements return; } - getActivity().unregisterReceiver(mMobileStateReceiver); + getActivity().unregisterReceiver(mReceiver); } @Override