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)