Move filter type to representations

Change-Id: I2d49447c57f4ff49001d27cdfa6482ca320c7a8b
diff --git a/src/com/android/gallery3d/filtershow/filters/FilterColorBorderRepresentation.java b/src/com/android/gallery3d/filtershow/filters/FilterColorBorderRepresentation.java
index 3ea678c..0c0791a 100644
--- a/src/com/android/gallery3d/filtershow/filters/FilterColorBorderRepresentation.java
+++ b/src/com/android/gallery3d/filtershow/filters/FilterColorBorderRepresentation.java
@@ -27,7 +27,7 @@
         mBorderSize = size;
         mBorderRadius = radius;
         setFilterClass(ImageFilterParametricBorder.class);
-        setPriority(ImageFilter.TYPE_BORDER);
+        setPriority(FilterRepresentation.TYPE_BORDER);
     }
 
     public String toString() {
diff --git a/src/com/android/gallery3d/filtershow/filters/FilterFxRepresentation.java b/src/com/android/gallery3d/filtershow/filters/FilterFxRepresentation.java
index 5aff39d..1234767 100644
--- a/src/com/android/gallery3d/filtershow/filters/FilterFxRepresentation.java
+++ b/src/com/android/gallery3d/filtershow/filters/FilterFxRepresentation.java
@@ -31,6 +31,7 @@
         mBitmapResource = bitmapResource;
         mNameResource = nameResource;
         setFilterClass(ImageFilterFx.class);
+        setFilterType(FilterRepresentation.TYPE_FX);
     }
 
     public String toString() {
diff --git a/src/com/android/gallery3d/filtershow/filters/FilterImageBorderRepresentation.java b/src/com/android/gallery3d/filtershow/filters/FilterImageBorderRepresentation.java
index 2b40fcc..7c9f58f 100644
--- a/src/com/android/gallery3d/filtershow/filters/FilterImageBorderRepresentation.java
+++ b/src/com/android/gallery3d/filtershow/filters/FilterImageBorderRepresentation.java
@@ -23,7 +23,7 @@
         super("ImageBorder");
         mDrawableResource = drawableResource;
         setFilterClass(ImageFilterBorder.class);
-        setPriority(ImageFilter.TYPE_BORDER);
+        setPriority(FilterRepresentation.TYPE_BORDER);
         // load the drawable at init as we are in a background thread
         // (see FilterShowActivity's LoadBordersTask)
         ImageFilterBorder filter = (ImageFilterBorder) FiltersManager.getManager().getFilter(getFilterClass());
diff --git a/src/com/android/gallery3d/filtershow/filters/FilterRepresentation.java b/src/com/android/gallery3d/filtershow/filters/FilterRepresentation.java
index 7d9d7f9..7d162f0 100644
--- a/src/com/android/gallery3d/filtershow/filters/FilterRepresentation.java
+++ b/src/com/android/gallery3d/filtershow/filters/FilterRepresentation.java
@@ -29,6 +29,14 @@
     private boolean mShowParameterValue;
     private Class mFilterClass;
 
+    public static final byte TYPE_BORDER = 1;
+    public static final byte TYPE_FX = 2;
+    public static final byte TYPE_WBALANCE = 3;
+    public static final byte TYPE_VIGNETTE = 4;
+    public static final byte TYPE_NORMAL = 5;
+    public static final byte TYPE_TINYPLANET = 6;
+    private byte filterType = TYPE_NORMAL;
+
     public FilterRepresentation(String name) {
         mName = name;
     }
@@ -60,6 +68,14 @@
         return mName;
     }
 
+    public byte getFilterType() {
+        return filterType;
+    }
+
+    protected void setFilterType(byte type) {
+        filterType = type;
+    }
+
     public void setName(String name) {
         mName = name;
     }
diff --git a/src/com/android/gallery3d/filtershow/filters/ImageFilter.java b/src/com/android/gallery3d/filtershow/filters/ImageFilter.java
index 5039da7..9ee6241 100644
--- a/src/com/android/gallery3d/filtershow/filters/ImageFilter.java
+++ b/src/com/android/gallery3d/filtershow/filters/ImageFilter.java
@@ -28,21 +28,6 @@
 
     protected String mName = "Original";
     private final String LOGTAG = "ImageFilter";
