OSDN Git Service

Fix crash when starting filtereditor
authornicolasroard <nicolasroard@google.com>
Thu, 25 Oct 2012 18:54:57 +0000 (11:54 -0700)
committernicolasroard <nicolasroard@google.com>
Thu, 25 Oct 2012 18:54:57 +0000 (11:54 -0700)
bug:7415170
Change-Id: I9d54b1179f343aa089bfd9a065ecddaa8a4283b8

src/com/android/gallery3d/filtershow/cache/DirectPresetCache.java
src/com/android/gallery3d/filtershow/cache/ImageLoader.java

index fe75ccc..adbb5da 100644 (file)
@@ -61,13 +61,20 @@ public class DirectPresetCache implements Cache {
     }
 
     public void notifyObservers() {
-        for (int i = 0; i < mObservers.size(); i++) {
-            ImageShow imageShow = mObservers.elementAt(i);
-            imageShow.invalidate();
-            imageShow.updateImage();
-        }
+        mLoader.getActivity().runOnUiThread(mNotifyObserversRunnable);
     }
 
+    private final Runnable mNotifyObserversRunnable = new Runnable() {
+        @Override
+        public void run() {
+            for (int i = 0; i < mObservers.size(); i++) {
+                ImageShow imageShow = mObservers.elementAt(i);
+                imageShow.invalidate();
+                imageShow.updateImage();
+            }
+        }
+    };
+
     @Override
     public void addObserver(ImageShow observer) {
         if (!mObservers.contains(observer)) {
index f2b9177..b661aad 100644 (file)
@@ -89,6 +89,10 @@ public class ImageLoader {
         mHiresCache = new DelayedPresetCache(this, 3);
     }
 
+    public FilterShowActivity getActivity() {
+        return mActivity;
+    }
+
     public void loadBitmap(Uri uri,int size) {
         mUri = uri;
         mOrientation = getOrientation(mContext, uri);