Loading src/com/android/settings/network/telephony/WifiCallingPreferenceController.kt +4 −5 Original line number Diff line number Diff line Loading @@ -29,8 +29,7 @@ import androidx.lifecycle.repeatOnLifecycle import androidx.preference.Preference import androidx.preference.PreferenceScreen import com.android.settings.R import com.android.settings.network.telephony.ims.ImsMmTelRepository import com.android.settings.network.telephony.ims.ImsMmTelRepositoryImpl import com.android.settings.network.telephony.wificalling.WifiCallingRepository import com.android.settingslib.spa.framework.util.collectLatestWithLifecycle import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.flow.Flow Loading @@ -46,8 +45,8 @@ open class WifiCallingPreferenceController @JvmOverloads constructor( context: Context, key: String, private val callStateFlowFactory: (subId: Int) -> Flow<Int> = context::callStateFlow, private val imsMmTelRepositoryFactory: (subId: Int) -> ImsMmTelRepository = { subId -> ImsMmTelRepositoryImpl(context, subId) private val wifiCallingRepository: (subId: Int) -> WifiCallingRepository = { subId -> WifiCallingRepository(context, subId) }, ) : TelephonyBasePreferenceController(context, key) { Loading Loading @@ -123,7 +122,7 @@ open class WifiCallingPreferenceController @JvmOverloads constructor( } private fun getSummaryForWfcMode(): String { val resId = when (imsMmTelRepositoryFactory(mSubId).getWiFiCallingMode()) { val resId = when (wifiCallingRepository(mSubId).getWiFiCallingMode()) { ImsMmTelManager.WIFI_MODE_WIFI_ONLY -> com.android.internal.R.string.wfc_mode_wifi_only_summary Loading src/com/android/settings/network/telephony/ims/ImsMmTelRepository.kt +5 −21 Original line number Diff line number Diff line /* * Copyright (C) 2023 The Android Open Source Project * Copyright (C) 2024 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. Loading @@ -17,9 +17,6 @@ package com.android.settings.network.telephony.ims import android.content.Context import android.telephony.CarrierConfigManager import android.telephony.CarrierConfigManager.KEY_USE_WFC_HOME_NETWORK_MODE_IN_ROAMING_NETWORK_BOOL import android.telephony.TelephonyManager import android.telephony.ims.ImsManager import android.telephony.ims.ImsMmTelManager import android.telephony.ims.ImsMmTelManager.WiFiCallingMode Loading @@ -27,7 +24,7 @@ import android.util.Log interface ImsMmTelRepository { @WiFiCallingMode fun getWiFiCallingMode(): Int fun getWiFiCallingMode(useRoamingMode: Boolean): Int } class ImsMmTelRepositoryImpl( Loading @@ -36,31 +33,18 @@ class ImsMmTelRepositoryImpl( private val imsMmTelManager: ImsMmTelManager = ImsManager(context).getImsMmTelManager(subId), ) : ImsMmTelRepository { private val telephonyManager = context.getSystemService(TelephonyManager::class.java)!! .createForSubscriptionId(subId) private val carrierConfigManager = context.getSystemService(CarrierConfigManager::class.java)!! @WiFiCallingMode override fun getWiFiCallingMode(): Int = try { override fun getWiFiCallingMode(useRoamingMode: Boolean): Int = try { when { !imsMmTelManager.isVoWiFiSettingEnabled -> ImsMmTelManager.WIFI_MODE_UNKNOWN telephonyManager.isNetworkRoaming && !useWfcHomeModeForRoaming() -> imsMmTelManager.getVoWiFiRoamingModeSetting() useRoamingMode -> imsMmTelManager.getVoWiFiRoamingModeSetting() else -> imsMmTelManager.getVoWiFiModeSetting() } } catch (e: IllegalArgumentException) { Log.w(TAG, "getWiFiCallingMode failed subId=$subId", e) Log.w(TAG, "[$subId] getWiFiCallingMode failed useRoamingMode=$useRoamingMode", e) ImsMmTelManager.WIFI_MODE_UNKNOWN } private fun useWfcHomeModeForRoaming(): Boolean = carrierConfigManager .getConfigForSubId(subId, KEY_USE_WFC_HOME_NETWORK_MODE_IN_ROAMING_NETWORK_BOOL) .getBoolean(KEY_USE_WFC_HOME_NETWORK_MODE_IN_ROAMING_NETWORK_BOOL) private companion object { private const val TAG = "ImsMmTelRepository" } Loading src/com/android/settings/network/telephony/wificalling/WifiCallingRepository.kt 0 → 100644 +47 −0 Original line number Diff line number Diff line /* * Copyright (C) 2024 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package com.android.settings.network.telephony.wificalling import android.content.Context import android.telephony.CarrierConfigManager import android.telephony.CarrierConfigManager.KEY_USE_WFC_HOME_NETWORK_MODE_IN_ROAMING_NETWORK_BOOL import android.telephony.TelephonyManager import android.telephony.ims.ImsMmTelManager.WiFiCallingMode import com.android.settings.network.telephony.ims.ImsMmTelRepository import com.android.settings.network.telephony.ims.ImsMmTelRepositoryImpl class WifiCallingRepository( private val context: Context, private val subId: Int, private val imsMmTelRepository : ImsMmTelRepository = ImsMmTelRepositoryImpl(context, subId) ) { private val telephonyManager = context.getSystemService(TelephonyManager::class.java)!! .createForSubscriptionId(subId) private val carrierConfigManager = context.getSystemService(CarrierConfigManager::class.java)!! @WiFiCallingMode fun getWiFiCallingMode(): Int { val useRoamingMode = telephonyManager.isNetworkRoaming && !useWfcHomeModeForRoaming() return imsMmTelRepository.getWiFiCallingMode(useRoamingMode) } private fun useWfcHomeModeForRoaming(): Boolean = carrierConfigManager .getConfigForSubId(subId, KEY_USE_WFC_HOME_NETWORK_MODE_IN_ROAMING_NETWORK_BOOL) .getBoolean(KEY_USE_WFC_HOME_NETWORK_MODE_IN_ROAMING_NETWORK_BOOL) } tests/spa_unit/src/com/android/settings/network/telephony/WifiCallingPreferenceControllerTest.kt +7 −6 Original line number Diff line number Diff line Loading @@ -29,7 +29,7 @@ import androidx.preference.Preference import androidx.preference.PreferenceManager import androidx.test.core.app.ApplicationProvider import androidx.test.ext.junit.runners.AndroidJUnit4 import com.android.settings.network.telephony.ims.ImsMmTelRepository import com.android.settings.network.telephony.wificalling.WifiCallingRepository import com.google.common.truth.Truth.assertThat import kotlinx.coroutines.delay import kotlinx.coroutines.flow.flowOf Loading Loading @@ -60,9 +60,8 @@ class WifiCallingPreferenceControllerTest { private var callState = TelephonyManager.CALL_STATE_IDLE private object FakeImsMmTelRepository : ImsMmTelRepository { var wiFiMode = ImsMmTelManager.WIFI_MODE_UNKNOWN override fun getWiFiCallingMode() = wiFiMode private val mockWifiCallingRepository = mock<WifiCallingRepository> { on { getWiFiCallingMode() } doReturn ImsMmTelManager.WIFI_MODE_UNKNOWN } private val callingPreferenceCategoryController = Loading @@ -72,7 +71,7 @@ class WifiCallingPreferenceControllerTest { context = context, key = TEST_KEY, callStateFlowFactory = { flowOf(callState) }, imsMmTelRepositoryFactory = { FakeImsMmTelRepository }, wifiCallingRepository = { mockWifiCallingRepository }, ).init(subId = SUB_ID, callingPreferenceCategoryController) @Before Loading @@ -86,7 +85,9 @@ class WifiCallingPreferenceControllerTest { mockTelecomManager.stub { on { getSimCallManagerForSubscription(SUB_ID) } doReturn null } FakeImsMmTelRepository.wiFiMode = ImsMmTelManager.WIFI_MODE_WIFI_ONLY mockWifiCallingRepository.stub { on { getWiFiCallingMode() } doReturn ImsMmTelManager.WIFI_MODE_WIFI_ONLY } controller.onViewCreated(TestLifecycleOwner()) delay(100) Loading tests/spa_unit/src/com/android/settings/network/telephony/ims/ImsMmTelRepositoryTest.kt +7 −52 Original line number Diff line number Diff line Loading @@ -17,11 +17,7 @@ package com.android.settings.network.telephony.ims import android.content.Context import android.telephony.CarrierConfigManager import android.telephony.CarrierConfigManager.KEY_USE_WFC_HOME_NETWORK_MODE_IN_ROAMING_NETWORK_BOOL import android.telephony.TelephonyManager import android.telephony.ims.ImsMmTelManager import androidx.core.os.persistableBundleOf import androidx.test.core.app.ApplicationProvider import androidx.test.ext.junit.runners.AndroidJUnit4 import com.google.common.truth.Truth.assertThat Loading @@ -30,21 +26,11 @@ import org.junit.runner.RunWith import org.mockito.kotlin.doReturn import org.mockito.kotlin.doThrow import org.mockito.kotlin.mock import org.mockito.kotlin.spy import org.mockito.kotlin.stub @RunWith(AndroidJUnit4::class) class ImsMmTelRepositoryTest { private val mockTelephonyManager = mock<TelephonyManager> { on { createForSubscriptionId(SUB_ID) } doReturn mock } private val mockCarrierConfigManager = mock<CarrierConfigManager>() private val context: Context = spy(ApplicationProvider.getApplicationContext()) { on { getSystemService(TelephonyManager::class.java) } doReturn mockTelephonyManager on { getSystemService(CarrierConfigManager::class.java) } doReturn mockCarrierConfigManager } private val context: Context = ApplicationProvider.getApplicationContext() private val mockImsMmTelManager = mock<ImsMmTelManager> { on { isVoWiFiSettingEnabled } doReturn true Loading @@ -60,42 +46,21 @@ class ImsMmTelRepositoryTest { on { isVoWiFiSettingEnabled } doReturn false } val wiFiCallingMode = repository.getWiFiCallingMode() val wiFiCallingMode = repository.getWiFiCallingMode(false) assertThat(wiFiCallingMode).isEqualTo(ImsMmTelManager.WIFI_MODE_UNKNOWN) } @Test fun getWiFiCallingMode_roamingAndNotUseWfcHomeModeForRoaming_returnRoamingSetting() { mockTelephonyManager.stub { on { isNetworkRoaming } doReturn true } mockUseWfcHomeModeForRoaming(false) val wiFiCallingMode = repository.getWiFiCallingMode() fun getWiFiCallingMode_useRoamingMode_returnRoamingSetting() { val wiFiCallingMode = repository.getWiFiCallingMode(true) assertThat(wiFiCallingMode).isEqualTo(mockImsMmTelManager.getVoWiFiRoamingModeSetting()) } @Test fun getWiFiCallingMode_roamingAndUseWfcHomeModeForRoaming_returnHomeSetting() { mockTelephonyManager.stub { on { isNetworkRoaming } doReturn true } mockUseWfcHomeModeForRoaming(true) val wiFiCallingMode = repository.getWiFiCallingMode() assertThat(wiFiCallingMode).isEqualTo(mockImsMmTelManager.getVoWiFiModeSetting()) } @Test fun getWiFiCallingMode_notRoaming_returnHomeSetting() { mockTelephonyManager.stub { on { isNetworkRoaming } doReturn false } val wiFiCallingMode = repository.getWiFiCallingMode() fun getWiFiCallingMode_notSseRoamingMode_returnHomeSetting() { val wiFiCallingMode = repository.getWiFiCallingMode(false) assertThat(wiFiCallingMode).isEqualTo(mockImsMmTelManager.getVoWiFiModeSetting()) } Loading @@ -106,21 +71,11 @@ class ImsMmTelRepositoryTest { on { isVoWiFiSettingEnabled } doThrow IllegalArgumentException() } val wiFiCallingMode = repository.getWiFiCallingMode() val wiFiCallingMode = repository.getWiFiCallingMode(false) assertThat(wiFiCallingMode).isEqualTo(ImsMmTelManager.WIFI_MODE_UNKNOWN) } private fun mockUseWfcHomeModeForRoaming(config: Boolean) { mockCarrierConfigManager.stub { on { getConfigForSubId(SUB_ID, KEY_USE_WFC_HOME_NETWORK_MODE_IN_ROAMING_NETWORK_BOOL) } doReturn persistableBundleOf( KEY_USE_WFC_HOME_NETWORK_MODE_IN_ROAMING_NETWORK_BOOL to config, ) } } private companion object { const val SUB_ID = 1 } Loading Loading
src/com/android/settings/network/telephony/WifiCallingPreferenceController.kt +4 −5 Original line number Diff line number Diff line Loading @@ -29,8 +29,7 @@ import androidx.lifecycle.repeatOnLifecycle import androidx.preference.Preference import androidx.preference.PreferenceScreen import com.android.settings.R import com.android.settings.network.telephony.ims.ImsMmTelRepository import com.android.settings.network.telephony.ims.ImsMmTelRepositoryImpl import com.android.settings.network.telephony.wificalling.WifiCallingRepository import com.android.settingslib.spa.framework.util.collectLatestWithLifecycle import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.flow.Flow Loading @@ -46,8 +45,8 @@ open class WifiCallingPreferenceController @JvmOverloads constructor( context: Context, key: String, private val callStateFlowFactory: (subId: Int) -> Flow<Int> = context::callStateFlow, private val imsMmTelRepositoryFactory: (subId: Int) -> ImsMmTelRepository = { subId -> ImsMmTelRepositoryImpl(context, subId) private val wifiCallingRepository: (subId: Int) -> WifiCallingRepository = { subId -> WifiCallingRepository(context, subId) }, ) : TelephonyBasePreferenceController(context, key) { Loading Loading @@ -123,7 +122,7 @@ open class WifiCallingPreferenceController @JvmOverloads constructor( } private fun getSummaryForWfcMode(): String { val resId = when (imsMmTelRepositoryFactory(mSubId).getWiFiCallingMode()) { val resId = when (wifiCallingRepository(mSubId).getWiFiCallingMode()) { ImsMmTelManager.WIFI_MODE_WIFI_ONLY -> com.android.internal.R.string.wfc_mode_wifi_only_summary Loading
src/com/android/settings/network/telephony/ims/ImsMmTelRepository.kt +5 −21 Original line number Diff line number Diff line /* * Copyright (C) 2023 The Android Open Source Project * Copyright (C) 2024 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. Loading @@ -17,9 +17,6 @@ package com.android.settings.network.telephony.ims import android.content.Context import android.telephony.CarrierConfigManager import android.telephony.CarrierConfigManager.KEY_USE_WFC_HOME_NETWORK_MODE_IN_ROAMING_NETWORK_BOOL import android.telephony.TelephonyManager import android.telephony.ims.ImsManager import android.telephony.ims.ImsMmTelManager import android.telephony.ims.ImsMmTelManager.WiFiCallingMode Loading @@ -27,7 +24,7 @@ import android.util.Log interface ImsMmTelRepository { @WiFiCallingMode fun getWiFiCallingMode(): Int fun getWiFiCallingMode(useRoamingMode: Boolean): Int } class ImsMmTelRepositoryImpl( Loading @@ -36,31 +33,18 @@ class ImsMmTelRepositoryImpl( private val imsMmTelManager: ImsMmTelManager = ImsManager(context).getImsMmTelManager(subId), ) : ImsMmTelRepository { private val telephonyManager = context.getSystemService(TelephonyManager::class.java)!! .createForSubscriptionId(subId) private val carrierConfigManager = context.getSystemService(CarrierConfigManager::class.java)!! @WiFiCallingMode override fun getWiFiCallingMode(): Int = try { override fun getWiFiCallingMode(useRoamingMode: Boolean): Int = try { when { !imsMmTelManager.isVoWiFiSettingEnabled -> ImsMmTelManager.WIFI_MODE_UNKNOWN telephonyManager.isNetworkRoaming && !useWfcHomeModeForRoaming() -> imsMmTelManager.getVoWiFiRoamingModeSetting() useRoamingMode -> imsMmTelManager.getVoWiFiRoamingModeSetting() else -> imsMmTelManager.getVoWiFiModeSetting() } } catch (e: IllegalArgumentException) { Log.w(TAG, "getWiFiCallingMode failed subId=$subId", e) Log.w(TAG, "[$subId] getWiFiCallingMode failed useRoamingMode=$useRoamingMode", e) ImsMmTelManager.WIFI_MODE_UNKNOWN } private fun useWfcHomeModeForRoaming(): Boolean = carrierConfigManager .getConfigForSubId(subId, KEY_USE_WFC_HOME_NETWORK_MODE_IN_ROAMING_NETWORK_BOOL) .getBoolean(KEY_USE_WFC_HOME_NETWORK_MODE_IN_ROAMING_NETWORK_BOOL) private companion object { private const val TAG = "ImsMmTelRepository" } Loading
src/com/android/settings/network/telephony/wificalling/WifiCallingRepository.kt 0 → 100644 +47 −0 Original line number Diff line number Diff line /* * Copyright (C) 2024 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package com.android.settings.network.telephony.wificalling import android.content.Context import android.telephony.CarrierConfigManager import android.telephony.CarrierConfigManager.KEY_USE_WFC_HOME_NETWORK_MODE_IN_ROAMING_NETWORK_BOOL import android.telephony.TelephonyManager import android.telephony.ims.ImsMmTelManager.WiFiCallingMode import com.android.settings.network.telephony.ims.ImsMmTelRepository import com.android.settings.network.telephony.ims.ImsMmTelRepositoryImpl class WifiCallingRepository( private val context: Context, private val subId: Int, private val imsMmTelRepository : ImsMmTelRepository = ImsMmTelRepositoryImpl(context, subId) ) { private val telephonyManager = context.getSystemService(TelephonyManager::class.java)!! .createForSubscriptionId(subId) private val carrierConfigManager = context.getSystemService(CarrierConfigManager::class.java)!! @WiFiCallingMode fun getWiFiCallingMode(): Int { val useRoamingMode = telephonyManager.isNetworkRoaming && !useWfcHomeModeForRoaming() return imsMmTelRepository.getWiFiCallingMode(useRoamingMode) } private fun useWfcHomeModeForRoaming(): Boolean = carrierConfigManager .getConfigForSubId(subId, KEY_USE_WFC_HOME_NETWORK_MODE_IN_ROAMING_NETWORK_BOOL) .getBoolean(KEY_USE_WFC_HOME_NETWORK_MODE_IN_ROAMING_NETWORK_BOOL) }
tests/spa_unit/src/com/android/settings/network/telephony/WifiCallingPreferenceControllerTest.kt +7 −6 Original line number Diff line number Diff line Loading @@ -29,7 +29,7 @@ import androidx.preference.Preference import androidx.preference.PreferenceManager import androidx.test.core.app.ApplicationProvider import androidx.test.ext.junit.runners.AndroidJUnit4 import com.android.settings.network.telephony.ims.ImsMmTelRepository import com.android.settings.network.telephony.wificalling.WifiCallingRepository import com.google.common.truth.Truth.assertThat import kotlinx.coroutines.delay import kotlinx.coroutines.flow.flowOf Loading Loading @@ -60,9 +60,8 @@ class WifiCallingPreferenceControllerTest { private var callState = TelephonyManager.CALL_STATE_IDLE private object FakeImsMmTelRepository : ImsMmTelRepository { var wiFiMode = ImsMmTelManager.WIFI_MODE_UNKNOWN override fun getWiFiCallingMode() = wiFiMode private val mockWifiCallingRepository = mock<WifiCallingRepository> { on { getWiFiCallingMode() } doReturn ImsMmTelManager.WIFI_MODE_UNKNOWN } private val callingPreferenceCategoryController = Loading @@ -72,7 +71,7 @@ class WifiCallingPreferenceControllerTest { context = context, key = TEST_KEY, callStateFlowFactory = { flowOf(callState) }, imsMmTelRepositoryFactory = { FakeImsMmTelRepository }, wifiCallingRepository = { mockWifiCallingRepository }, ).init(subId = SUB_ID, callingPreferenceCategoryController) @Before Loading @@ -86,7 +85,9 @@ class WifiCallingPreferenceControllerTest { mockTelecomManager.stub { on { getSimCallManagerForSubscription(SUB_ID) } doReturn null } FakeImsMmTelRepository.wiFiMode = ImsMmTelManager.WIFI_MODE_WIFI_ONLY mockWifiCallingRepository.stub { on { getWiFiCallingMode() } doReturn ImsMmTelManager.WIFI_MODE_WIFI_ONLY } controller.onViewCreated(TestLifecycleOwner()) delay(100) Loading
tests/spa_unit/src/com/android/settings/network/telephony/ims/ImsMmTelRepositoryTest.kt +7 −52 Original line number Diff line number Diff line Loading @@ -17,11 +17,7 @@ package com.android.settings.network.telephony.ims import android.content.Context import android.telephony.CarrierConfigManager import android.telephony.CarrierConfigManager.KEY_USE_WFC_HOME_NETWORK_MODE_IN_ROAMING_NETWORK_BOOL import android.telephony.TelephonyManager import android.telephony.ims.ImsMmTelManager import androidx.core.os.persistableBundleOf import androidx.test.core.app.ApplicationProvider import androidx.test.ext.junit.runners.AndroidJUnit4 import com.google.common.truth.Truth.assertThat Loading @@ -30,21 +26,11 @@ import org.junit.runner.RunWith import org.mockito.kotlin.doReturn import org.mockito.kotlin.doThrow import org.mockito.kotlin.mock import org.mockito.kotlin.spy import org.mockito.kotlin.stub @RunWith(AndroidJUnit4::class) class ImsMmTelRepositoryTest { private val mockTelephonyManager = mock<TelephonyManager> { on { createForSubscriptionId(SUB_ID) } doReturn mock } private val mockCarrierConfigManager = mock<CarrierConfigManager>() private val context: Context = spy(ApplicationProvider.getApplicationContext()) { on { getSystemService(TelephonyManager::class.java) } doReturn mockTelephonyManager on { getSystemService(CarrierConfigManager::class.java) } doReturn mockCarrierConfigManager } private val context: Context = ApplicationProvider.getApplicationContext() private val mockImsMmTelManager = mock<ImsMmTelManager> { on { isVoWiFiSettingEnabled } doReturn true Loading @@ -60,42 +46,21 @@ class ImsMmTelRepositoryTest { on { isVoWiFiSettingEnabled } doReturn false } val wiFiCallingMode = repository.getWiFiCallingMode() val wiFiCallingMode = repository.getWiFiCallingMode(false) assertThat(wiFiCallingMode).isEqualTo(ImsMmTelManager.WIFI_MODE_UNKNOWN) } @Test fun getWiFiCallingMode_roamingAndNotUseWfcHomeModeForRoaming_returnRoamingSetting() { mockTelephonyManager.stub { on { isNetworkRoaming } doReturn true } mockUseWfcHomeModeForRoaming(false) val wiFiCallingMode = repository.getWiFiCallingMode() fun getWiFiCallingMode_useRoamingMode_returnRoamingSetting() { val wiFiCallingMode = repository.getWiFiCallingMode(true) assertThat(wiFiCallingMode).isEqualTo(mockImsMmTelManager.getVoWiFiRoamingModeSetting()) } @Test fun getWiFiCallingMode_roamingAndUseWfcHomeModeForRoaming_returnHomeSetting() { mockTelephonyManager.stub { on { isNetworkRoaming } doReturn true } mockUseWfcHomeModeForRoaming(true) val wiFiCallingMode = repository.getWiFiCallingMode() assertThat(wiFiCallingMode).isEqualTo(mockImsMmTelManager.getVoWiFiModeSetting()) } @Test fun getWiFiCallingMode_notRoaming_returnHomeSetting() { mockTelephonyManager.stub { on { isNetworkRoaming } doReturn false } val wiFiCallingMode = repository.getWiFiCallingMode() fun getWiFiCallingMode_notSseRoamingMode_returnHomeSetting() { val wiFiCallingMode = repository.getWiFiCallingMode(false) assertThat(wiFiCallingMode).isEqualTo(mockImsMmTelManager.getVoWiFiModeSetting()) } Loading @@ -106,21 +71,11 @@ class ImsMmTelRepositoryTest { on { isVoWiFiSettingEnabled } doThrow IllegalArgumentException() } val wiFiCallingMode = repository.getWiFiCallingMode() val wiFiCallingMode = repository.getWiFiCallingMode(false) assertThat(wiFiCallingMode).isEqualTo(ImsMmTelManager.WIFI_MODE_UNKNOWN) } private fun mockUseWfcHomeModeForRoaming(config: Boolean) { mockCarrierConfigManager.stub { on { getConfigForSubId(SUB_ID, KEY_USE_WFC_HOME_NETWORK_MODE_IN_ROAMING_NETWORK_BOOL) } doReturn persistableBundleOf( KEY_USE_WFC_HOME_NETWORK_MODE_IN_ROAMING_NETWORK_BOOL to config, ) } } private companion object { const val SUB_ID = 1 } Loading