diff options
author | Chen Xu <fionaxu@google.com> | 2021-07-23 18:22:38 +0000 |
---|---|---|
committer | Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com> | 2021-07-23 18:22:38 +0000 |
commit | 67da12c0b6ae49712e99c916ac7956597f7489e6 (patch) | |
tree | 134c367e706426ab0128b93130dd5aa8bfad84dc /src/com/android/cellbroadcastreceiver/CellBroadcastSettings.java | |
parent | ef98f3b074a216bc0286e651fdf274f4a3e92f02 (diff) | |
parent | 3731a3914a6b26ffcc9e771742c50ac85f26222d (diff) | |
download | CellBroadcastReceiver-67da12c0b6ae49712e99c916ac7956597f7489e6.tar.gz |
Merge "check sim state to avoid cachining the wrong resources before sim loaded" into sc-dev am: 3731a3914a
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/CellBroadcastReceiver/+/15350563
Change-Id: I1f2e0c2427167630ff8b46e587c1d6d23334ae69
Diffstat (limited to 'src/com/android/cellbroadcastreceiver/CellBroadcastSettings.java')
-rw-r--r-- | src/com/android/cellbroadcastreceiver/CellBroadcastSettings.java | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/src/com/android/cellbroadcastreceiver/CellBroadcastSettings.java b/src/com/android/cellbroadcastreceiver/CellBroadcastSettings.java index dd4c772cd..c8eb50057 100644 --- a/src/com/android/cellbroadcastreceiver/CellBroadcastSettings.java +++ b/src/com/android/cellbroadcastreceiver/CellBroadcastSettings.java @@ -34,6 +34,7 @@ import android.os.UserManager; import android.os.Vibrator; import android.telephony.CarrierConfigManager; import android.telephony.SubscriptionManager; +import android.telephony.TelephonyManager; import android.util.Log; import android.view.MenuItem; import android.widget.Switch; @@ -862,8 +863,14 @@ public class CellBroadcastSettings extends CollapsingToolbarBaseActivity { * @return The resource */ public static @NonNull Resources getResources(@NonNull Context context, int subId) { + // based on the latest design, subId can be valid earlier than mcc mnc is known to telephony + // check if sim is loaded to avoid caching the wrong resources. + TelephonyManager tm = context.getSystemService(TelephonyManager.class); + boolean isSimLoaded = tm.getSimApplicationState(SubscriptionManager.getSlotIndex(subId)) + == TelephonyManager.SIM_STATE_LOADED; if (subId == SubscriptionManager.DEFAULT_SUBSCRIPTION_ID - || !SubscriptionManager.isValidSubscriptionId(subId) || !sUseResourcesForSubId) { + || !SubscriptionManager.isValidSubscriptionId(subId) || !sUseResourcesForSubId + || !isSimLoaded) { return context.getResources(); } |