summaryrefslogtreecommitdiff
path: root/src/com/android/cellbroadcastreceiver/CellBroadcastSettings.java
diff options
context:
space:
mode:
authorChen Xu <fionaxu@google.com>2021-07-23 18:22:38 +0000
committerAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>2021-07-23 18:22:38 +0000
commit67da12c0b6ae49712e99c916ac7956597f7489e6 (patch)
tree134c367e706426ab0128b93130dd5aa8bfad84dc /src/com/android/cellbroadcastreceiver/CellBroadcastSettings.java
parentef98f3b074a216bc0286e651fdf274f4a3e92f02 (diff)
parent3731a3914a6b26ffcc9e771742c50ac85f26222d (diff)
downloadCellBroadcastReceiver-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.java9
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();
}