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

Commit dc5469cf authored by Pechetty Sravani's avatar Pechetty Sravani Committed by Android (Google) Code Review
Browse files

Merge "Revert "Support search "Mobile data""" into main

parents d99198f4 979de759
Loading
Loading
Loading
Loading
+0 −9
Original line number Diff line number Diff line
@@ -5187,15 +5187,6 @@
        <activity android:name=".spa.SpaBridgeActivity" android:exported="false"/>
        <activity android:name=".spa.SpaAppBridgeActivity" android:exported="false"/>

        <activity
            android:name=".spa.search.SpaSearchLandingActivity"
            android:exported="true">
            <intent-filter android:priority="1">
                <action android:name="android.settings.SPA_SEARCH_LANDING" />
                <category android:name="android.intent.category.DEFAULT" />
            </intent-filter>
        </activity>

        <activity android:name=".Settings$FingerprintSettingsActivityV2"
            android:label="@string/security_settings_fingerprint_preference_title"
            android:exported="false"
+1 −8
Original line number Diff line number Diff line
@@ -22,18 +22,11 @@ import android.content.Intent
import android.net.Uri
import android.provider.Settings
import com.android.settings.search.SearchIndexableResourcesFactory.createSearchIndexableResources
import com.android.settings.spa.search.SpaSearchRepository
import com.android.settingslib.search.SearchIndexableResources

/** FeatureProvider for the refactored search code. */
open class SearchFeatureProviderImpl : SearchFeatureProvider {
    private val lazySearchIndexableResources by lazy {
        createSearchIndexableResources().apply {
            for (searchIndexableData in SpaSearchRepository().getSearchIndexableDataList()) {
                addIndex(searchIndexableData)
            }
        }
    }
    private val lazySearchIndexableResources by lazy { createSearchIndexableResources() }

    override fun verifyLaunchSearchResultPageCaller(context: Context, callerPackage: String) {
        require(callerPackage.isNotEmpty()) {
+1 −22
Original line number Diff line number Diff line
@@ -46,14 +46,10 @@ import androidx.lifecycle.compose.LocalLifecycleOwner
import androidx.lifecycle.compose.collectAsStateWithLifecycle
import androidx.lifecycle.viewmodel.compose.viewModel
import com.android.settings.R
import com.android.settings.flags.Flags
import com.android.settings.network.SubscriptionInfoListViewModel
import com.android.settings.network.SubscriptionUtil
import com.android.settings.network.telephony.DataSubscriptionRepository
import com.android.settings.network.telephony.MobileDataRepository
import com.android.settings.network.telephony.requireSubscriptionManager
import com.android.settings.spa.network.PrimarySimRepository.PrimarySimInfo
import com.android.settings.spa.search.SearchablePage
import com.android.settings.wifi.WifiPickerTrackerHelper
import com.android.settingslib.spa.framework.common.SettingsEntryBuilder
import com.android.settingslib.spa.framework.common.SettingsPageProvider
@@ -66,7 +62,6 @@ import com.android.settingslib.spa.widget.preference.PreferenceModel
import com.android.settingslib.spa.widget.scaffold.RegularScaffold
import com.android.settingslib.spa.widget.ui.Category
import com.android.settingslib.spaprivileged.framework.common.broadcastReceiverFlow
import com.android.settingslib.spaprivileged.framework.common.userManager
import com.android.settingslib.spaprivileged.settingsprovider.settingsGlobalBooleanFlow
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.Dispatchers
@@ -83,7 +78,7 @@ import kotlinx.coroutines.withContext
/**
 * Showing the sim onboarding which is the process flow of sim switching on.
 */
open class NetworkCellularGroupProvider : SettingsPageProvider, SearchablePage {
open class NetworkCellularGroupProvider : SettingsPageProvider {
    override val name = fileName
    override val metricsCategory = SettingsEnums.MOBILE_NETWORK_LIST
    private val owner = createSettingsPage()
@@ -196,24 +191,8 @@ open class NetworkCellularGroupProvider : SettingsPageProvider, SearchablePage {
    open fun OtherSection(){
        // Do nothing
    }

    override fun getSearchableTitles(context: Context): List<String> {
        if (!isPageSearchable(context)) return emptyList()
        return buildList {
            if (context.requireSubscriptionManager().activeSubscriptionInfoCount > 0) {
                add(context.getString(R.string.mobile_data_settings_title))
            }
        }
    }

    companion object {
        const val fileName = "NetworkCellularGroupProvider"

        private fun isPageSearchable(context: Context) =
            Flags.isDualSimOnboardingEnabled() &&
            SubscriptionUtil.isSimHardwareVisible(context) &&
                !com.android.settingslib.Utils.isWifiOnly(context) &&
                context.userManager.isAdminUser
    }
}

+0 −25
Original line number Diff line number Diff line
/*
 * Copyright (C) 2024 The Android Open Source Project
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

package com.android.settings.spa.search

import android.content.Context

interface SearchablePage {

    /** Gets the searchable titles at the current moment. */
    fun getSearchableTitles(context: Context): List<String>
}
+0 −42
Original line number Diff line number Diff line
/*
 * Copyright (C) 2024 The Android Open Source Project
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

package com.android.settings.spa.search

import android.app.Activity
import android.os.Bundle
import com.android.settings.SettingsActivity.EXTRA_FRAGMENT_ARG_KEY
import com.android.settings.overlay.FeatureFactory.Companion.featureFactory
import com.android.settings.password.PasswordUtils
import com.android.settings.spa.SpaDestination

class SpaSearchLandingActivity : Activity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        if (!isValidCall()) return

        val destination = intent.getStringExtra(EXTRA_FRAGMENT_ARG_KEY)
        if (destination.isNullOrBlank()) return

        SpaDestination(destination = destination, highlightMenuKey = null)
            .startFromExportedActivity(this)
        finish()
    }

    private fun isValidCall() =
        PasswordUtils.getCallingAppPackageName(activityToken) ==
            featureFactory.searchFeatureProvider.getSettingsIntelligencePkgName(this)
}
Loading