Loading src/com/android/settings/network/telephony/SubscriptionActivationRepository.kt +1 −1 Original line number Diff line number Diff line Loading @@ -52,7 +52,7 @@ class SubscriptionActivationRepository( Log.i(TAG, "Unable to toggle subscription due to unusable subscription ID.") return } if (!active && isEmergencyCallbackMode(subId)) { if (isEmergencyCallbackMode(subId)) { val intent = Intent(ACTION_SHOW_NOTICE_ECM_BLOCK_OTHERS).apply { setPackage(Utils.PHONE_PACKAGE_NAME) } Loading tests/spa_unit/src/com/android/settings/network/telephony/SubscriptionActivationRepositoryTest.kt +28 −0 Original line number Diff line number Diff line Loading @@ -17,12 +17,15 @@ package com.android.settings.network.telephony import android.content.Context import android.content.Intent import android.os.UserHandle import android.telephony.SubscriptionManager import android.telephony.TelephonyManager import android.telephony.TelephonyManager.ACTION_SHOW_NOTICE_ECM_BLOCK_OTHERS import androidx.test.core.app.ApplicationProvider import androidx.test.ext.junit.runners.AndroidJUnit4 import com.android.settings.network.SatelliteRepository import com.android.settings.network.SimOnboardingActivity import com.android.settingslib.spa.testutils.firstWithTimeoutOrNull import com.google.common.truth.Truth.assertThat import kotlinx.coroutines.flow.flowOf Loading @@ -33,6 +36,7 @@ import org.mockito.kotlin.any import org.mockito.kotlin.argThat import org.mockito.kotlin.doNothing import org.mockito.kotlin.doReturn import org.mockito.kotlin.eq import org.mockito.kotlin.mock import org.mockito.kotlin.never import org.mockito.kotlin.spy Loading Loading @@ -107,6 +111,17 @@ class SubscriptionActivationRepositoryTest { verify(context, never()).startActivity(any()) } @Test fun setActive_turnOnAndIsEmergencyCallbackMode() = runBlocking { mockTelephonyManager.stub { on { emergencyCallbackMode } doReturn true } repository.setActive(subId = SUB_ID, active = true) verify(context).startActivity(argThat { action == ACTION_SHOW_NOTICE_ECM_BLOCK_OTHERS }) } @Test fun setActive_turnOffAndIsEmergencyCallbackMode() = runBlocking { mockTelephonyManager.stub { Loading @@ -131,6 +146,19 @@ class SubscriptionActivationRepositoryTest { }) } @Test fun setActive_turnOnAndNotEmergencyCallbackMode() = runBlocking { mockTelephonyManager.stub { on { emergencyCallbackMode } doReturn false } repository.setActive(subId = SUB_ID, active = true) verify(context).startActivityAsUser(argThat { component?.className == SimOnboardingActivity::class.qualifiedName }, eq(UserHandle.CURRENT)) } private companion object { const val SUB_ID = 1 } Loading Loading
src/com/android/settings/network/telephony/SubscriptionActivationRepository.kt +1 −1 Original line number Diff line number Diff line Loading @@ -52,7 +52,7 @@ class SubscriptionActivationRepository( Log.i(TAG, "Unable to toggle subscription due to unusable subscription ID.") return } if (!active && isEmergencyCallbackMode(subId)) { if (isEmergencyCallbackMode(subId)) { val intent = Intent(ACTION_SHOW_NOTICE_ECM_BLOCK_OTHERS).apply { setPackage(Utils.PHONE_PACKAGE_NAME) } Loading
tests/spa_unit/src/com/android/settings/network/telephony/SubscriptionActivationRepositoryTest.kt +28 −0 Original line number Diff line number Diff line Loading @@ -17,12 +17,15 @@ package com.android.settings.network.telephony import android.content.Context import android.content.Intent import android.os.UserHandle import android.telephony.SubscriptionManager import android.telephony.TelephonyManager import android.telephony.TelephonyManager.ACTION_SHOW_NOTICE_ECM_BLOCK_OTHERS import androidx.test.core.app.ApplicationProvider import androidx.test.ext.junit.runners.AndroidJUnit4 import com.android.settings.network.SatelliteRepository import com.android.settings.network.SimOnboardingActivity import com.android.settingslib.spa.testutils.firstWithTimeoutOrNull import com.google.common.truth.Truth.assertThat import kotlinx.coroutines.flow.flowOf Loading @@ -33,6 +36,7 @@ import org.mockito.kotlin.any import org.mockito.kotlin.argThat import org.mockito.kotlin.doNothing import org.mockito.kotlin.doReturn import org.mockito.kotlin.eq import org.mockito.kotlin.mock import org.mockito.kotlin.never import org.mockito.kotlin.spy Loading Loading @@ -107,6 +111,17 @@ class SubscriptionActivationRepositoryTest { verify(context, never()).startActivity(any()) } @Test fun setActive_turnOnAndIsEmergencyCallbackMode() = runBlocking { mockTelephonyManager.stub { on { emergencyCallbackMode } doReturn true } repository.setActive(subId = SUB_ID, active = true) verify(context).startActivity(argThat { action == ACTION_SHOW_NOTICE_ECM_BLOCK_OTHERS }) } @Test fun setActive_turnOffAndIsEmergencyCallbackMode() = runBlocking { mockTelephonyManager.stub { Loading @@ -131,6 +146,19 @@ class SubscriptionActivationRepositoryTest { }) } @Test fun setActive_turnOnAndNotEmergencyCallbackMode() = runBlocking { mockTelephonyManager.stub { on { emergencyCallbackMode } doReturn false } repository.setActive(subId = SUB_ID, active = true) verify(context).startActivityAsUser(argThat { component?.className == SimOnboardingActivity::class.qualifiedName }, eq(UserHandle.CURRENT)) } private companion object { const val SUB_ID = 1 } Loading