From c6f3b4d0c7ded751e68ccd465fb43e488f917e99 Mon Sep 17 00:00:00 2001 From: Tracy Zhou Date: Sat, 23 May 2020 01:24:25 -0700 Subject: [PATCH] Permission protect GridOptionsProvider Fixes: 152004429 Test: Manual Change-Id: I2576322b68b128acf28536a5e37a9853ac9d03c3 --- .../launcher3/graphics/GridOptionsProvider.java | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/com/android/launcher3/graphics/GridOptionsProvider.java b/src/com/android/launcher3/graphics/GridOptionsProvider.java index af974f80c1..9bfd5bab87 100644 --- a/src/com/android/launcher3/graphics/GridOptionsProvider.java +++ b/src/com/android/launcher3/graphics/GridOptionsProvider.java @@ -5,11 +5,13 @@ import static com.android.launcher3.util.Executors.UI_HELPER_EXECUTOR; 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 @@ public class GridOptionsProvider extends ContentProvider { private static final String METHOD_GET_PREVIEW = "get_preview"; private static final String METADATA_KEY_PREVIEW_VERSION = "preview_version"; - - public static final PipeDataWriter> BITMAP_WRITER = new PipeDataWriter>() { @Override @@ -201,6 +201,12 @@ public class GridOptionsProvider extends ContentProvider { @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; }