Add option for settings to push to a device index
The index implementation is optional and left up to the OEM.
Test: Open settings, see content in index
Test: robo tests
Bug: 68378569
Bug: 76102600
Change-Id: Idb8bb1e0cabbbe92e7a852e2eadbdcd8c2ab7d56
diff --git a/src/com/android/settings/SettingsActivity.java b/src/com/android/settings/SettingsActivity.java
index 83bb082..16e1a7b 100644
--- a/src/com/android/settings/SettingsActivity.java
+++ b/src/com/android/settings/SettingsActivity.java
@@ -65,6 +65,7 @@
import com.android.settings.dashboard.DashboardSummary;
import com.android.settings.development.DevelopmentSettingsDashboardFragment;
import com.android.settings.overlay.FeatureFactory;
+import com.android.settings.search.DeviceIndexFeatureProvider;
import com.android.settings.wfd.WifiDisplaySettings;
import com.android.settings.widget.SwitchBar;
import com.android.settingslib.core.instrumentation.Instrumentable;
@@ -72,6 +73,7 @@
import com.android.settingslib.development.DevelopmentSettingsEnabler;
import com.android.settingslib.drawer.DashboardCategory;
import com.android.settingslib.drawer.SettingsDrawerActivity;
+import com.android.settingslib.utils.ThreadUtils;
import java.util.ArrayList;
import java.util.List;
@@ -489,6 +491,7 @@
registerReceiver(mBatteryInfoReceiver, new IntentFilter(Intent.ACTION_BATTERY_CHANGED));
updateTilesList();
+ updateDeviceIndex();
}
@Override
@@ -609,6 +612,14 @@
});
}
+ private void updateDeviceIndex() {
+ DeviceIndexFeatureProvider indexProvider = FeatureFactory.getFactory(
+ this).getDeviceIndexFeatureProvider();
+
+ ThreadUtils.postOnBackgroundThread(
+ () -> indexProvider.updateIndex(SettingsActivity.this, false /* force */));
+ }
+
private void doUpdateTilesList() {
PackageManager pm = getPackageManager();
final UserManager um = UserManager.get(this);