summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorXin Li <delphij@google.com>2024-01-17 22:14:29 -0800
committerXin Li <delphij@google.com>2024-01-17 22:14:29 -0800
commit1ca089972376a6f0bd26b903652b53d17e280fc2 (patch)
tree1f74992874f2dd2d2050c6f088f964b5c9806f67
parent558e6e482d77b76782f3415129b3c8499ad9b375 (diff)
parent11f4175a321baf6f2f0a9c42772e09164280223d (diff)
downloadCellBroadcastService-1ca089972376a6f0bd26b903652b53d17e280fc2.tar.gz
Merge Android 24Q1 Release (ab/11220357)temp_319669529
Bug: 319669529 Merged-In: Ia65e6d8c7b32533d85a2e67582c1a7a35fc1066d Change-Id: Ic001cf90a6ca9d6fbb32fa4d617ff26cabc05b9d
-rw-r--r--Android.bp1
-rw-r--r--res/values-mcc310-mnc012/config.xml3
-rw-r--r--tests/src/com/android/cellbroadcastservice/tests/CellBroadcastHandlerTest.java34
-rw-r--r--tests/src/com/android/cellbroadcastservice/tests/GsmCellBroadcastHandlerTest.java7
4 files changed, 26 insertions, 19 deletions
diff --git a/Android.bp b/Android.bp
index b4a941a..3f609a1 100644
--- a/Android.bp
+++ b/Android.bp
@@ -13,6 +13,7 @@ java_defaults {
libs: [
"framework-annotations-lib",
"framework-statsd",
+ "framework-location.stubs.module_lib",
"unsupportedappusage",
],
sdk_version: "module_current",
diff --git a/res/values-mcc310-mnc012/config.xml b/res/values-mcc310-mnc012/config.xml
index 73a4e8b..16b960d 100644
--- a/res/values-mcc310-mnc012/config.xml
+++ b/res/values-mcc310-mnc012/config.xml
@@ -18,7 +18,4 @@
<!-- The maximum waiting time in seconds for location to perform
device based geo-fencing -->
<integer name="max_location_waiting_time">120</integer>
-
- <!-- Whether to compare message service category when deduping messages -->
- <bool name="duplicate_compare_service_category">false</bool>
</resources>
diff --git a/tests/src/com/android/cellbroadcastservice/tests/CellBroadcastHandlerTest.java b/tests/src/com/android/cellbroadcastservice/tests/CellBroadcastHandlerTest.java
index bf8b661..f1381d4 100644
--- a/tests/src/com/android/cellbroadcastservice/tests/CellBroadcastHandlerTest.java
+++ b/tests/src/com/android/cellbroadcastservice/tests/CellBroadcastHandlerTest.java
@@ -35,7 +35,7 @@ import android.content.ContentValues;
import android.content.Context;
import android.content.IIntentSender;
import android.content.Intent;
-import android.content.res.Resources;
+import android.content.res.Configuration;
import android.database.Cursor;
import android.database.MatrixCursor;
import android.net.Uri;
@@ -48,6 +48,7 @@ import android.telephony.CbGeoUtils;
import android.telephony.SmsCbCmasInfo;
import android.telephony.SmsCbLocation;
import android.telephony.SmsCbMessage;
+import android.telephony.SubscriptionInfo;
import android.telephony.SubscriptionManager;
import android.telephony.TelephonyManager;
import android.test.mock.MockContentProvider;
@@ -56,7 +57,6 @@ import android.test.suitebuilder.annotation.SmallTest;
import android.testing.AndroidTestingRunner;
import android.testing.TestableLooper;
import android.text.format.DateUtils;
-import android.util.Pair;
import android.util.Singleton;
import androidx.annotation.NonNull;
@@ -79,7 +79,6 @@ import java.io.OutputStream;
import java.io.PrintWriter;
import java.util.HashMap;
import java.util.List;
-import java.util.Map;
@RunWith(AndroidTestingRunner.class)
@TestableLooper.RunWithLooper
@@ -89,9 +88,6 @@ public class CellBroadcastHandlerTest extends CellBroadcastServiceTestBase {
private TestableLooper mTestbleLooper;
- @Mock
- private Map<Pair<Context, Integer>, Resources> mMockedResourcesCache;
-
private CbSendMessageCalculatorFactoryFacade mSendMessageFactory;
private CellBroadcastHandler.HandlerHelper mHandlerHelper;
@@ -113,6 +109,8 @@ public class CellBroadcastHandlerTest extends CellBroadcastServiceTestBase {
@Mock
private ISub mISub;
+ private Configuration mConfiguration;
+
private class CellBroadcastContentProvider extends MockContentProvider {
@Override
public Cursor query(Uri uri, String[] projection, String selection, String[] selectionArgs,
@@ -185,10 +183,11 @@ public class CellBroadcastHandlerTest extends CellBroadcastServiceTestBase {
((MockContentResolver) mMockedContext.getContentResolver()).addProvider(
Telephony.CellBroadcasts.CONTENT_URI.getAuthority(),
new CellBroadcastContentProvider());
- doReturn(true).when(mMockedResourcesCache).containsKey(any());
- doReturn(mMockedResources).when(mMockedResourcesCache).get(any());
- replaceInstance(SubscriptionManager.class, "sResourcesCache", mCellBroadcastHandler,
- mMockedResourcesCache);
+ doReturn("com.android.cellbroadcastservice").when(mMockedContext).getPackageName();
+ doReturn(mMockedContext).when(mMockedContext).createConfigurationContext(any());
+ doReturn(mMockedResources).when(mMockedContext).getResources();
+ mConfiguration = new Configuration();
+ doReturn(mConfiguration).when(mMockedResources).getConfiguration();
putResources(com.android.cellbroadcastservice.R.integer.message_expiration_time,
(int) DateUtils.DAY_IN_MILLIS);
putResources(com.android.cellbroadcastservice.R.bool.duplicate_compare_service_category,
@@ -350,29 +349,32 @@ public class CellBroadcastHandlerTest extends CellBroadcastServiceTestBase {
@Test
@SmallTest
public void testGetResources() throws Exception {
+ SubscriptionInfo mockSubInfo = mock(SubscriptionInfo.class);
+ doReturn(mockSubInfo).when(mMockedSubscriptionManager).getActiveSubscriptionInfo(anyInt());
+ doReturn(001).when(mockSubInfo).getMcc();
+ doReturn(01).when(mockSubInfo).getMnc();
+
// verify not to call SubscriptionManager#getResourcesForSubId for DEFAULT ID
mCellBroadcastHandler.getResources(SubscriptionManager.DEFAULT_SUBSCRIPTION_ID);
- verify(mMockedResourcesCache, never()).containsKey(any());
+ verify(mMockedContext, never()).createConfigurationContext(any());
verify(mMockedContext, times(1)).getResources();
// verify not to call SubscriptionManager#getResourcesForSubId for INVALID ID
mCellBroadcastHandler.getResources(SubscriptionManager.INVALID_SUBSCRIPTION_ID);
- verify(mMockedResourcesCache, never()).containsKey(any());
+ verify(mMockedContext, never()).createConfigurationContext(any());
verify(mMockedContext, times(2)).getResources();
// verify to call SubscriptionManager#getResourcesForSubId for normal sub id
mCellBroadcastHandler.getResources(SubscriptionManager.DEFAULT_SUBSCRIPTION_ID - 1);
- verify(mMockedResourcesCache, times(1)).containsKey(any());
- verify(mMockedContext, times(2)).getResources();
+ verify(mMockedContext, times(1)).createConfigurationContext(any());
// verify to call SubscriptionManager#getResourcesForSubId again for the same sub
mCellBroadcastHandler.getResources(SubscriptionManager.DEFAULT_SUBSCRIPTION_ID - 1);
- verify(mMockedResourcesCache, times(2)).containsKey(any());
- verify(mMockedContext, times(2)).getResources();
+ verify(mMockedContext, times(1)).createConfigurationContext(any());
}
@Test
diff --git a/tests/src/com/android/cellbroadcastservice/tests/GsmCellBroadcastHandlerTest.java b/tests/src/com/android/cellbroadcastservice/tests/GsmCellBroadcastHandlerTest.java
index 951f4f8..5ac5823 100644
--- a/tests/src/com/android/cellbroadcastservice/tests/GsmCellBroadcastHandlerTest.java
+++ b/tests/src/com/android/cellbroadcastservice/tests/GsmCellBroadcastHandlerTest.java
@@ -32,6 +32,7 @@ import static org.mockito.Mockito.verify;
import android.content.ContentValues;
import android.content.Context;
import android.content.Intent;
+import android.content.res.Configuration;
import android.content.res.Resources;
import android.database.Cursor;
import android.database.MatrixCursor;
@@ -96,6 +97,8 @@ public class GsmCellBroadcastHandlerTest extends CellBroadcastServiceTestBase {
private CellBroadcastHandlerTest.CbSendMessageCalculatorFactoryFacade mSendMessageFactory;
+ private Configuration mConfiguration;
+
private class CellBroadcastContentProvider extends MockContentProvider {
@Override
public Cursor query(Uri uri, String[] projection, String selection, String[] selectionArgs,
@@ -189,6 +192,10 @@ public class GsmCellBroadcastHandlerTest extends CellBroadcastServiceTestBase {
((MockContentResolver) mMockedContext.getContentResolver()).addProvider(
Settings.AUTHORITY, new SettingsProvider());
doReturn(mMockedContext).when(mMockedContext).createConfigurationContext(any());
+ doReturn("com.android.cellbroadcastservice").when(mMockedContext).getPackageName();
+ doReturn(mMockedResources).when(mMockedContext).getResources();
+ mConfiguration = new Configuration();
+ doReturn(mConfiguration).when(mMockedResources).getConfiguration();
doReturn(true).when(mMockedResourcesCache).containsKey(anyInt());
doReturn(mMockedResources).when(mMockedResourcesCache).get(anyInt());
putResources(com.android.cellbroadcastservice.R.integer.message_expiration_time, 86400000);