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;
         }