diff options
author | Hui Wang <huiwang@google.com> | 2022-01-05 23:36:25 +0000 |
---|---|---|
committer | Hui Wang <huiwang@google.com> | 2022-01-05 23:36:25 +0000 |
commit | fb7f2fa01b6122c88b329d12166d6ab7e69c6784 (patch) | |
tree | e22dd8c6f8f618531a34c1dafd11d962eb4f4a52 | |
parent | acb62a804f8185564f0cb4a8a8274a84bd4ff3ee (diff) | |
download | CellBroadcastReceiver-fb7f2fa01b6122c88b329d12166d6ab7e69c6784.tar.gz |
Revert "Revert "Change the broadcast intent of START_CONFIG to app inside""
This reverts commit acb62a804f8185564f0cb4a8a8274a84bd4ff3ee.
Reason for revert: The fix should be in March to sync up with QPR release
Change-Id: I1c37adfbd7eac95a205a698e7483c9125005f1e3
8 files changed, 41 insertions, 10 deletions
diff --git a/AndroidManifest.xml b/AndroidManifest.xml index 41b6cda9f..0c83fd3b5 100644 --- a/AndroidManifest.xml +++ b/AndroidManifest.xml @@ -151,7 +151,6 @@ <action android:name="android.telephony.action.CARRIER_CONFIG_CHANGED" /> <action android:name="android.provider.action.SMS_EMERGENCY_CB_RECEIVED" /> <action android:name="android.provider.Telephony.SMS_CB_RECEIVED" /> - <action android:name="android.cellbroadcastreceiver.START_CONFIG" /> <action android:name="android.provider.Telephony.SMS_SERVICE_CATEGORY_PROGRAM_DATA_RECEIVED" /> <action android:name="android.intent.action.LOCALE_CHANGED" /> <action android:name="android.intent.action.SERVICE_STATE" /> diff --git a/AndroidManifest_Platform.xml b/AndroidManifest_Platform.xml index 97fe7231a..5d6b226b0 100644 --- a/AndroidManifest_Platform.xml +++ b/AndroidManifest_Platform.xml @@ -129,7 +129,6 @@ <intent-filter> <action android:name="android.provider.action.SMS_EMERGENCY_CB_RECEIVED" /> <action android:name="android.provider.Telephony.SMS_CB_RECEIVED" /> - <action android:name="android.cellbroadcastreceiver.START_CONFIG" /> <action android:name="android.provider.Telephony.SMS_SERVICE_CATEGORY_PROGRAM_DATA_RECEIVED" /> <action android:name="android.intent.action.LOCALE_CHANGED" /> <action android:name="android.telephony.action.DEFAULT_SMS_SUBSCRIPTION_CHANGED" /> diff --git a/src/com/android/cellbroadcastreceiver/CellBroadcastBackupAgent.java b/src/com/android/cellbroadcastreceiver/CellBroadcastBackupAgent.java index 620276c83..185a86a52 100644 --- a/src/com/android/cellbroadcastreceiver/CellBroadcastBackupAgent.java +++ b/src/com/android/cellbroadcastreceiver/CellBroadcastBackupAgent.java @@ -48,7 +48,8 @@ public class CellBroadcastBackupAgent extends BackupAgentHelper @Override public void onRestoreFinished() { Log.d(TAG, "Restore finished."); - Intent intent = new Intent(CellBroadcastReceiver.CELLBROADCAST_START_CONFIG_ACTION); + Intent intent = new Intent(getApplicationContext(), CellBroadcastInternalReceiver.class); + intent.setAction(CellBroadcastReceiver.CELLBROADCAST_START_CONFIG_ACTION); // Cell broadcast was configured during boot up before the shared preference is restored, // we need to re-configure it. diff --git a/src/com/android/cellbroadcastreceiver/CellBroadcastInternalReceiver.java b/src/com/android/cellbroadcastreceiver/CellBroadcastInternalReceiver.java index 455c5b68c..9a7d3f656 100644 --- a/src/com/android/cellbroadcastreceiver/CellBroadcastInternalReceiver.java +++ b/src/com/android/cellbroadcastreceiver/CellBroadcastInternalReceiver.java @@ -45,12 +45,24 @@ public class CellBroadcastInternalReceiver extends BroadcastReceiver { }); } + /** + * This method's purpose if to enable unit testing + */ + @VisibleForTesting + public void startConfigServiceToEnableChannels(Context context) { + CellBroadcastReceiver.startConfigService(context, + CellBroadcastConfigService.ACTION_ENABLE_CHANNELS); + } + @Override public void onReceive(Context context, Intent intent) { if (CellBroadcastReceiver.ACTION_MARK_AS_READ.equals(intent.getAction())) { final long deliveryTime = intent.getLongExtra( CellBroadcastReceiver.EXTRA_DELIVERY_TIME, -1); getCellBroadcastTask(context, deliveryTime); + } else if (CellBroadcastReceiver.CELLBROADCAST_START_CONFIG_ACTION.equals( + intent.getAction())) { + startConfigServiceToEnableChannels(context); } } } diff --git a/src/com/android/cellbroadcastreceiver/CellBroadcastReceiver.java b/src/com/android/cellbroadcastreceiver/CellBroadcastReceiver.java index 14ebe3b0c..0907d15aa 100644 --- a/src/com/android/cellbroadcastreceiver/CellBroadcastReceiver.java +++ b/src/com/android/cellbroadcastreceiver/CellBroadcastReceiver.java @@ -155,8 +155,7 @@ public class CellBroadcastReceiver extends BroadcastReceiver { // going forward. int ss = intent.getIntExtra(EXTRA_VOICE_REG_STATE, ServiceState.STATE_IN_SERVICE); onServiceStateChanged(context, res, ss); - } else if (CELLBROADCAST_START_CONFIG_ACTION.equals(action) - || SubscriptionManager.ACTION_DEFAULT_SMS_SUBSCRIPTION_CHANGED.equals(action)) { + } else if (SubscriptionManager.ACTION_DEFAULT_SMS_SUBSCRIPTION_CHANGED.equals(action)) { startConfigServiceToEnableChannels(); } else if (Telephony.Sms.Intents.ACTION_SMS_EMERGENCY_CB_RECEIVED.equals(action) || Telephony.Sms.Intents.SMS_CB_RECEIVED_ACTION.equals(action)) { diff --git a/tests/unit/src/com/android/cellbroadcastreceiver/unit/CellBroadcastBackupAgentTest.java b/tests/unit/src/com/android/cellbroadcastreceiver/unit/CellBroadcastBackupAgentTest.java index bfba23beb..97365a441 100644 --- a/tests/unit/src/com/android/cellbroadcastreceiver/unit/CellBroadcastBackupAgentTest.java +++ b/tests/unit/src/com/android/cellbroadcastreceiver/unit/CellBroadcastBackupAgentTest.java @@ -16,9 +16,10 @@ package com.android.cellbroadcastreceiver.unit; - +import static org.junit.Assert.assertEquals; import static org.mockito.ArgumentMatchers.any; import static org.mockito.ArgumentMatchers.eq; +import static org.mockito.Mockito.doReturn; import static org.mockito.Mockito.verify; import android.app.backup.BackupAgentHelper; @@ -28,6 +29,7 @@ import android.content.Intent; import android.os.UserHandle; import com.android.cellbroadcastreceiver.CellBroadcastBackupAgent; +import com.android.cellbroadcastreceiver.CellBroadcastInternalReceiver; import org.junit.Before; import org.junit.Test; @@ -73,12 +75,17 @@ public class CellBroadcastBackupAgentTest { @Test public void testRestoreFinish() throws Exception { + final String packageName = CellBroadcastInternalReceiver.class.getPackage().getName(); + final String className = CellBroadcastInternalReceiver.class.getName(); + doReturn(mMockContext).when(mMockContext).getApplicationContext(); + doReturn(packageName).when(mMockContext).getPackageName(); mockBackupDispatcher(); mBackupAgentUT.attach(mMockContext); - ArgumentCaptor<Intent> intentArgumentCaptor = ArgumentCaptor.forClass(Intent.class); + ArgumentCaptor<Intent> intentArg = ArgumentCaptor.forClass(Intent.class); mBackupAgentUT.onRestoreFinished(); - verify(mMockContext).sendBroadcastAsUser(intentArgumentCaptor.capture(), - eq(UserHandle.SYSTEM)); + verify(mMockContext).sendBroadcastAsUser(intentArg.capture(), eq(UserHandle.SYSTEM)); + assertEquals(packageName, intentArg.getValue().getComponent().getPackageName()); + assertEquals(className, intentArg.getValue().getComponent().getClassName()); } } diff --git a/tests/unit/src/com/android/cellbroadcastreceiver/unit/CellBroadcastInternalReceiverTest.java b/tests/unit/src/com/android/cellbroadcastreceiver/unit/CellBroadcastInternalReceiverTest.java index 713b91b8e..e89e31f86 100644 --- a/tests/unit/src/com/android/cellbroadcastreceiver/unit/CellBroadcastInternalReceiverTest.java +++ b/tests/unit/src/com/android/cellbroadcastreceiver/unit/CellBroadcastInternalReceiverTest.java @@ -16,6 +16,7 @@ package com.android.cellbroadcastreceiver.unit; +import static org.mockito.ArgumentMatchers.any; import static org.mockito.ArgumentMatchers.anyLong; import static org.mockito.ArgumentMatchers.nullable; import static org.mockito.Mockito.doNothing; @@ -26,6 +27,7 @@ import static org.mockito.Mockito.verify; import android.content.Context; import android.content.Intent; import android.content.res.Configuration; +import android.os.UserManager; import com.android.cellbroadcastreceiver.CellBroadcastInternalReceiver; import com.android.cellbroadcastreceiver.CellBroadcastReceiver; @@ -38,6 +40,7 @@ import org.mockito.MockitoAnnotations; public class CellBroadcastInternalReceiverTest extends CellBroadcastTest { @Mock Intent mIntent; + @Mock UserManager mUserManager; private Configuration mConfiguration = new Configuration(); private CellBroadcastInternalReceiver mReceiver; @@ -49,6 +52,8 @@ public class CellBroadcastInternalReceiverTest extends CellBroadcastTest { doReturn(mConfiguration).when(mResources).getConfiguration(); mReceiver = spy(new CellBroadcastInternalReceiver()); doReturn(mContext).when(mContext).getApplicationContext(); + doReturn(mUserManager).when(mContext).getSystemService(Context.USER_SERVICE); + doReturn(false).when(mUserManager).isSystemUser(); } @Test @@ -60,4 +65,12 @@ public class CellBroadcastInternalReceiverTest extends CellBroadcastTest { verify(mReceiver).getCellBroadcastTask(nullable(Context.class), anyLong()); } + @Test + public void testOnReceive_cellbroadcastStartConfigAction() { + doReturn(CellBroadcastReceiver.CELLBROADCAST_START_CONFIG_ACTION).when(mIntent).getAction(); + mReceiver.onReceive(mContext, mIntent); + + verify(mReceiver).startConfigServiceToEnableChannels(any()); + } + } diff --git a/tests/unit/src/com/android/cellbroadcastreceiver/unit/CellBroadcastReceiverTest.java b/tests/unit/src/com/android/cellbroadcastreceiver/unit/CellBroadcastReceiverTest.java index 8b6377c90..24251920c 100644 --- a/tests/unit/src/com/android/cellbroadcastreceiver/unit/CellBroadcastReceiverTest.java +++ b/tests/unit/src/com/android/cellbroadcastreceiver/unit/CellBroadcastReceiverTest.java @@ -164,8 +164,9 @@ public class CellBroadcastReceiverTest extends CellBroadcastTest { public void testOnReceive_cellbroadcastStartConfigAction() { doReturn(CellBroadcastReceiver.CELLBROADCAST_START_CONFIG_ACTION).when(mIntent).getAction(); mCellBroadcastReceiver.onReceive(mContext, mIntent); + verify(mCellBroadcastReceiver, never()).initializeSharedPreference(any(), anyInt()); - verify(mCellBroadcastReceiver).startConfigServiceToEnableChannels(); + verify(mCellBroadcastReceiver, never()).startConfigServiceToEnableChannels(); } @Test |