diff options
author | Android Build Coastguard Worker <android-build-coastguard-worker@google.com> | 2022-02-19 13:05:58 +0000 |
---|---|---|
committer | Android Build Coastguard Worker <android-build-coastguard-worker@google.com> | 2022-02-19 13:05:58 +0000 |
commit | 1cc3a3c250fc713f94d28c95468c961b3e993129 (patch) | |
tree | 60a4018f39f215b74afce4a7003c213e80bc1ddc | |
parent | 1cbc4aa0fc15d491fc7f4215ba499ca0fa83e4d8 (diff) | |
parent | 09d27b6958a9535006cf87cf7d6ae05f2b47f4f5 (diff) | |
download | CellBroadcastReceiver-1cc3a3c250fc713f94d28c95468c961b3e993129.tar.gz |
Snap for 8203794 from 09d27b6958a9535006cf87cf7d6ae05f2b47f4f5 to mainline-media-swcodec-release
Change-Id: I6398563e01e1626a5ebdcfa36cc45ea16ef93007
4 files changed, 10 insertions, 52 deletions
diff --git a/src/com/android/cellbroadcastreceiver/CellBroadcastReceiver.java b/src/com/android/cellbroadcastreceiver/CellBroadcastReceiver.java index 70b2b1880..63be97ffd 100644 --- a/src/com/android/cellbroadcastreceiver/CellBroadcastReceiver.java +++ b/src/com/android/cellbroadcastreceiver/CellBroadcastReceiver.java @@ -268,16 +268,8 @@ public class CellBroadcastReceiver extends BroadcastReceiver { * @param subId subId of the carrier config event */ private void resetSettingsAsNeeded(Context context, int subId) { - final int defaultSubId = SubscriptionManager.getDefaultSubscriptionId(); - // subId may be -1 if carrier config broadcast is being sent on SIM removal if (subId == SubscriptionManager.INVALID_SUBSCRIPTION_ID) { - if (defaultSubId != SubscriptionManager.INVALID_SUBSCRIPTION_ID) { - Log.d(TAG, "ignoring carrier config broadcast because subId=-1 and it's not" - + " defaultSubId when device is support multi-sim"); - return; - } - if (getPreviousCarrierIdForDefaultSub() == NO_PREVIOUS_CARRIER_ID) { // on first boot only, if no SIM is inserted we save the carrier ID -1. // This allows us to detect the carrier change from -1 to the carrier of the first @@ -288,6 +280,7 @@ public class CellBroadcastReceiver extends BroadcastReceiver { return; } + final int defaultSubId = SubscriptionManager.getDefaultSubscriptionId(); Log.d(TAG, "subId=" + subId + " defaultSubId=" + defaultSubId); if (defaultSubId == SubscriptionManager.INVALID_SUBSCRIPTION_ID) { Log.d(TAG, "ignoring carrier config broadcast because defaultSubId=-1"); @@ -343,12 +336,7 @@ public class CellBroadcastReceiver extends BroadcastReceiver { .getInt(CARRIER_ID_FOR_DEFAULT_SUB_PREF, NO_PREVIOUS_CARRIER_ID); } - - /** - * store carrierId corresponding to the default subId. - */ - @VisibleForTesting - public void saveCarrierIdForDefaultSub(int carrierId) { + private void saveCarrierIdForDefaultSub(int carrierId) { getDefaultSharedPreferences().edit().putInt(CARRIER_ID_FOR_DEFAULT_SUB_PREF, carrierId) .apply(); } diff --git a/src/com/android/cellbroadcastreceiver/CellBroadcastSettings.java b/src/com/android/cellbroadcastreceiver/CellBroadcastSettings.java index f4fe98d17..026390cb3 100644 --- a/src/com/android/cellbroadcastreceiver/CellBroadcastSettings.java +++ b/src/com/android/cellbroadcastreceiver/CellBroadcastSettings.java @@ -159,9 +159,6 @@ public class CellBroadcastSettings extends CollapsingToolbarBaseActivity { /* End of user preferences keys section. */ - // Resource cache - private static final Map<Integer, Resources> sResourcesCache = new HashMap<>(); - // Resource cache per operator private static final Map<String, Resources> sResourcesCacheByOperator = new HashMap<>(); private static final Object sCacheLock = new Object(); @@ -885,21 +882,7 @@ public class CellBroadcastSettings extends CollapsingToolbarBaseActivity { return context.getResources(); } - synchronized (sCacheLock) { - if (sResourcesCache.containsKey(subId)) { - return sResourcesCache.get(subId); - } - - Resources res = SubscriptionManager.getResourcesForSubId(context, subId); - - if (res.getConfiguration().mnc != 0) { - Log.d(TAG, "Cache resource for sub: " + subId + ", mcc: " - + res.getConfiguration().mcc + ", mnc:" + res.getConfiguration().mnc); - sResourcesCache.put(subId, res); - } - - return res; - } + return SubscriptionManager.getResourcesForSubId(context, subId); } /** @@ -1000,7 +983,6 @@ public class CellBroadcastSettings extends CollapsingToolbarBaseActivity { public static void resetResourcesCache() { synchronized (sCacheLock) { sResourcesCacheByOperator.clear(); - sResourcesCache.clear(); } } } diff --git a/tests/unit/src/com/android/cellbroadcastreceiver/unit/CellBroadcastReceiverTest.java b/tests/unit/src/com/android/cellbroadcastreceiver/unit/CellBroadcastReceiverTest.java index a92d75dbc..5b57ab548 100644 --- a/tests/unit/src/com/android/cellbroadcastreceiver/unit/CellBroadcastReceiverTest.java +++ b/tests/unit/src/com/android/cellbroadcastreceiver/unit/CellBroadcastReceiverTest.java @@ -16,6 +16,8 @@ package com.android.cellbroadcastreceiver.unit; +import static android.telephony.SubscriptionManager.INVALID_SUBSCRIPTION_ID; + import static com.google.common.truth.Truth.assertThat; import static org.mockito.ArgumentMatchers.any; @@ -211,27 +213,15 @@ public class CellBroadcastReceiverTest extends CellBroadcastTest { } @Test - public void testInitializeSharedPreference_ifSystemUser_invalidSub() throws RemoteException { + public void testInitializeSharedPreference_ifSystemUser_invalidSub() { doReturn("An invalid action").when(mIntent).getAction(); doReturn(true).when(mUserManager).isSystemUser(); doReturn(true).when(mCellBroadcastReceiver).sharedPrefsHaveDefaultValues(); doNothing().when(mCellBroadcastReceiver).adjustReminderInterval(); - mockTelephonyManager(); - int subId = 1; - // Not starting ConfigService, as default subId is valid and subId are invalid - doReturn(subId).when(mSubService).getDefaultSubId(); - mCellBroadcastReceiver.initializeSharedPreference(mContext, - SubscriptionManager.INVALID_SUBSCRIPTION_ID); - verify(mContext, never()).startService(any()); - verify(mCellBroadcastReceiver, never()).saveCarrierIdForDefaultSub(anyInt()); - - // Not starting ConfigService, as both default subId and subId are invalid - doReturn(SubscriptionManager.INVALID_SUBSCRIPTION_ID).when(mSubService).getDefaultSubId(); - mCellBroadcastReceiver.initializeSharedPreference(mContext, - SubscriptionManager.INVALID_SUBSCRIPTION_ID); + mCellBroadcastReceiver.initializeSharedPreference(mContext, INVALID_SUBSCRIPTION_ID); verify(mContext, never()).startService(any()); - verify(mCellBroadcastReceiver).saveCarrierIdForDefaultSub(anyInt()); + // Check interval. } private void mockTelephonyManager() { diff --git a/tests/unit/src/com/android/cellbroadcastreceiver/unit/CellBroadcastSettingsTest.java b/tests/unit/src/com/android/cellbroadcastreceiver/unit/CellBroadcastSettingsTest.java index a6b64329e..28f7929ea 100644 --- a/tests/unit/src/com/android/cellbroadcastreceiver/unit/CellBroadcastSettingsTest.java +++ b/tests/unit/src/com/android/cellbroadcastreceiver/unit/CellBroadcastSettingsTest.java @@ -204,8 +204,6 @@ public class CellBroadcastSettingsTest extends Context mockContext2 = mock(Context.class); doReturn(mockResources).when(mockContext2).getResources(); - Configuration config = new Configuration(); - doReturn(config).when(mockResources).getConfiguration(); SubscriptionManager mockSubManager = mock(SubscriptionManager.class); doReturn(Context.TELEPHONY_SUBSCRIPTION_SERVICE).when(mockContext) .getSystemServiceName(eq(SubscriptionManager.class)); @@ -225,8 +223,8 @@ public class CellBroadcastSettingsTest extends verify(mockContext2, times(1)).getResources(); // The resources will be cached for ths sub - config.mcc = 123; - config.mnc = 456; + doReturn(123).when(mockSubInfo).getMcc(); + doReturn(456).when(mockSubInfo).getMnc(); // The cache logic is updated on S final int timesExpected = SdkLevel.isAtLeastS() ? 2 : 1; |