summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorLinux Build Service Account <lnxbuild@localhost>2016-04-20 23:54:18 -0700
committerGerrit - the friendly Code Review server <code-review@localhost>2016-04-20 23:54:18 -0700
commit76a44b0e9ad3e053850f649da013753f1e1a24b7 (patch)
treecfde90ad1cedcc5b302ab62a41af64ee19761de6 /src
parente0e784b62d2b07e36f8680c96c3cdc961e9c2912 (diff)
parent51b026f6ef908758662ad2689db370e897e820f5 (diff)
downloadandroid_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.java3
-rw-r--r--src/com/android/gallery3d/ui/MenuExecutor.java37
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: