diff options
| author | Linux Build Service Account <lnxbuild@localhost> | 2016-04-20 23:54:18 -0700 |
|---|---|---|
| committer | Gerrit - the friendly Code Review server <code-review@localhost> | 2016-04-20 23:54:18 -0700 |
| commit | 76a44b0e9ad3e053850f649da013753f1e1a24b7 (patch) | |
| tree | cfde90ad1cedcc5b302ab62a41af64ee19761de6 /src | |
| parent | e0e784b62d2b07e36f8680c96c3cdc961e9c2912 (diff) | |
| parent | 51b026f6ef908758662ad2689db370e897e820f5 (diff) | |
| download | android_packages_apps_Gallery2-76a44b0e9ad3e053850f649da013753f1e1a24b7.tar.gz android_packages_apps_Gallery2-76a44b0e9ad3e053850f649da013753f1e1a24b7.tar.bz2 android_packages_apps_Gallery2-76a44b0e9ad3e053850f649da013753f1e1a24b7.zip | |
Merge "Gallery: fix crash after deletion" into android_ui.lnx.1.2-dev
Diffstat (limited to 'src')
| -rw-r--r-- | src/com/android/gallery3d/filtershow/cache/ImageLoader.java | 3 | ||||
| -rw-r--r-- | src/com/android/gallery3d/ui/MenuExecutor.java | 37 |
2 files changed, 23 insertions, 17 deletions
diff --git a/src/com/android/gallery3d/filtershow/cache/ImageLoader.java b/src/com/android/gallery3d/filtershow/cache/ImageLoader.java index ea559e569..d8560312c 100644 --- a/src/com/android/gallery3d/filtershow/cache/ImageLoader.java +++ b/src/com/android/gallery3d/filtershow/cache/ImageLoader.java @@ -88,8 +88,7 @@ public final class ImageLoader { return null; } int index = cursor.getColumnIndexOrThrow(MediaStore.Images.Media.DATA); - cursor.moveToFirst(); - return cursor.getString(index); + return cursor.moveToFirst() ? cursor.getString(index) : null; } /** diff --git a/src/com/android/gallery3d/ui/MenuExecutor.java b/src/com/android/gallery3d/ui/MenuExecutor.java index c4636cb38..e65649bcf 100644 --- a/src/com/android/gallery3d/ui/MenuExecutor.java +++ b/src/com/android/gallery3d/ui/MenuExecutor.java @@ -216,13 +216,16 @@ public class MenuExecutor { private Path getSingleSelectedPath() { ArrayList<Path> ids = mSelectionManager.getSelected(true); - Utils.assertTrue(ids.size() == 1); - return ids.get(0); + if (ids.size() != 1) + return null; + return ids.get(0); } private Intent getIntentBySingleSelectedPath(String action) { DataManager manager = mActivity.getDataManager(); Path path = getSingleSelectedPath(); + if (path == null) + return null; String mimeType = getMimeType(manager.getMediaType(path)); return new Intent(action).setDataAndType(manager.getContentUri(path), mimeType); } @@ -248,26 +251,30 @@ public class MenuExecutor { return; }*/ case R.id.action_edit: { - Intent intent = getIntentBySingleSelectedPath(Intent.ACTION_EDIT) - .setFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION); - ((Activity) mActivity).startActivity(Intent.createChooser(intent, null)); + Intent intent = getIntentBySingleSelectedPath(Intent.ACTION_EDIT); + if (intent != null) { + intent.setFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION); + ((Activity) mActivity).startActivity(Intent.createChooser(intent, null)); + } return; } case R.id.action_setas: { - Intent intent = getIntentBySingleSelectedPath(Intent.ACTION_ATTACH_DATA) - .addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION); - intent.putExtra("mimeType", intent.getType()); - - // DRM files can be set as wallpaper only. Don't show other options - // to set as. - Uri uri = intent.getData(); + Intent intent = getIntentBySingleSelectedPath(Intent.ACTION_ATTACH_DATA); + if (intent != null) { + intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION); + intent.putExtra("mimeType", intent.getType()); + + // DRM files can be set as wallpaper only. Don't show other options + // to set as. + Uri uri = intent.getData(); // if (DrmHelper.isDrmFile(DrmHelper.getFilePath(mActivity, uri))) { // intent.setPackage("com.android.gallery3d"); // } - Activity activity = mActivity; - activity.startActivity(Intent.createChooser( - intent, activity.getString(R.string.set_as))); + Activity activity = mActivity; + activity.startActivity(Intent.createChooser( + intent, activity.getString(R.string.set_as))); + } return; } case R.id.action_delete: |
