OSDN Git Service

fixed manta image size and double FX issue
authorJohn Hoford <hoford@google.com>
Thu, 11 Oct 2012 19:55:05 +0000 (12:55 -0700)
committerJohn Hoford <hoford@google.com>
Thu, 11 Oct 2012 20:39:13 +0000 (13:39 -0700)
bug:7328636
Change-Id: I572255c65fb2d461dce6f52d056be6b3c4d987f6

src/com/android/gallery3d/filtershow/presets/ImagePreset.java

index 0ddb017..18aa1fb 100644 (file)
@@ -122,32 +122,38 @@ public class ImagePreset {
     }
 
     public void add(ImageFilter filter) {
+
         if (filter.getFilterType() == ImageFilter.TYPE_BORDER){
             setHistoryName("Border");
             setBorder(filter);
         } else if (filter.getFilterType() == ImageFilter.TYPE_FX){
-            Vector<ImageFilter> fl = mFilters;
+
             boolean found = false;
             for (int i = 0; i < mFilters.size(); i++) {
-                byte type = fl.get(i).getFilterType();
+                byte type = mFilters.get(i).getFilterType();
                 if (found) {
                     if (type != ImageFilter.TYPE_VIGNETTE){
-                        fl.remove(i);
+                        mFilters.remove(i);
+                        continue;
                     }
-                } else  if (type==ImageFilter.TYPE_FX){
-                    fl.remove(i);
-                    fl.add(i, filter);
+                }
+                if (type==ImageFilter.TYPE_FX){
+                    mFilters.remove(i);
+                    mFilters.add(i, filter);
                     setHistoryName(filter.getName());
                     found = true;
                 }
 
             }
-            mFilters.add(filter);
-            setHistoryName(filter.getName());
+            if (!found) {
+                mFilters.add(filter);
+                setHistoryName(filter.getName());
+            }
         } else {
             mFilters.add(filter);
             setHistoryName(filter.getName());
         }
+
     }
 
     public void remove(String filterName) {