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"
settings:controller="com.android.settings.network.telephony.AutoDataSwitchPreferenceController"/>
<!-- Settings search is handled by RoamingSearchItem. -->
<com.android.settings.spa.preference.ComposePreference
android:key="button_roaming_key"
android:title="@string/roaming"
settings:searchable="false"
settings:controller="com.android.settings.network.telephony.RoamingPreferenceController"/>
<Preference

View File

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

View File

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