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

Commit 4aac7348 authored by Chaohui Wang's avatar Chaohui Wang
Browse files

Create Spa-search lib

To share search related functions between apps.

Bug: 414693711
Flag: EXEMPT refactor
Test: manual - test Settings search
Change-Id: I44de45bd9d464fed42bfdaebf1ccaddfd98b1030
parent 5e46d5b7
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -114,6 +114,7 @@ android_library {
        "keyboard_flags_lib",
        "com_android_systemui_flags_lib",
        "settings_connectivity_flags_lib",
        "Spa-search",

        // app function dependencies
        "androidx.appsearch_appsearch",
+1 −1
Original line number Diff line number Diff line
@@ -5524,7 +5524,7 @@
        <activity android:name=".spa.SpaAppBridgeActivity" android:exported="false"/>

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

protos/spa_search_landing.proto

deleted100644 → 0
+0 −34
Original line number Diff line number Diff line
syntax = "proto2";

package com.android.settings.spa;

message SpaSearchLandingKey {
  oneof page {
    SpaSearchLandingSpaPage spa_page = 1;
    SpaSearchLandingFragment fragment = 2;
  }
}

message SpaSearchLandingSpaPage {
  /** The destination of SPA page. */
  optional string destination = 1;
}

message SpaSearchLandingFragment {
  /** The fragment class name. */
  optional string fragment_name = 1;

  /** The key of the preference to highlight the item. */
  optional string preference_key = 2;

  /** The arguments passed to the page. */
  map<string, BundleValue> arguments = 3;
}

/** A value in an Android Bundle. */
message BundleValue {
  oneof value {
    /** A 32-bit signed integer value. */
    int32 int_value = 1;
  }
}
+5 −6
Original line number Diff line number Diff line
@@ -28,14 +28,13 @@ import com.android.settings.network.telephony.NrAdvancedCallingPreferenceControl
import com.android.settings.network.telephony.RoamingPreferenceController.Companion.RoamingSearchItem
import com.android.settings.network.telephony.VideoCallingPreferenceController.Companion.VideoCallingSearchItem
import com.android.settings.network.telephony.WifiCallingPreferenceController.Companion.WifiCallingSearchItem
import com.android.settings.spa.SpaSearchLanding.BundleValue
import com.android.settings.spa.SpaSearchLanding.SpaSearchLandingFragment
import com.android.settings.spa.SpaSearchLanding.SpaSearchLandingKey
import com.android.settings.spa.search.SpaSearchRepository.Companion.createSearchIndexableRaw
import com.android.settings.spa.search.SpaSearchRepository.Companion.searchIndexProviderOf
import com.android.settings.spa.search.SettingsSpaSearchRepository.Companion.createSearchIndexableRaw
import com.android.settingslib.spa.search.SpaSearchLanding.BundleValue
import com.android.settingslib.spa.search.SpaSearchLanding.SpaSearchLandingFragment
import com.android.settingslib.spa.search.SpaSearchLanding.SpaSearchLandingKey
import com.android.settingslib.spa.search.SpaSearchRepository.Companion.searchIndexProviderOf
import com.android.settingslib.search.SearchIndexableData
import com.android.settingslib.search.SearchIndexableRaw
import com.android.settingslib.spaprivileged.settingsprovider.settingsGlobalBoolean

class MobileNetworkSettingsSearchIndex(
    private val searchItemsFactory: (context: Context) -> List<MobileNetworkSettingsSearchItem> =
+3 −3
Original line number Diff line number Diff line
@@ -22,15 +22,15 @@ 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.settings.spa.search.SettingsSpaSearchRepository
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)
            for (indexableData in SettingsSpaSearchRepository().getSearchIndexableDataList()) {
                addIndex(indexableData)
            }
        }
    }
Loading