Permission protect GridOptionsProvider
Fixes: 152004429
Test: Manual
Change-Id: I2576322b68b128acf28536a5e37a9853ac9d03c3
diff --git a/src/com/android/launcher3/graphics/GridOptionsProvider.java b/src/com/android/launcher3/graphics/GridOptionsProvider.java
index af974f8..9bfd5ba 100644
--- a/src/com/android/launcher3/graphics/GridOptionsProvider.java
+++ b/src/com/android/launcher3/graphics/GridOptionsProvider.java
@@ -5,11 +5,13 @@
import android.content.ContentProvider;
import android.content.ContentValues;
+import android.content.pm.PackageManager;
import android.content.res.XmlResourceParser;
import android.database.Cursor;
import android.database.MatrixCursor;
import android.graphics.Bitmap;
import android.net.Uri;
+import android.os.Binder;
import android.os.Bundle;
import android.os.ParcelFileDescriptor;
import android.os.ParcelFileDescriptor.AutoCloseOutputStream;
@@ -66,8 +68,6 @@
private static final String METHOD_GET_PREVIEW = "get_preview";
private static final String METADATA_KEY_PREVIEW_VERSION = "preview_version";
-
-
public static final PipeDataWriter<Future<Bitmap>> BITMAP_WRITER =
new PipeDataWriter<Future<Bitmap>>() {
@Override
@@ -201,6 +201,12 @@
@Override
public Bundle call(String method, String arg, Bundle extras) {
+ if (getContext().checkPermission("android.permission.BIND_WALLPAPER",
+ Binder.getCallingPid(), Binder.getCallingUid())
+ != PackageManager.PERMISSION_GRANTED) {
+ return null;
+ }
+
if (!METHOD_GET_PREVIEW.equals(method)) {
return null;
}