Loading src/com/android/settings/spa/SpaDestination.kt +11 −6 Original line number Diff line number Diff line Loading @@ -25,12 +25,17 @@ import com.android.settingslib.spa.framework.util.appendSpaParams data class SpaDestination( val destination: String, val highlightMenuKey: String?, /** The key to highlight the item. */ val highlightItemKey: String? = null, /** The key to highlight the top level menu, when multi pane is enabled. */ val highlightMenuKey: String? = null, ) { fun startFromExportedActivity(context: Context) { val intent = Intent(context, SpaActivity::class.java) val intent = Intent(context, SpaActivity::class.java) .appendSpaParams( destination = destination, highlightItemKey = highlightItemKey, sessionName = SESSION_EXTERNAL, ) if (!ActivityEmbeddingUtils.isEmbeddingActivityEnabled(context) || Loading src/com/android/settings/spa/network/MobileDataSwitchPreference.kt +19 −6 Original line number Diff line number Diff line Loading @@ -16,6 +16,7 @@ package com.android.settings.spa.network import android.content.Context import androidx.annotation.VisibleForTesting import androidx.compose.runtime.Composable import androidx.compose.runtime.getValue Loading @@ -28,14 +29,25 @@ import com.android.settings.R import com.android.settings.network.telephony.MobileDataRepository import com.android.settings.network.telephony.SubscriptionActivationRepository import com.android.settings.network.telephony.subscriptionManager import com.android.settingslib.spa.framework.compose.HighlightBox import com.android.settingslib.spa.framework.compose.rememberContext import com.android.settingslib.spa.search.SearchablePage.SearchItem import com.android.settingslib.spa.widget.preference.SwitchPreference import com.android.settingslib.spa.widget.preference.SwitchPreferenceModel import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.launch private const val MOBILE_DATA_HIGHLIGHT_KEY = "mobile_data" fun getMobileDataSearchItem(context: Context) = SearchItem( highlightItemKey = MOBILE_DATA_HIGHLIGHT_KEY, itemTitle = context.getString(R.string.mobile_data_settings_title), ) @Composable fun MobileDataSwitchPreference(subId: Int) { HighlightBox(highlightItemKey = MOBILE_DATA_HIGHLIGHT_KEY) { MobileDataSwitchPreference( subId = subId, mobileDataRepository = rememberContext(::MobileDataRepository), Loading @@ -43,6 +55,7 @@ fun MobileDataSwitchPreference(subId: Int) { setMobileData = setMobileDataImpl(subId), ) } } @VisibleForTesting @Composable Loading src/com/android/settings/spa/network/NetworkCellularGroupProvider.kt +1 −1 Original line number Diff line number Diff line Loading @@ -200,7 +200,7 @@ open class NetworkCellularGroupProvider : SettingsPageProvider, SearchablePage { if (!isPageSearchable(context)) return emptyList() return buildList { if (context.requireSubscriptionManager().activeSubscriptionInfoCount > 0) { add(SearchItem(context.getString(R.string.mobile_data_settings_title))) add(getMobileDataSearchItem(context)) } } } Loading src/com/android/settings/spa/search/SettingsSpaSearchLandingActivity.kt +2 −2 Original line number Diff line number Diff line Loading @@ -37,8 +37,8 @@ class SettingsSpaSearchLandingActivity : SpaSearchLandingActivity() { featureFactory.searchFeatureProvider.getSettingsIntelligencePkgName(this) } override fun startSpaPage(destination: String) { SpaDestination(destination = destination, highlightMenuKey = null) override fun startSpaPage(destination: String, highlightItemKey: String) { SpaDestination(destination = destination, highlightItemKey = highlightItemKey) .startFromExportedActivity(this) } Loading tests/spa_unit/src/com/android/settings/spa/SpaBridgeActivityTest.kt +3 −3 Original line number Diff line number Diff line Loading @@ -79,10 +79,10 @@ class SpaBridgeActivityTest { META_DATA_KEY_HIGHLIGHT_MENU_KEY to HIGHLIGHT_MENU_KEY, ) val (destination, highlightMenuKey) = activity.getDestination()!! val spaDestination = activity.getDestination()!! assertThat(destination).isEqualTo(DESTINATION) assertThat(highlightMenuKey).isEqualTo(HIGHLIGHT_MENU_KEY) assertThat(spaDestination.destination).isEqualTo(DESTINATION) assertThat(spaDestination.highlightMenuKey).isEqualTo(HIGHLIGHT_MENU_KEY) } private companion object { Loading Loading
src/com/android/settings/spa/SpaDestination.kt +11 −6 Original line number Diff line number Diff line Loading @@ -25,12 +25,17 @@ import com.android.settingslib.spa.framework.util.appendSpaParams data class SpaDestination( val destination: String, val highlightMenuKey: String?, /** The key to highlight the item. */ val highlightItemKey: String? = null, /** The key to highlight the top level menu, when multi pane is enabled. */ val highlightMenuKey: String? = null, ) { fun startFromExportedActivity(context: Context) { val intent = Intent(context, SpaActivity::class.java) val intent = Intent(context, SpaActivity::class.java) .appendSpaParams( destination = destination, highlightItemKey = highlightItemKey, sessionName = SESSION_EXTERNAL, ) if (!ActivityEmbeddingUtils.isEmbeddingActivityEnabled(context) || Loading
src/com/android/settings/spa/network/MobileDataSwitchPreference.kt +19 −6 Original line number Diff line number Diff line Loading @@ -16,6 +16,7 @@ package com.android.settings.spa.network import android.content.Context import androidx.annotation.VisibleForTesting import androidx.compose.runtime.Composable import androidx.compose.runtime.getValue Loading @@ -28,14 +29,25 @@ import com.android.settings.R import com.android.settings.network.telephony.MobileDataRepository import com.android.settings.network.telephony.SubscriptionActivationRepository import com.android.settings.network.telephony.subscriptionManager import com.android.settingslib.spa.framework.compose.HighlightBox import com.android.settingslib.spa.framework.compose.rememberContext import com.android.settingslib.spa.search.SearchablePage.SearchItem import com.android.settingslib.spa.widget.preference.SwitchPreference import com.android.settingslib.spa.widget.preference.SwitchPreferenceModel import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.launch private const val MOBILE_DATA_HIGHLIGHT_KEY = "mobile_data" fun getMobileDataSearchItem(context: Context) = SearchItem( highlightItemKey = MOBILE_DATA_HIGHLIGHT_KEY, itemTitle = context.getString(R.string.mobile_data_settings_title), ) @Composable fun MobileDataSwitchPreference(subId: Int) { HighlightBox(highlightItemKey = MOBILE_DATA_HIGHLIGHT_KEY) { MobileDataSwitchPreference( subId = subId, mobileDataRepository = rememberContext(::MobileDataRepository), Loading @@ -43,6 +55,7 @@ fun MobileDataSwitchPreference(subId: Int) { setMobileData = setMobileDataImpl(subId), ) } } @VisibleForTesting @Composable Loading
src/com/android/settings/spa/network/NetworkCellularGroupProvider.kt +1 −1 Original line number Diff line number Diff line Loading @@ -200,7 +200,7 @@ open class NetworkCellularGroupProvider : SettingsPageProvider, SearchablePage { if (!isPageSearchable(context)) return emptyList() return buildList { if (context.requireSubscriptionManager().activeSubscriptionInfoCount > 0) { add(SearchItem(context.getString(R.string.mobile_data_settings_title))) add(getMobileDataSearchItem(context)) } } } Loading
src/com/android/settings/spa/search/SettingsSpaSearchLandingActivity.kt +2 −2 Original line number Diff line number Diff line Loading @@ -37,8 +37,8 @@ class SettingsSpaSearchLandingActivity : SpaSearchLandingActivity() { featureFactory.searchFeatureProvider.getSettingsIntelligencePkgName(this) } override fun startSpaPage(destination: String) { SpaDestination(destination = destination, highlightMenuKey = null) override fun startSpaPage(destination: String, highlightItemKey: String) { SpaDestination(destination = destination, highlightItemKey = highlightItemKey) .startFromExportedActivity(this) } Loading
tests/spa_unit/src/com/android/settings/spa/SpaBridgeActivityTest.kt +3 −3 Original line number Diff line number Diff line Loading @@ -79,10 +79,10 @@ class SpaBridgeActivityTest { META_DATA_KEY_HIGHLIGHT_MENU_KEY to HIGHLIGHT_MENU_KEY, ) val (destination, highlightMenuKey) = activity.getDestination()!! val spaDestination = activity.getDestination()!! assertThat(destination).isEqualTo(DESTINATION) assertThat(highlightMenuKey).isEqualTo(HIGHLIGHT_MENU_KEY) assertThat(spaDestination.destination).isEqualTo(DESTINATION) assertThat(spaDestination.highlightMenuKey).isEqualTo(HIGHLIGHT_MENU_KEY) } private companion object { Loading