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
This commit is contained in:
Yi-Ling Chuang
2019-11-25 17:59:36 +08:00
parent d57e5a5d1a
commit 15da32c33f

View File

@@ -61,6 +61,7 @@ import android.util.Log;
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 class SettingsSearchIndexablesProvider extends SearchIndexablesProvider {
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)