Loading res/xml/mobile_network_settings.xml +2 −2 Original line number Diff line number Diff line Loading @@ -293,10 +293,10 @@ settings:controller= "com.android.settings.network.telephony.NullAlgorithmsPreferenceController"/> <!-- Settings search is handled by NrAdvancedCallingSearchItem. --> <com.android.settings.spa.preference.ComposePreference android:key="nr_advanced_calling" android:title="@string/nr_advanced_calling_title" settings:keywords="@string/keywords_nr_advanced_calling" settings:searchable="false" settings:controller="com.android.settings.network.telephony.NrAdvancedCallingPreferenceController"/> </PreferenceCategory> Loading src/com/android/settings/network/telephony/MobileNetworkSettingsSearchIndex.kt +6 −0 Original line number Diff line number Diff line Loading @@ -22,6 +22,7 @@ import android.telephony.SubscriptionInfo 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.spa.SpaSearchLanding.BundleValue import com.android.settings.spa.SpaSearchLanding.SpaSearchLandingFragment import com.android.settings.spa.SpaSearchLanding.SpaSearchLandingKey Loading @@ -41,6 +42,9 @@ class MobileNetworkSettingsSearchIndex( val title: String val keywords: String? get() = null fun isAvailable(subId: Int): Boolean } Loading Loading @@ -89,6 +93,7 @@ class MobileNetworkSettingsSearchIndex( context = context, spaSearchLandingKey = key, itemTitle = searchItem.title, keywords = searchItem.keywords, indexableClass = MobileNetworkSettings::class.java, pageTitle = "$simsTitle > ${subInfo.displayName}", ) Loading @@ -107,6 +112,7 @@ class MobileNetworkSettingsSearchIndex( fun createSearchItems(context: Context): List<MobileNetworkSettingsSearchItem> = listOf( MmsMessageSearchItem(context), NrAdvancedCallingSearchItem(context), ) } } src/com/android/settings/network/telephony/NrAdvancedCallingPreferenceController.kt +15 −1 Original line number Diff line number Diff line Loading @@ -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.MobileNetworkSettingsSearchItem import com.android.settings.spa.preference.ComposePreferenceController import com.android.settingslib.spa.widget.preference.SwitchPreference import com.android.settingslib.spa.widget.preference.SwitchPreferenceModel Loading @@ -41,6 +42,7 @@ class NrAdvancedCallingPreferenceController @JvmOverloads constructor( ) : ComposePreferenceController(context, key) { private var subId: Int = SubscriptionManager.INVALID_SUBSCRIPTION_ID private var repository: VoNrRepository? = null private val searchItem = NrAdvancedCallingSearchItem(context) /** Initial this PreferenceController. */ @JvmOverloads Loading @@ -50,7 +52,7 @@ class NrAdvancedCallingPreferenceController @JvmOverloads constructor( } override fun getAvailabilityStatus() = if (repository?.isVoNrAvailable() == true) AVAILABLE else CONDITIONALLY_UNAVAILABLE if (searchItem.isAvailable(subId)) AVAILABLE else CONDITIONALLY_UNAVAILABLE @Composable override fun Content() { Loading @@ -73,4 +75,16 @@ 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() } } } src/com/android/settings/spa/search/SpaSearchRepository.kt +2 −0 Original line number Diff line number Diff line Loading @@ -93,10 +93,12 @@ class SpaSearchRepository( itemTitle: String, indexableClass: Class<*>, pageTitle: String, keywords: String? = null, ) = SearchIndexableRaw(context).apply { key = spaSearchLandingKey.toByteString().toStringUtf8() title = itemTitle this.keywords = keywords intentAction = SEARCH_LANDING_ACTION intentTargetClass = SpaSearchLandingActivity::class.qualifiedName packageName = context.packageName Loading Loading
res/xml/mobile_network_settings.xml +2 −2 Original line number Diff line number Diff line Loading @@ -293,10 +293,10 @@ settings:controller= "com.android.settings.network.telephony.NullAlgorithmsPreferenceController"/> <!-- Settings search is handled by NrAdvancedCallingSearchItem. --> <com.android.settings.spa.preference.ComposePreference android:key="nr_advanced_calling" android:title="@string/nr_advanced_calling_title" settings:keywords="@string/keywords_nr_advanced_calling" settings:searchable="false" settings:controller="com.android.settings.network.telephony.NrAdvancedCallingPreferenceController"/> </PreferenceCategory> Loading
src/com/android/settings/network/telephony/MobileNetworkSettingsSearchIndex.kt +6 −0 Original line number Diff line number Diff line Loading @@ -22,6 +22,7 @@ import android.telephony.SubscriptionInfo 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.spa.SpaSearchLanding.BundleValue import com.android.settings.spa.SpaSearchLanding.SpaSearchLandingFragment import com.android.settings.spa.SpaSearchLanding.SpaSearchLandingKey Loading @@ -41,6 +42,9 @@ class MobileNetworkSettingsSearchIndex( val title: String val keywords: String? get() = null fun isAvailable(subId: Int): Boolean } Loading Loading @@ -89,6 +93,7 @@ class MobileNetworkSettingsSearchIndex( context = context, spaSearchLandingKey = key, itemTitle = searchItem.title, keywords = searchItem.keywords, indexableClass = MobileNetworkSettings::class.java, pageTitle = "$simsTitle > ${subInfo.displayName}", ) Loading @@ -107,6 +112,7 @@ class MobileNetworkSettingsSearchIndex( fun createSearchItems(context: Context): List<MobileNetworkSettingsSearchItem> = listOf( MmsMessageSearchItem(context), NrAdvancedCallingSearchItem(context), ) } }
src/com/android/settings/network/telephony/NrAdvancedCallingPreferenceController.kt +15 −1 Original line number Diff line number Diff line Loading @@ -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.MobileNetworkSettingsSearchItem import com.android.settings.spa.preference.ComposePreferenceController import com.android.settingslib.spa.widget.preference.SwitchPreference import com.android.settingslib.spa.widget.preference.SwitchPreferenceModel Loading @@ -41,6 +42,7 @@ class NrAdvancedCallingPreferenceController @JvmOverloads constructor( ) : ComposePreferenceController(context, key) { private var subId: Int = SubscriptionManager.INVALID_SUBSCRIPTION_ID private var repository: VoNrRepository? = null private val searchItem = NrAdvancedCallingSearchItem(context) /** Initial this PreferenceController. */ @JvmOverloads Loading @@ -50,7 +52,7 @@ class NrAdvancedCallingPreferenceController @JvmOverloads constructor( } override fun getAvailabilityStatus() = if (repository?.isVoNrAvailable() == true) AVAILABLE else CONDITIONALLY_UNAVAILABLE if (searchItem.isAvailable(subId)) AVAILABLE else CONDITIONALLY_UNAVAILABLE @Composable override fun Content() { Loading @@ -73,4 +75,16 @@ 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() } } }
src/com/android/settings/spa/search/SpaSearchRepository.kt +2 −0 Original line number Diff line number Diff line Loading @@ -93,10 +93,12 @@ class SpaSearchRepository( itemTitle: String, indexableClass: Class<*>, pageTitle: String, keywords: String? = null, ) = SearchIndexableRaw(context).apply { key = spaSearchLandingKey.toByteString().toStringUtf8() title = itemTitle this.keywords = keywords intentAction = SEARCH_LANDING_ACTION intentTargetClass = SpaSearchLandingActivity::class.qualifiedName packageName = context.packageName Loading