Merge "Settings search for Roaming" into main

This commit is contained in:
Chaohui Wang
2024-08-05 06:54:41 +00:00
committed by Android (Google) Code Review
3 changed files with 20 additions and 9 deletions

View File

@@ -85,9 +85,10 @@
android:summary="@string/auto_data_switch_summary" android:summary="@string/auto_data_switch_summary"
settings:controller="com.android.settings.network.telephony.AutoDataSwitchPreferenceController"/> settings:controller="com.android.settings.network.telephony.AutoDataSwitchPreferenceController"/>
<!-- Settings search is handled by RoamingSearchItem. -->
<com.android.settings.spa.preference.ComposePreference <com.android.settings.spa.preference.ComposePreference
android:key="button_roaming_key" android:key="button_roaming_key"
android:title="@string/roaming" settings:searchable="false"
settings:controller="com.android.settings.network.telephony.RoamingPreferenceController"/> settings:controller="com.android.settings.network.telephony.RoamingPreferenceController"/>
<Preference <Preference

View File

@@ -23,6 +23,7 @@ import com.android.settings.R
import com.android.settings.network.SubscriptionUtil import com.android.settings.network.SubscriptionUtil
import com.android.settings.network.telephony.MmsMessagePreferenceController.Companion.MmsMessageSearchItem import com.android.settings.network.telephony.MmsMessagePreferenceController.Companion.MmsMessageSearchItem
import com.android.settings.network.telephony.NrAdvancedCallingPreferenceController.Companion.NrAdvancedCallingSearchItem import com.android.settings.network.telephony.NrAdvancedCallingPreferenceController.Companion.NrAdvancedCallingSearchItem
import com.android.settings.network.telephony.RoamingPreferenceController.Companion.RoamingSearchItem
import com.android.settings.spa.SpaSearchLanding.BundleValue import com.android.settings.spa.SpaSearchLanding.BundleValue
import com.android.settings.spa.SpaSearchLanding.SpaSearchLandingFragment import com.android.settings.spa.SpaSearchLanding.SpaSearchLandingFragment
import com.android.settings.spa.SpaSearchLanding.SpaSearchLandingKey import com.android.settings.spa.SpaSearchLanding.SpaSearchLandingKey
@@ -111,6 +112,7 @@ class MobileNetworkSettingsSearchIndex(
fun createSearchItems(context: Context): List<MobileNetworkSettingsSearchItem> = fun createSearchItems(context: Context): List<MobileNetworkSettingsSearchItem> =
listOf( listOf(
RoamingSearchItem(context),
MmsMessageSearchItem(context), MmsMessageSearchItem(context),
NrAdvancedCallingSearchItem(context), NrAdvancedCallingSearchItem(context),
) )

View File

@@ -29,6 +29,7 @@ import androidx.compose.ui.res.stringResource
import androidx.fragment.app.FragmentManager import androidx.fragment.app.FragmentManager
import androidx.lifecycle.compose.collectAsStateWithLifecycle import androidx.lifecycle.compose.collectAsStateWithLifecycle
import com.android.settings.R import com.android.settings.R
import com.android.settings.network.telephony.MobileNetworkSettingsSearchIndex.MobileNetworkSettingsSearchItem
import com.android.settings.spa.preference.ComposePreferenceController import com.android.settings.spa.preference.ComposePreferenceController
import com.android.settingslib.spa.widget.preference.SwitchPreferenceModel import com.android.settingslib.spa.widget.preference.SwitchPreferenceModel
import com.android.settingslib.spaprivileged.model.enterprise.Restrictions import com.android.settingslib.spaprivileged.model.enterprise.Restrictions
@@ -47,6 +48,7 @@ constructor(
private var telephonyManager = context.getSystemService(TelephonyManager::class.java)!! private var telephonyManager = context.getSystemService(TelephonyManager::class.java)!!
private val carrierConfigRepository = CarrierConfigRepository(context) private val carrierConfigRepository = CarrierConfigRepository(context)
private val roamingSearchItem = RoamingSearchItem(context)
fun init(fragmentManager: FragmentManager, subId: Int) { fun init(fragmentManager: FragmentManager, subId: Int) {
this.fragmentManager = fragmentManager this.fragmentManager = fragmentManager
@@ -54,14 +56,8 @@ constructor(
telephonyManager = telephonyManager.createForSubscriptionId(subId) telephonyManager = telephonyManager.createForSubscriptionId(subId)
} }
override fun getAvailabilityStatus(): Int { override fun getAvailabilityStatus() =
if (!SubscriptionManager.isValidSubscriptionId(subId)) return CONDITIONALLY_UNAVAILABLE if (roamingSearchItem.isAvailable(subId)) AVAILABLE else CONDITIONALLY_UNAVAILABLE
val isForceHomeNetwork =
carrierConfigRepository.getBoolean(
subId, CarrierConfigManager.KEY_FORCE_HOME_NETWORK_BOOL)
return if (isForceHomeNetwork) CONDITIONALLY_UNAVAILABLE else AVAILABLE
}
@Composable @Composable
override fun Content() { override fun Content() {
@@ -101,5 +97,17 @@ constructor(
companion object { companion object {
private const val DIALOG_TAG = "MobileDataDialog" 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)
private val carrierConfigRepository = CarrierConfigRepository(context)
override fun isAvailable(subId: Int): Boolean =
SubscriptionManager.isValidSubscriptionId(subId) &&
!carrierConfigRepository.getBoolean(
subId, CarrierConfigManager.KEY_FORCE_HOME_NETWORK_BOOL)
}
} }
} }