Merge "Settings search for Roaming" into main
This commit is contained in:
@@ -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
|
||||
|
@@ -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),
|
||||
)
|
||||
|
@@ -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)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user