Enable Settings Search to query private Slices.
The base Uri is now determined by whether a certain config string is set
or not. When the config is set, Settings Search will then be able to
query private Slices, otherwise we'll just provide public ones.
Bug: 141088937
Test: rebuild
Change-Id: I63b689de4491b664a2d6f88867fbbb9b1da38277
diff --git a/src/com/android/settings/search/SettingsSearchIndexablesProvider.java b/src/com/android/settings/search/SettingsSearchIndexablesProvider.java
index d504d9b..fa55e7c 100644
--- a/src/com/android/settings/search/SettingsSearchIndexablesProvider.java
+++ b/src/com/android/settings/search/SettingsSearchIndexablesProvider.java
@@ -61,6 +61,7 @@
import androidx.annotation.Nullable;
import androidx.slice.SliceViewManager;
+import com.android.settings.R;
import com.android.settings.SettingsActivity;
import com.android.settings.dashboard.DashboardFeatureProvider;
import com.android.settings.overlay.FeatureFactory;
@@ -215,11 +216,13 @@
public Cursor querySliceUriPairs() {
final SliceViewManager manager = SliceViewManager.getInstance(getContext());
final MatrixCursor cursor = new MatrixCursor(SLICE_URI_PAIRS_COLUMNS);
- final Uri baseUri =
- new Uri.Builder()
+ final String queryUri = getContext().getString(R.string.config_non_public_slice_query_uri);
+ final Uri baseUri = !TextUtils.isEmpty(queryUri) ? Uri.parse(queryUri)
+ : new Uri.Builder()
.scheme(ContentResolver.SCHEME_CONTENT)
.authority(SettingsSliceProvider.SLICE_AUTHORITY)
.build();
+
final Uri platformBaseUri =
new Uri.Builder()
.scheme(ContentResolver.SCHEME_CONTENT)