Merge "Prevent bad apps from getting Setting Slices" into qt-dev

am: 7f9a86d869

Change-Id: I915a1ed62d0f92cfb3be0c9cea4aeac416328936
This commit is contained in:
Matthew Fritze
2019-04-18 10:53:51 -07:00
committed by android-build-merger
2 changed files with 26 additions and 0 deletions

View File

@@ -18,9 +18,11 @@ package com.android.settings.slices;
import static android.Manifest.permission.READ_SEARCH_INDEXABLES;
import android.app.PendingIntent;
import android.app.slice.SliceManager;
import android.content.ContentResolver;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
import android.net.Uri;
import android.os.StrictMode;
@@ -32,6 +34,8 @@ import android.util.KeyValueListParser;
import android.util.Log;
import android.util.Pair;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.annotation.VisibleForTesting;
import androidx.collection.ArraySet;
import androidx.slice.Slice;
@@ -295,6 +299,16 @@ public class SettingsSliceProvider extends SliceProvider {
return descendants;
}
@Nullable
@Override
public PendingIntent onCreatePermissionRequest(@NonNull Uri sliceUri,
@NonNull String callingPackage) {
final Intent settingsIntent = new Intent(Settings.ACTION_SETTINGS);
final PendingIntent noOpIntent = PendingIntent.getActivity(getContext(),
0 /* requestCode */, settingsIntent, 0 /* flags */);
return noOpIntent;
}
@VisibleForTesting
static void grantWhitelistedPackagePermissions(Context context, List<Uri> descendants) {
if (descendants == null) {