From febf094fbc65a0ecf86e14d2450f7c01eae66825 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 --- .../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 bbbcdbcbb63..fb662ef177f 100755 --- a/src/com/android/settings/network/ApnSettings.java +++ b/src/com/android/settings/network/ApnSettings.java @@ -109,7 +109,7 @@ public class ApnSettings extends RestrictedSettingsFragment implements private String mSelectedKey; - private IntentFilter mMobileStateFilter; + private IntentFilter mIntentFilter; private boolean mUnavailable; @@ -120,7 +120,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( @@ -135,6 +135,11 @@ public class ApnSettings extends RestrictedSettingsFragment implements } break; } + } else if(intent.getAction().equals( + TelephonyManager.ACTION_SUBSCRIPTION_CARRIER_IDENTITY_CHANGED)) { + if (!mRestoreDefaultApnMode) { + fillList(); + } } } }; @@ -160,8 +165,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); @@ -208,7 +214,7 @@ public class ApnSettings extends RestrictedSettingsFragment implements return; } - getActivity().registerReceiver(mMobileStateReceiver, mMobileStateFilter); + getActivity().registerReceiver(mReceiver, mIntentFilter); if (!mRestoreDefaultApnMode) { fillList(); @@ -223,7 +229,7 @@ public class ApnSettings extends RestrictedSettingsFragment implements return; } - getActivity().unregisterReceiver(mMobileStateReceiver); + getActivity().unregisterReceiver(mReceiver); } @Override