diff --git a/res/xml/mobile_network_settings.xml b/res/xml/mobile_network_settings.xml
index 539c145e4e2..eb80ac84162 100644
--- a/res/xml/mobile_network_settings.xml
+++ b/res/xml/mobile_network_settings.xml
@@ -152,6 +152,7 @@
android:summary="@string/contact_discovery_opt_in_summary"
settings:controller="com.android.settings.network.telephony.ContactDiscoveryPreferenceController"/>
+
+
NetworkModePreferenceType.None
+ config.worldPhone -> NetworkModePreferenceType.PreferredNetworkMode
+ else -> NetworkModePreferenceType.EnabledNetworkMode
+ }
+}
+
+class PreferredNetworkModeSearchItem(private val context: Context) :
+ MobileNetworkSettingsSearchItem {
+ private val title: String = context.getString(R.string.preferred_network_mode_title)
+
+ override fun getSearchResult(subId: Int): MobileNetworkSettingsSearchResult? =
+ when (getNetworkModePreferenceType(context, subId)) {
+ NetworkModePreferenceType.PreferredNetworkMode ->
+ MobileNetworkSettingsSearchResult(
+ key = "preferred_network_mode_key",
+ title = title,
+ )
+
+ NetworkModePreferenceType.EnabledNetworkMode ->
+ MobileNetworkSettingsSearchResult(
+ key = "enabled_networks_key",
+ title = title,
+ )
+
+ else -> null
+ }
+}
diff --git a/src/com/android/settings/network/telephony/MmsMessagePreferenceController.kt b/src/com/android/settings/network/telephony/MmsMessagePreferenceController.kt
index c929d5ca897..220218c9473 100644
--- a/src/com/android/settings/network/telephony/MmsMessagePreferenceController.kt
+++ b/src/com/android/settings/network/telephony/MmsMessagePreferenceController.kt
@@ -20,11 +20,13 @@ import android.content.Context
import android.telephony.SubscriptionManager
import android.telephony.TelephonyManager
import android.telephony.data.ApnSetting
+import androidx.annotation.VisibleForTesting
import androidx.lifecycle.LifecycleOwner
import androidx.preference.PreferenceScreen
import com.android.settings.R
import com.android.settings.Settings.MobileNetworkActivity.EXTRA_MMS_MESSAGE
import com.android.settings.core.TogglePreferenceController
+import com.android.settings.network.telephony.MobileNetworkSettingsSearchIndex.MobileNetworkSettingsSearchResult
import com.android.settings.network.telephony.MobileNetworkSettingsSearchIndex.MobileNetworkSettingsSearchItem
import com.android.settingslib.spa.framework.util.collectLatestWithLifecycle
import kotlinx.coroutines.flow.combine
@@ -109,7 +111,7 @@ constructor(
}
class MmsMessageSearchItem(
- context: Context,
+ private val context: Context,
private val getDefaultDataSubId: () -> Int = {
SubscriptionManager.getDefaultDataSubscriptionId()
},
@@ -117,12 +119,18 @@ constructor(
private var telephonyManager: TelephonyManager =
context.getSystemService(TelephonyManager::class.java)!!
- override val key: String = EXTRA_MMS_MESSAGE
- override val title: String = context.getString(R.string.mms_message_title)
-
- override fun isAvailable(subId: Int): Boolean =
+ @VisibleForTesting
+ fun isAvailable(subId: Int): Boolean =
getAvailabilityStatus(
telephonyManager.createForSubscriptionId(subId), subId, getDefaultDataSubId)
+
+ override fun getSearchResult(subId: Int): MobileNetworkSettingsSearchResult? {
+ if (!isAvailable(subId)) return null
+ return MobileNetworkSettingsSearchResult(
+ key = EXTRA_MMS_MESSAGE,
+ title = context.getString(R.string.mms_message_title),
+ )
+ }
}
}
}
diff --git a/src/com/android/settings/network/telephony/MobileNetworkSettingsSearchIndex.kt b/src/com/android/settings/network/telephony/MobileNetworkSettingsSearchIndex.kt
index 4e97d318033..58661f0e4fb 100644
--- a/src/com/android/settings/network/telephony/MobileNetworkSettingsSearchIndex.kt
+++ b/src/com/android/settings/network/telephony/MobileNetworkSettingsSearchIndex.kt
@@ -39,15 +39,14 @@ class MobileNetworkSettingsSearchIndex(
private val searchItemsFactory: (context: Context) -> List =
::createSearchItems,
) {
+ data class MobileNetworkSettingsSearchResult(
+ val key: String,
+ val title: String,
+ val keywords: String? = null,
+ )
+
interface MobileNetworkSettingsSearchItem {
- val key: String
-
- val title: String
-
- val keywords: String?
- get() = null
-
- fun isAvailable(subId: Int): Boolean
+ fun getSearchResult(subId: Int): MobileNetworkSettingsSearchResult?
}
fun createSearchIndexableData(): SearchIndexableData {
@@ -71,13 +70,15 @@ class MobileNetworkSettingsSearchIndex(
searchItem: MobileNetworkSettingsSearchItem,
subInfos: List
): List =
- subInfos
- .filter { searchItem.isAvailable(it.subscriptionId) }
- .map { subInfo -> searchIndexableRaw(context, searchItem, subInfo) }
+ subInfos.mapNotNull { subInfo ->
+ searchItem.getSearchResult(subInfo.subscriptionId)?.let { searchResult ->
+ searchIndexableRaw(context, searchResult, subInfo)
+ }
+ }
private fun searchIndexableRaw(
context: Context,
- searchItem: MobileNetworkSettingsSearchItem,
+ searchResult: MobileNetworkSettingsSearchResult,
subInfo: SubscriptionInfo,
): SearchIndexableRaw {
val key =
@@ -85,7 +86,7 @@ class MobileNetworkSettingsSearchIndex(
.setFragment(
SpaSearchLandingFragment.newBuilder()
.setFragmentName(MobileNetworkSettings::class.java.name)
- .setPreferenceKey(searchItem.key)
+ .setPreferenceKey(searchResult.key)
.putArguments(
Settings.EXTRA_SUB_ID,
BundleValue.newBuilder().setIntValue(subInfo.subscriptionId).build()))
@@ -94,8 +95,8 @@ class MobileNetworkSettingsSearchIndex(
return createSearchIndexableRaw(
context = context,
spaSearchLandingKey = key,
- itemTitle = searchItem.title,
- keywords = searchItem.keywords,
+ itemTitle = searchResult.title,
+ keywords = searchResult.keywords,
indexableClass = MobileNetworkSettings::class.java,
pageTitle = "$simsTitle > ${subInfo.displayName}",
)
@@ -115,6 +116,7 @@ class MobileNetworkSettingsSearchIndex(
listOf(
MmsMessageSearchItem(context),
NrAdvancedCallingSearchItem(context),
+ PreferredNetworkModeSearchItem(context),
RoamingSearchItem(context),
WifiCallingSearchItem(context),
)
diff --git a/src/com/android/settings/network/telephony/NrAdvancedCallingPreferenceController.kt b/src/com/android/settings/network/telephony/NrAdvancedCallingPreferenceController.kt
index 5c94e848270..0d8766e4df0 100644
--- a/src/com/android/settings/network/telephony/NrAdvancedCallingPreferenceController.kt
+++ b/src/com/android/settings/network/telephony/NrAdvancedCallingPreferenceController.kt
@@ -25,6 +25,7 @@ import androidx.compose.runtime.rememberCoroutineScope
import androidx.compose.ui.res.stringResource
import androidx.lifecycle.compose.collectAsStateWithLifecycle
import com.android.settings.R
+import com.android.settings.network.telephony.MobileNetworkSettingsSearchIndex.MobileNetworkSettingsSearchResult
import com.android.settings.network.telephony.MobileNetworkSettingsSearchIndex.MobileNetworkSettingsSearchItem
import com.android.settings.spa.preference.ComposePreferenceController
import com.android.settingslib.spa.widget.preference.SwitchPreference
@@ -79,12 +80,17 @@ class NrAdvancedCallingPreferenceController @JvmOverloads constructor(
companion object {
class NrAdvancedCallingSearchItem(private val context: Context) :
MobileNetworkSettingsSearchItem {
- override val key = "nr_advanced_calling"
- override val title: String = context.getString(R.string.nr_advanced_calling_title)
- override val keywords: String = context.getString(R.string.keywords_nr_advanced_calling)
- override fun isAvailable(subId: Int): Boolean =
- VoNrRepository(context, subId).isVoNrAvailable()
+ fun isAvailable(subId: Int): Boolean = VoNrRepository(context, subId).isVoNrAvailable()
+
+ override fun getSearchResult(subId: Int): MobileNetworkSettingsSearchResult? {
+ if (!isAvailable(subId)) return null
+ return MobileNetworkSettingsSearchResult(
+ key = "nr_advanced_calling",
+ title = context.getString(R.string.nr_advanced_calling_title),
+ keywords = context.getString(R.string.keywords_nr_advanced_calling),
+ )
+ }
}
}
}
diff --git a/src/com/android/settings/network/telephony/PreferredNetworkModePreferenceController.java b/src/com/android/settings/network/telephony/PreferredNetworkModePreferenceController.java
index bdfeace1be6..210cd879966 100644
--- a/src/com/android/settings/network/telephony/PreferredNetworkModePreferenceController.java
+++ b/src/com/android/settings/network/telephony/PreferredNetworkModePreferenceController.java
@@ -16,6 +16,8 @@
package com.android.settings.network.telephony;
+import static com.android.settings.network.telephony.EnabledNetworkModePreferenceControllerHelperKt.getNetworkModePreferenceType;
+
import android.content.Context;
import android.os.PersistableBundle;
import android.telephony.CarrierConfigManager;
@@ -27,16 +29,18 @@ import androidx.preference.ListPreference;
import androidx.preference.Preference;
import com.android.settings.R;
+import com.android.settings.core.BasePreferenceController;
import com.android.settings.network.CarrierConfigCache;
import com.android.settings.network.telephony.TelephonyConstants.TelephonyManagerConstants;
/**
* Preference controller for "Preferred network mode"
*/
-public class PreferredNetworkModePreferenceController extends TelephonyBasePreferenceController
+public class PreferredNetworkModePreferenceController extends BasePreferenceController
implements ListPreference.OnPreferenceChangeListener {
private static final String TAG = "PrefNetworkModeCtrl";
+ private int mSubId = SubscriptionManager.INVALID_SUBSCRIPTION_ID;
private CarrierConfigCache mCarrierConfigCache;
private TelephonyManager mTelephonyManager;
private boolean mIsGlobalCdma;
@@ -47,25 +51,10 @@ public class PreferredNetworkModePreferenceController extends TelephonyBasePrefe
}
@Override
- public int getAvailabilityStatus(int subId) {
- final PersistableBundle carrierConfig = mCarrierConfigCache.getConfigForSubId(subId);
- boolean visible;
- if (subId == SubscriptionManager.INVALID_SUBSCRIPTION_ID) {
- visible = false;
- } else if (carrierConfig == null) {
- visible = false;
- } else if (carrierConfig.getBoolean(
- CarrierConfigManager.KEY_HIDE_CARRIER_NETWORK_SETTINGS_BOOL)
- || carrierConfig.getBoolean(
- CarrierConfigManager.KEY_HIDE_PREFERRED_NETWORK_TYPE_BOOL)) {
- visible = false;
- } else if (carrierConfig.getBoolean(CarrierConfigManager.KEY_WORLD_PHONE_BOOL)) {
- visible = true;
- } else {
- visible = false;
- }
-
- return visible ? AVAILABLE : CONDITIONALLY_UNAVAILABLE;
+ public int getAvailabilityStatus() {
+ return getNetworkModePreferenceType(mContext, mSubId)
+ == NetworkModePreferenceType.PreferredNetworkMode
+ ? AVAILABLE : CONDITIONALLY_UNAVAILABLE;
}
@Override
diff --git a/src/com/android/settings/network/telephony/RoamingPreferenceController.kt b/src/com/android/settings/network/telephony/RoamingPreferenceController.kt
index 7633677dcb4..a5ac7d66640 100644
--- a/src/com/android/settings/network/telephony/RoamingPreferenceController.kt
+++ b/src/com/android/settings/network/telephony/RoamingPreferenceController.kt
@@ -29,6 +29,7 @@ import androidx.compose.ui.res.stringResource
import androidx.fragment.app.FragmentManager
import androidx.lifecycle.compose.collectAsStateWithLifecycle
import com.android.settings.R
+import com.android.settings.network.telephony.MobileNetworkSettingsSearchIndex.MobileNetworkSettingsSearchResult
import com.android.settings.network.telephony.MobileNetworkSettingsSearchIndex.MobileNetworkSettingsSearchItem
import com.android.settings.spa.preference.ComposePreferenceController
import com.android.settingslib.spa.widget.preference.SwitchPreferenceModel
@@ -98,16 +99,21 @@ constructor(
companion object {
private const val DIALOG_TAG = "MobileDataDialog"
- class RoamingSearchItem(context: Context) : MobileNetworkSettingsSearchItem {
- override val key = "button_roaming_key"
- override val title: String = context.getString(R.string.roaming)
-
+ class RoamingSearchItem(private val context: Context) : MobileNetworkSettingsSearchItem {
private val carrierConfigRepository = CarrierConfigRepository(context)
- override fun isAvailable(subId: Int): Boolean =
+ fun isAvailable(subId: Int): Boolean =
SubscriptionManager.isValidSubscriptionId(subId) &&
!carrierConfigRepository.getBoolean(
subId, CarrierConfigManager.KEY_FORCE_HOME_NETWORK_BOOL)
+
+ override fun getSearchResult(subId: Int): MobileNetworkSettingsSearchResult? {
+ if (!isAvailable(subId)) return null
+ return MobileNetworkSettingsSearchResult(
+ key = "button_roaming_key",
+ title = context.getString(R.string.roaming),
+ )
+ }
}
}
}
diff --git a/src/com/android/settings/network/telephony/TelephonyBasePreferenceController.java b/src/com/android/settings/network/telephony/TelephonyBasePreferenceController.java
index 3972f3900f3..ee1552083ea 100644
--- a/src/com/android/settings/network/telephony/TelephonyBasePreferenceController.java
+++ b/src/com/android/settings/network/telephony/TelephonyBasePreferenceController.java
@@ -17,9 +17,6 @@
package com.android.settings.network.telephony;
import android.content.Context;
-import android.content.res.Resources;
-import android.os.PersistableBundle;
-import android.telephony.CarrierConfigManager;
import android.telephony.SubscriptionManager;
import com.android.settings.core.BasePreferenceController;
@@ -59,29 +56,4 @@ public abstract class TelephonyBasePreferenceController extends BasePreferenceCo
public void unsetAvailabilityStatus() {
mSetSessionCount.getAndDecrement();
}
-
- /**
- * Get carrier config based on specific subscription id.
- *
- * @param subId is the subscription id
- * @return {@link PersistableBundle} of carrier config, or {@code null} when carrier config
- * is not available.
- */
- public PersistableBundle getCarrierConfigForSubId(int subId) {
- if (!SubscriptionManager.isValidSubscriptionId(subId)) {
- return null;
- }
- final CarrierConfigManager carrierConfigMgr =
- mContext.getSystemService(CarrierConfigManager.class);
- return carrierConfigMgr.getConfigForSubId(subId);
- }
-
- /**
- * Returns the resources associated with Subscription.
- *
- * @return Resources associated with Subscription.
- */
- public Resources getResourcesForSubId() {
- return SubscriptionManager.getResourcesForSubId(mContext, mSubId);
- }
}
diff --git a/src/com/android/settings/network/telephony/WifiCallingPreferenceController.kt b/src/com/android/settings/network/telephony/WifiCallingPreferenceController.kt
index 7e8e58cceb5..e04763a88c1 100644
--- a/src/com/android/settings/network/telephony/WifiCallingPreferenceController.kt
+++ b/src/com/android/settings/network/telephony/WifiCallingPreferenceController.kt
@@ -27,6 +27,7 @@ import androidx.preference.Preference
import androidx.preference.PreferenceScreen
import com.android.settings.R
import com.android.settings.core.BasePreferenceController
+import com.android.settings.network.telephony.MobileNetworkSettingsSearchIndex.MobileNetworkSettingsSearchResult
import com.android.settings.network.telephony.MobileNetworkSettingsSearchIndex.MobileNetworkSettingsSearchItem
import com.android.settings.network.telephony.wificalling.WifiCallingRepository
import com.android.settingslib.spa.framework.util.collectLatestWithLifecycle
@@ -132,12 +133,17 @@ open class WifiCallingPreferenceController @JvmOverloads constructor(
class WifiCallingSearchItem(
private val context: Context,
) : MobileNetworkSettingsSearchItem {
- override val key: String = "wifi_calling"
- override val title: String = context.getString(R.string.wifi_calling_settings_title)
-
- override fun isAvailable(subId: Int): Boolean = runBlocking {
+ private fun isAvailable(subId: Int): Boolean = runBlocking {
WifiCallingRepository(context, subId).wifiCallingReadyFlow().first()
}
+
+ override fun getSearchResult(subId: Int): MobileNetworkSettingsSearchResult? {
+ if (!isAvailable(subId)) return null
+ return MobileNetworkSettingsSearchResult(
+ key = "wifi_calling",
+ title = context.getString(R.string.wifi_calling_settings_title),
+ )
+ }
}
}
}
diff --git a/tests/spa_unit/src/com/android/settings/network/telephony/EnabledNetworkModePreferenceControllerHelperTest.kt b/tests/spa_unit/src/com/android/settings/network/telephony/EnabledNetworkModePreferenceControllerHelperTest.kt
new file mode 100644
index 00000000000..8edc90fa24c
--- /dev/null
+++ b/tests/spa_unit/src/com/android/settings/network/telephony/EnabledNetworkModePreferenceControllerHelperTest.kt
@@ -0,0 +1,96 @@
+/*
+ * 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
+
+import android.content.Context
+import android.telephony.CarrierConfigManager
+import androidx.test.core.app.ApplicationProvider
+import androidx.test.ext.junit.runners.AndroidJUnit4
+import com.google.common.truth.Truth.assertThat
+import org.junit.Before
+import org.junit.Test
+import org.junit.runner.RunWith
+import org.mockito.kotlin.spy
+
+@RunWith(AndroidJUnit4::class)
+class EnabledNetworkModePreferenceControllerHelperTest {
+
+ private var context: Context = spy(ApplicationProvider.getApplicationContext()) {}
+
+ @Before
+ fun setUp() {
+ CarrierConfigRepository.resetForTest()
+ CarrierConfigRepository.setBooleanForTest(
+ SUB_ID, CarrierConfigManager.KEY_CARRIER_CONFIG_APPLIED_BOOL, true)
+ }
+
+ @Test
+ fun getNetworkModePreferenceType_hideCarrierNetworkSettings_returnNone() {
+ CarrierConfigRepository.setBooleanForTest(
+ SUB_ID, CarrierConfigManager.KEY_HIDE_CARRIER_NETWORK_SETTINGS_BOOL, true)
+
+ val networkModePreferenceType = getNetworkModePreferenceType(context, SUB_ID)
+
+ assertThat(networkModePreferenceType).isEqualTo(NetworkModePreferenceType.None)
+ }
+
+ @Test
+ fun getNetworkModePreferenceType_hidePreferredNetworkType_returnNone() {
+ CarrierConfigRepository.setBooleanForTest(
+ SUB_ID, CarrierConfigManager.KEY_HIDE_PREFERRED_NETWORK_TYPE_BOOL, true)
+
+ val networkModePreferenceType = getNetworkModePreferenceType(context, SUB_ID)
+
+ assertThat(networkModePreferenceType).isEqualTo(NetworkModePreferenceType.None)
+ }
+
+ @Test
+ fun getNetworkModePreferenceType_carrierConfigNotReady_returnNone() {
+ CarrierConfigRepository.setBooleanForTest(
+ SUB_ID, CarrierConfigManager.KEY_CARRIER_CONFIG_APPLIED_BOOL, false)
+
+ val networkModePreferenceType = getNetworkModePreferenceType(context, SUB_ID)
+
+ assertThat(networkModePreferenceType).isEqualTo(NetworkModePreferenceType.None)
+ }
+
+ @Test
+ fun getNetworkModePreferenceType_isWorldPhone_returnPreferredNetworkMode() {
+ CarrierConfigRepository.setBooleanForTest(
+ SUB_ID, CarrierConfigManager.KEY_WORLD_PHONE_BOOL, true)
+
+ val networkModePreferenceType = getNetworkModePreferenceType(context, SUB_ID)
+
+ assertThat(networkModePreferenceType)
+ .isEqualTo(NetworkModePreferenceType.PreferredNetworkMode)
+ }
+
+ @Test
+ fun getNetworkModePreferenceType_notWorldPhone_returnEnabledNetworkMode() {
+ CarrierConfigRepository.setBooleanForTest(
+ SUB_ID, CarrierConfigManager.KEY_WORLD_PHONE_BOOL, false)
+
+ val networkModePreferenceType = getNetworkModePreferenceType(context, SUB_ID)
+
+ assertThat(networkModePreferenceType)
+ .isEqualTo(NetworkModePreferenceType.EnabledNetworkMode)
+ }
+
+ private companion object {
+ const val SUB_ID = 10
+ }
+}
diff --git a/tests/spa_unit/src/com/android/settings/network/telephony/MobileNetworkSettingsSearchIndexTest.kt b/tests/spa_unit/src/com/android/settings/network/telephony/MobileNetworkSettingsSearchIndexTest.kt
index 5e7e83c9f43..bf5120817c1 100644
--- a/tests/spa_unit/src/com/android/settings/network/telephony/MobileNetworkSettingsSearchIndexTest.kt
+++ b/tests/spa_unit/src/com/android/settings/network/telephony/MobileNetworkSettingsSearchIndexTest.kt
@@ -25,6 +25,7 @@ import androidx.test.core.app.ApplicationProvider
import androidx.test.ext.junit.runners.AndroidJUnit4
import com.android.settings.R
import com.android.settings.network.telephony.MobileNetworkSettingsSearchIndex.Companion.isMobileNetworkSettingsSearchable
+import com.android.settings.network.telephony.MobileNetworkSettingsSearchIndex.MobileNetworkSettingsSearchResult
import com.android.settings.spa.SpaSearchLanding.BundleValue
import com.android.settings.spa.SpaSearchLanding.SpaSearchLandingFragment
import com.android.settings.spa.SpaSearchLanding.SpaSearchLandingKey
@@ -62,10 +63,12 @@ class MobileNetworkSettingsSearchIndexTest {
private val mobileNetworkSettingsSearchIndex = MobileNetworkSettingsSearchIndex {
listOf(
object : MobileNetworkSettingsSearchIndex.MobileNetworkSettingsSearchItem {
- override val key = KEY
- override val title = TITLE
-
- override fun isAvailable(subId: Int) = subId == SUB_ID_1
+ override fun getSearchResult(subId: Int): MobileNetworkSettingsSearchResult? =
+ if (subId == SUB_ID_1) {
+ MobileNetworkSettingsSearchResult(key = KEY, title = TITLE)
+ } else {
+ null
+ }
})
}
diff --git a/tests/unit/src/com/android/settings/network/telephony/EnabledNetworkModePreferenceControllerTest.java b/tests/unit/src/com/android/settings/network/telephony/EnabledNetworkModePreferenceControllerTest.java
index b3d095e5453..adc8dc0cdc4 100644
--- a/tests/unit/src/com/android/settings/network/telephony/EnabledNetworkModePreferenceControllerTest.java
+++ b/tests/unit/src/com/android/settings/network/telephony/EnabledNetworkModePreferenceControllerTest.java
@@ -18,9 +18,6 @@ package com.android.settings.network.telephony;
import static androidx.lifecycle.Lifecycle.Event.ON_START;
-import static com.android.settings.core.BasePreferenceController.AVAILABLE;
-import static com.android.settings.core.BasePreferenceController.AVAILABLE_UNSEARCHABLE;
-import static com.android.settings.core.BasePreferenceController.CONDITIONALLY_UNAVAILABLE;
import static com.android.settings.network.telephony.MobileNetworkUtils.getRafFromNetworkType;
import static com.android.settings.network.telephony.TelephonyConstants.RadioAccessFamily.CDMA;
import static com.android.settings.network.telephony.TelephonyConstants.RadioAccessFamily.EVDO;
@@ -33,8 +30,6 @@ import static com.android.settings.network.telephony.TelephonyConstants.RadioAcc
import static com.google.common.truth.Truth.assertThat;
import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertTrue;
import static org.mockito.Mockito.doReturn;
import static org.mockito.Mockito.spy;
import static org.mockito.Mockito.when;
@@ -123,79 +118,6 @@ public class EnabledNetworkModePreferenceControllerTest {
mPreference.setKey(mController.getPreferenceKey());
}
- @UiThreadTest
- @Test
- public void getAvailabilityStatus_hideCarrierNetworkSettings_returnUnavailable() {
- mPersistableBundle.putBoolean(
- CarrierConfigManager.KEY_HIDE_CARRIER_NETWORK_SETTINGS_BOOL,
- true);
-
- assertThat(mController.getAvailabilityStatus()).isEqualTo(CONDITIONALLY_UNAVAILABLE);
- }
-
- @UiThreadTest
- @Test
- public void getAvailabilityStatus_hidePreferredNetworkType_returnUnavailable() {
- mPersistableBundle.putBoolean(CarrierConfigManager.KEY_HIDE_PREFERRED_NETWORK_TYPE_BOOL,
- true);
-
- when(mServiceState.getState()).thenReturn(ServiceState.STATE_OUT_OF_SERVICE);
- when(mServiceState.getDataRegistrationState()).thenReturn(
- ServiceState.STATE_OUT_OF_SERVICE);
- assertThat(mController.getAvailabilityStatus()).isEqualTo(CONDITIONALLY_UNAVAILABLE);
-
- when(mServiceState.getState()).thenReturn(ServiceState.STATE_IN_SERVICE);
- when(mServiceState.getDataRegistrationState()).thenReturn(ServiceState.STATE_IN_SERVICE);
-
- when(mServiceState.getRoaming()).thenReturn(false);
- assertThat(mController.getAvailabilityStatus()).isEqualTo(CONDITIONALLY_UNAVAILABLE);
-
- when(mServiceState.getRoaming()).thenReturn(true);
- assertThat(mController.getAvailabilityStatus()).isEqualTo(CONDITIONALLY_UNAVAILABLE);
- }
-
- @UiThreadTest
- @Test
- public void getAvailabilityStatus_carrierConfigNotReady_returnUnavailable() {
- mPersistableBundle.putBoolean(CarrierConfigManager.KEY_CARRIER_CONFIG_APPLIED_BOOL, false);
-
- assertThat(mController.getAvailabilityStatus()).isEqualTo(CONDITIONALLY_UNAVAILABLE);
- }
-
- @UiThreadTest
- @Test
- public void getAvailabilityStatus_notWorldPhone_returnAvailable() {
- mPersistableBundle.putBoolean(CarrierConfigManager.KEY_HIDE_CARRIER_NETWORK_SETTINGS_BOOL,
- false);
- mPersistableBundle.putBoolean(CarrierConfigManager.KEY_WORLD_PHONE_BOOL, false);
-
- assertThat(mController.getAvailabilityStatus()).isEqualTo(AVAILABLE);
- }
-
- @UiThreadTest
- @Test
- public void getAvailabilityStatus_callStateIsIdle_returnAvailable() {
- mockEnabledNetworkMode(TelephonyManagerConstants.NETWORK_MODE_NR_LTE_GSM_WCDMA);
- mController.getTelephonyCallback().onCallStateChanged(TelephonyManager.CALL_STATE_IDLE);
-
- mController.updateState(mPreference);
-
- assertThat(mController.getAvailabilityStatus()).isEqualTo(AVAILABLE);
- assertTrue(mPreference.isEnabled());
- }
-
- @UiThreadTest
- @Test
- public void getAvailabilityStatus_duringCalling_returnAvailable() {
- mockEnabledNetworkMode(TelephonyManagerConstants.NETWORK_MODE_NR_LTE_GSM_WCDMA);
- mController.getTelephonyCallback().onCallStateChanged(TelephonyManager.CALL_STATE_OFFHOOK);
-
- mController.updateState(mPreference);
-
- assertThat(mController.getAvailabilityStatus()).isEqualTo(AVAILABLE_UNSEARCHABLE);
- assertFalse(mPreference.isEnabled());
- }
-
@UiThreadTest
@Test
public void updateState_LteWorldPhone_GlobalHasLte() {
diff --git a/tests/unit/src/com/android/settings/network/telephony/PreferredNetworkModePreferenceControllerTest.java b/tests/unit/src/com/android/settings/network/telephony/PreferredNetworkModePreferenceControllerTest.java
index 9dbfdde3d3b..f22ad3bce8d 100644
--- a/tests/unit/src/com/android/settings/network/telephony/PreferredNetworkModePreferenceControllerTest.java
+++ b/tests/unit/src/com/android/settings/network/telephony/PreferredNetworkModePreferenceControllerTest.java
@@ -16,8 +16,6 @@
package com.android.settings.network.telephony;
-import static com.android.settings.core.BasePreferenceController.AVAILABLE;
-import static com.android.settings.core.BasePreferenceController.CONDITIONALLY_UNAVAILABLE;
import static com.android.settings.network.telephony.TelephonyConstants.RadioAccessFamily.GSM;
import static com.android.settings.network.telephony.TelephonyConstants.RadioAccessFamily.RAF_TD_SCDMA;
import static com.android.settings.network.telephony.TelephonyConstants.RadioAccessFamily.WCDMA;
@@ -32,7 +30,6 @@ import static org.mockito.Mockito.when;
import android.content.Context;
import android.os.PersistableBundle;
-import android.telephony.CarrierConfigManager;
import android.telephony.ServiceState;
import android.telephony.SubscriptionManager;
import android.telephony.TelephonyManager;
@@ -91,43 +88,6 @@ public class PreferredNetworkModePreferenceControllerTest {
mPreference.setKey(mController.getPreferenceKey());
}
- @Test
- public void getAvailabilityStatus_hideCarrierNetworkSettings_returnUnavailable() {
- mPersistableBundle.putBoolean(CarrierConfigManager.KEY_HIDE_CARRIER_NETWORK_SETTINGS_BOOL,
- true);
-
- assertThat(mController.getAvailabilityStatus()).isEqualTo(CONDITIONALLY_UNAVAILABLE);
- }
-
- @Test
- public void getAvailabilityStatus_worldPhone_returnAvailable() {
- mPersistableBundle.putBoolean(CarrierConfigManager.KEY_HIDE_CARRIER_NETWORK_SETTINGS_BOOL,
- false);
- mPersistableBundle.putBoolean(CarrierConfigManager.KEY_WORLD_PHONE_BOOL, true);
-
- assertThat(mController.getAvailabilityStatus()).isEqualTo(AVAILABLE);
- }
-
- @Test
- public void getAvailabilityStatus_hidePreferredNetworkType_returnUnavailable() {
- mPersistableBundle.putBoolean(CarrierConfigManager.KEY_HIDE_PREFERRED_NETWORK_TYPE_BOOL,
- true);
-
- when(mServiceState.getState()).thenReturn(ServiceState.STATE_OUT_OF_SERVICE);
- when(mServiceState.getDataRegistrationState()).thenReturn(
- ServiceState.STATE_OUT_OF_SERVICE);
- assertThat(mController.getAvailabilityStatus()).isEqualTo(CONDITIONALLY_UNAVAILABLE);
-
- when(mServiceState.getState()).thenReturn(ServiceState.STATE_IN_SERVICE);
- when(mServiceState.getDataRegistrationState()).thenReturn(ServiceState.STATE_IN_SERVICE);
-
- when(mServiceState.getRoaming()).thenReturn(false);
- assertThat(mController.getAvailabilityStatus()).isEqualTo(CONDITIONALLY_UNAVAILABLE);
-
- when(mServiceState.getRoaming()).thenReturn(true);
- assertThat(mController.getAvailabilityStatus()).isEqualTo(CONDITIONALLY_UNAVAILABLE);
- }
-
@Test
public void updateState_updateByNetworkMode() {
// NETWORK_MODE_TDSCDMA_GSM_WCDMA = RAF_TD_SCDMA | GSM | WCDMA