summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorChih-Chung Chang <chihchung@google.com>2012-06-26 10:45:02 -0700
committerAndroid Git Automerger <android-git-automerger@android.com>2012-06-26 10:45:02 -0700
commit6de536dbc81345e1a19355fb9f3ad0aa2ea2ab8a (patch)
treea0d7a8d0171761c7ef93831074ff7afa7b707783 /src
parentb26c4acfe4e18446a02bc49812f101d1669a92fa (diff)
parenteb55e15ba4989e172ccfe9b7eeb6768c9020a514 (diff)
downloadandroid_packages_apps_Snap-6de536dbc81345e1a19355fb9f3ad0aa2ea2ab8a.tar.gz
android_packages_apps_Snap-6de536dbc81345e1a19355fb9f3ad0aa2ea2ab8a.tar.bz2
android_packages_apps_Snap-6de536dbc81345e1a19355fb9f3ad0aa2ea2ab8a.zip
am c7e89dae: Update thumbnail if a picture is deleted in background.
* commit 'c7e89daeb178a895de211c411d09a822de52e4e9': Update thumbnail if a picture is deleted in background.
Diffstat (limited to 'src')
-rw-r--r--src/com/android/gallery3d/data/DataManager.java14
-rw-r--r--src/com/android/gallery3d/data/LocalAlbum.java1
-rw-r--r--src/com/android/gallery3d/data/LocalImage.java1
-rw-r--r--src/com/android/gallery3d/data/LocalVideo.java1
4 files changed, 17 insertions, 0 deletions
diff --git a/src/com/android/gallery3d/data/DataManager.java b/src/com/android/gallery3d/data/DataManager.java
index 0eb6af55e..85513279c 100644
--- a/src/com/android/gallery3d/data/DataManager.java
+++ b/src/com/android/gallery3d/data/DataManager.java
@@ -16,9 +16,11 @@
package com.android.gallery3d.data;
+import android.content.Intent;
import android.database.ContentObserver;
import android.net.Uri;
import android.os.Handler;
+import android.support.v4.content.LocalBroadcastManager;
import com.android.gallery3d.app.GalleryApp;
import com.android.gallery3d.common.Utils;
@@ -78,6 +80,9 @@ public class DataManager {
private static final String TOP_LOCAL_VIDEO_SET_PATH =
"/local/video";
+ private static final String ACTION_DELETE_PICTURE =
+ "com.android.gallery3d.action.DELETE_PICTURE";
+
public static final Comparator<MediaItem> sDateTakenComparator =
new DateTakenComparator();
@@ -305,6 +310,15 @@ public class DataManager {
}
}
+ // Sends a local broadcast if a local image or video is deleted. This is
+ // used to update the thumbnail shown in the camera app.
+ public void broadcastLocalDeletion() {
+ LocalBroadcastManager manager = LocalBroadcastManager.getInstance(
+ mApplication.getAndroidContext());
+ Intent intent = new Intent(ACTION_DELETE_PICTURE);
+ manager.sendBroadcast(intent);
+ }
+
private static class NotifyBroker extends ContentObserver {
private WeakHashMap<ChangeNotifier, Object> mNotifiers =
new WeakHashMap<ChangeNotifier, Object>();
diff --git a/src/com/android/gallery3d/data/LocalAlbum.java b/src/com/android/gallery3d/data/LocalAlbum.java
index 117dbb6fa..f45eebfd8 100644
--- a/src/com/android/gallery3d/data/LocalAlbum.java
+++ b/src/com/android/gallery3d/data/LocalAlbum.java
@@ -260,6 +260,7 @@ public class LocalAlbum extends MediaSet {
GalleryUtils.assertNotInRenderThread();
mResolver.delete(mBaseUri, mWhereClause,
new String[]{String.valueOf(mBucketId)});
+ mApplication.getDataManager().broadcastLocalDeletion();
}
@Override
diff --git a/src/com/android/gallery3d/data/LocalImage.java b/src/com/android/gallery3d/data/LocalImage.java
index aa27c6f42..c3095a069 100644
--- a/src/com/android/gallery3d/data/LocalImage.java
+++ b/src/com/android/gallery3d/data/LocalImage.java
@@ -231,6 +231,7 @@ public class LocalImage extends LocalMediaItem {
Uri baseUri = Images.Media.EXTERNAL_CONTENT_URI;
mApplication.getContentResolver().delete(baseUri, "_id=?",
new String[]{String.valueOf(id)});
+ mApplication.getDataManager().broadcastLocalDeletion();
}
private static String getExifOrientation(int orientation) {
diff --git a/src/com/android/gallery3d/data/LocalVideo.java b/src/com/android/gallery3d/data/LocalVideo.java
index 4e888a573..5ccc21b93 100644
--- a/src/com/android/gallery3d/data/LocalVideo.java
+++ b/src/com/android/gallery3d/data/LocalVideo.java
@@ -187,6 +187,7 @@ public class LocalVideo extends LocalMediaItem {
Uri baseUri = Video.Media.EXTERNAL_CONTENT_URI;
mApplication.getContentResolver().delete(baseUri, "_id=?",
new String[]{String.valueOf(id)});
+ mApplication.getDataManager().broadcastLocalDeletion();
}
@Override