Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit b56dee64 authored by Chaohui Wang's avatar Chaohui Wang
Browse files

Add search support for Automatic data switching

Bug: 411421672
Flag: EXEMPT bug fix
Test: manual - search "Automatic data switching"
Change-Id: I3e618b377f7e08d56e6980c974f3ebd40721b26e
parent 6ff3fea5
Loading
Loading
Loading
Loading
+8 −0
Original line number Diff line number Diff line
@@ -16,6 +16,7 @@

package com.android.settings.spa.network

import android.content.Context
import android.telephony.SubscriptionManager
import android.telephony.TelephonyManager
import androidx.compose.runtime.Composable
@@ -30,6 +31,7 @@ import com.android.settings.network.telephony.MobileDataRepository
import com.android.settings.network.telephony.wificalling.CrossSimCallingViewModel
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
@@ -44,6 +46,12 @@ import kotlinx.coroutines.launch
 */
private const val AUTO_DATA_SWITCH_SETTING_R_ID = "auto_data_switch"

fun getAutomaticDataSwitchingSearchItem(context: Context) =
    SearchItem(
        highlightItemKey = AUTO_DATA_SWITCH_SETTING_R_ID,
        itemTitle = context.getString(R.string.primary_sim_automatic_data_title),
    )

@Composable
fun AutomaticDataSwitchingPreference(nonDds: Int) {
    if (!SubscriptionManager.isValidSubscriptionId(nonDds)) return
+4 −3
Original line number Diff line number Diff line
@@ -197,10 +197,11 @@ open class NetworkCellularGroupProvider : SettingsPageProvider, SearchablePage {

    override fun getSearchItems(context: Context): List<SearchItem> {
        if (!isPageSearchable(context)) return emptyList()
        val activeSubscriptionCount =
            context.requireSubscriptionManager().activeSubscriptionInfoCount
        return buildList {
            if (context.requireSubscriptionManager().activeSubscriptionInfoCount > 0) {
                add(getMobileDataSearchItem(context))
            }
            if (activeSubscriptionCount > 0) add(getMobileDataSearchItem(context))
            if (activeSubscriptionCount >= 2) add(getAutomaticDataSwitchingSearchItem(context))
        }
    }