Merge "Avoid crashing if we don't have the READ_EXTERNAL_STORAGE permission" into ub-launcher3-burnaby

This commit is contained in:
Adam Cohen
2015-06-24 16:19:22 +00:00
committed by Android (Google) Code Review
@@ -16,6 +16,7 @@
package com.android.launcher3; package com.android.launcher3;
import android.Manifest.permission;
import android.animation.LayoutTransition; import android.animation.LayoutTransition;
import android.annotation.TargetApi; import android.annotation.TargetApi;
import android.app.ActionBar; import android.app.ActionBar;
@@ -37,10 +38,12 @@ import android.graphics.PorterDuff;
import android.graphics.RectF; import android.graphics.RectF;
import android.graphics.drawable.BitmapDrawable; import android.graphics.drawable.BitmapDrawable;
import android.graphics.drawable.Drawable; import android.graphics.drawable.Drawable;
import android.Manifest;
import android.net.Uri; import android.net.Uri;
import android.os.AsyncTask; import android.os.AsyncTask;
import android.os.Build; import android.os.Build;
import android.os.Bundle; import android.os.Bundle;
import android.os.Process;
import android.provider.MediaStore; import android.provider.MediaStore;
import android.util.Log; import android.util.Log;
import android.util.Pair; import android.util.Pair;
@@ -680,6 +683,16 @@ public class WallpaperPickerActivity extends WallpaperCropActivity {
} }
protected Bitmap getThumbnailOfLastPhoto() { protected Bitmap getThumbnailOfLastPhoto() {
boolean canReadExternalStorage = getActivity().checkPermission(
Manifest.permission.READ_EXTERNAL_STORAGE, Process.myPid(), Process.myUid()) ==
PackageManager.PERMISSION_GRANTED;
if (!canReadExternalStorage) {
// MediaStore.Images.Media.EXTERNAL_CONTENT_URI requires
// the READ_EXTERNAL_STORAGE permission
return null;
}
Cursor cursor = MediaStore.Images.Media.query(getContext().getContentResolver(), Cursor cursor = MediaStore.Images.Media.query(getContext().getContentResolver(),
MediaStore.Images.Media.EXTERNAL_CONTENT_URI, MediaStore.Images.Media.EXTERNAL_CONTENT_URI,
new String[] { MediaStore.Images.ImageColumns._ID, new String[] { MediaStore.Images.ImageColumns._ID,