Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit b7d640ef authored by SongFerng Wang's avatar SongFerng Wang Committed by Android (Google) Code Review
Browse files

Merge "Check if ECBMode when activate SIM card" into main

parents afb62eba 538fb340
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -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)
            }
+28 −0
Original line number Diff line number Diff line
@@ -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
@@ -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
@@ -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 {
@@ -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
    }