-    public static final byte TYPE_BORDER = 1;
-    public static final byte TYPE_FX = 2;
-    public static final byte TYPE_WBALANCE = 3;
-    public static final byte TYPE_VIGNETTE = 4;
-    public static final byte TYPE_NORMAL = 5;
-    public static final byte TYPE_TINYPLANET = 6;
-    private byte filterType = TYPE_NORMAL;
-
-    public byte getFilterType() {
-        return filterType;
-    }
-
-    protected void setFilterType(byte type) {
-        filterType = type;
-    }
 
     public int getButtonId() {
         return 0;
diff --git a/src/com/android/gallery3d/filtershow/filters/ImageFilterDraw.java b/src/com/android/gallery3d/filtershow/filters/ImageFilterDraw.java
index 3613cb8..c1535fe 100644
--- a/src/com/android/gallery3d/filtershow/filters/ImageFilterDraw.java
+++ b/src/com/android/gallery3d/filtershow/filters/ImageFilterDraw.java
@@ -50,7 +50,6 @@
 
     public ImageFilterDraw() {
         mName = "Image Draw";
-        setFilterType(TYPE_VIGNETTE);
     }
 
     DrawStyle[] mDrawingsTypes = new DrawStyle[] {
@@ -72,6 +71,7 @@
         FilterDrawRepresentation representation = new FilterDrawRepresentation();
         representation.setName("Draw");
         representation.setFilterClass(ImageFilterDraw.class);
+        representation.setFilterType(FilterRepresentation.TYPE_VIGNETTE);
         return representation;
     }
 
diff --git a/src/com/android/gallery3d/filtershow/filters/ImageFilterFx.java b/src/com/android/gallery3d/filtershow/filters/ImageFilterFx.java
index ebc08f0..df5ec47 100644
--- a/src/com/android/gallery3d/filtershow/filters/ImageFilterFx.java
+++ b/src/com/android/gallery3d/filtershow/filters/ImageFilterFx.java
@@ -23,21 +23,12 @@
 
 public class ImageFilterFx extends ImageFilter {
     private static final String TAG = "ImageFilterFx";
-    Bitmap fxBitmap;
-    int mNameResource = 0;
     private FilterFxRepresentation mParameters = null;
 
     public ImageFilterFx() {
 
     }
 
-    public ImageFilterFx(Bitmap fxBitmap, String name, int nameResource) {
-        setFilterType(TYPE_FX);
-        mName = name;
-        this.fxBitmap = fxBitmap;
-        mNameResource = nameResource;
-    }
-
     public void useRepresentation(FilterRepresentation representation) {
         FilterFxRepresentation parameters = (FilterFxRepresentation) representation;
         mParameters = parameters;
@@ -49,14 +40,10 @@
 
     @Override
     public int getTextId() {
-        return mNameResource;
-    }
-
-    public boolean isNil() {
-        if (fxBitmap != null) {
-            return false;
+        if (getParameters() == null) {
+            return 0;
         }
-        return true;
+        return getParameters().getNameResource();
     }
 
     @Override
diff --git a/src/com/android/gallery3d/filtershow/filters/ImageFilterParametricBorder.java b/src/com/android/gallery3d/filtershow/filters/ImageFilterParametricBorder.java
index f0fbc31..4c185b5 100644
--- a/src/com/android/gallery3d/filtershow/filters/ImageFilterParametricBorder.java
+++ b/src/com/android/gallery3d/filtershow/filters/ImageFilterParametricBorder.java
@@ -29,7 +29,6 @@
     private FilterColorBorderRepresentation mParameters = null;
 
     public ImageFilterParametricBorder() {
-        setFilterType(TYPE_BORDER);
         mName = "Border";
     }
 
diff --git a/src/com/android/gallery3d/filtershow/filters/ImageFilterTinyPlanet.java b/src/com/android/gallery3d/filtershow/filters/ImageFilterTinyPlanet.java
index 558af87..535a39d 100644
--- a/src/com/android/gallery3d/filtershow/filters/ImageFilterTinyPlanet.java
+++ b/src/com/android/gallery3d/filtershow/filters/ImageFilterTinyPlanet.java
@@ -53,7 +53,6 @@
             "CroppedAreaTopPixels";
 
     public ImageFilterTinyPlanet() {
-        setFilterType(TYPE_TINYPLANET);
         mName = "TinyPlanet";
     }
 
@@ -78,6 +77,7 @@
         FilterTinyPlanetRepresentation representation = new FilterTinyPlanetRepresentation();
         representation.setName("TinyPlanet");
         representation.setFilterClass(ImageFilterTinyPlanet.class);
+        representation.setFilterType(FilterRepresentation.TYPE_TINYPLANET);
         return representation;
     }
 
diff --git a/src/com/android/gallery3d/filtershow/filters/ImageFilterVignette.java b/src/com/android/gallery3d/filtershow/filters/ImageFilterVignette.java
index 1cc9359..b14ee55 100644
--- a/src/com/android/gallery3d/filtershow/filters/ImageFilterVignette.java
+++ b/src/com/android/gallery3d/filtershow/filters/ImageFilterVignette.java
@@ -26,7 +26,6 @@
     private static final String LOGTAG = "ImageFilterVignette";
 
     public ImageFilterVignette() {
-        setFilterType(TYPE_VIGNETTE);
         mName = "Vignette";
     }
 
@@ -34,7 +33,7 @@
         FilterBasicRepresentation representation = (FilterBasicRepresentation) super.getDefaultRepresentation();
         representation.setName("Vignette");
         representation.setFilterClass(ImageFilterVignette.class);
-        representation.setPriority(TYPE_VIGNETTE);
+        representation.setPriority(FilterRepresentation.TYPE_VIGNETTE);
         return representation;
     }
 
diff --git a/src/com/android/gallery3d/filtershow/filters/ImageFilterWBalance.java b/src/com/android/gallery3d/filtershow/filters/ImageFilterWBalance.java
index 05f5124..8b6c87b 100644
--- a/src/com/android/gallery3d/filtershow/filters/ImageFilterWBalance.java
+++ b/src/com/android/gallery3d/filtershow/filters/ImageFilterWBalance.java
@@ -24,13 +24,13 @@
     private static final String TAG = "ImageFilterWBalance";
 
     public ImageFilterWBalance() {
-        setFilterType(TYPE_WBALANCE);
         mName = "WBalance";
     }
 
     public FilterRepresentation getDefaultRepresentation() {
         FilterRepresentation representation = new FilterDirectRepresentation("WBalance");
         representation.setFilterClass(ImageFilterWBalance.class);
+        representation.setFilterType(FilterRepresentation.TYPE_WBALANCE);
         return representation;
     }
 
diff --git a/src/com/android/gallery3d/filtershow/presets/ImagePreset.java b/src/com/android/gallery3d/filtershow/presets/ImagePreset.java
index fb58d1f..c7d14e8 100644
--- a/src/com/android/gallery3d/filtershow/presets/ImagePreset.java
+++ b/src/com/android/gallery3d/filtershow/presets/ImagePreset.java
@@ -172,11 +172,11 @@
             return false;
         }
         for (FilterRepresentation representation : mFilters) {
-            if (representation.getPriority() == ImageFilter.TYPE_VIGNETTE
+            if (representation.getPriority() == FilterRepresentation.TYPE_VIGNETTE
                 && !representation.isNil()) {
                 return false;
             }
-            if (representation.getPriority() == ImageFilter.TYPE_TINYPLANET
+            if (representation.getPriority() == FilterRepresentation.TYPE_TINYPLANET
                 && !representation.isNil()) {
                 return false;
             }
@@ -323,20 +323,20 @@
 
     public void addFilter(FilterRepresentation representation) {
         Log.v(LOGTAG, "*** Add Filter *** " + representation);
-        if (representation.getPriority() == ImageFilter.TYPE_BORDER) {
+        if (representation.getPriority() == FilterRepresentation.TYPE_BORDER) {
             setHistoryName(representation.getName());
             setBorder(representation);
-        } else if (representation.getPriority() == ImageFilter.TYPE_FX) {
+        } else if (representation.getPriority() == FilterRepresentation.TYPE_FX) {
             boolean found = false;
             for (int i = 0; i < mFilters.size(); i++) {
                 int type = mFilters.elementAt(i).getPriority();
                 if (found) {
-                    if (type != ImageFilter.TYPE_VIGNETTE) {
+                    if (type != FilterRepresentation.TYPE_VIGNETTE) {
                         mFilters.remove(i);
                         continue;
                     }
                 }
-                if (type == ImageFilter.TYPE_FX) {
+                if (type == FilterRepresentation.TYPE_FX) {
                     mFilters.remove(i);
                     mFilters.add(i, representation);
                     setHistoryName(representation.getName());