summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authornicolasroard <nicolasroard@google.com>2012-12-11 13:58:04 -0800
committernicolasroard <nicolasroard@google.com>2012-12-11 13:58:39 -0800
commit51623b2bb42e054bd4b7e45de474fe27c4379a0e (patch)
tree0112d1314f9f9ac7e652c227619c751fe5156c46
parent203b6826f9958fbafd1a92b4a99d8d9e20e8b248 (diff)
downloadandroid_packages_apps_Snap-51623b2bb42e054bd4b7e45de474fe27c4379a0e.tar.gz
android_packages_apps_Snap-51623b2bb42e054bd4b7e45de474fe27c4379a0e.tar.bz2
android_packages_apps_Snap-51623b2bb42e054bd4b7e45de474fe27c4379a0e.zip
Cleanup filters creation in presets
bug:7688780 Change-Id: If330d02e3c0f43cffbce5327b26f0af44d2416c8
-rw-r--r--src/com/android/gallery3d/filtershow/FilterShowActivity.java1
-rw-r--r--src/com/android/gallery3d/filtershow/PanelController.java70
-rw-r--r--src/com/android/gallery3d/filtershow/filters/ImageFilter.java4
3 files changed, 23 insertions, 52 deletions
diff --git a/src/com/android/gallery3d/filtershow/FilterShowActivity.java b/src/com/android/gallery3d/filtershow/FilterShowActivity.java
index 356a0a074..c7de01837 100644
--- a/src/com/android/gallery3d/filtershow/FilterShowActivity.java
+++ b/src/com/android/gallery3d/filtershow/FilterShowActivity.java
@@ -324,6 +324,7 @@ public class FilterShowActivity extends Activity implements OnItemClickListener,
fView.setOverlayBitmap(bitmap);
}
mPanelController.addComponent(mColorsButton, fView);
+ mPanelController.addFilter(filters[i]);
listColors.addView(fView);
}
diff --git a/src/com/android/gallery3d/filtershow/PanelController.java b/src/com/android/gallery3d/filtershow/PanelController.java
index 1d9cc22b5..4f59258ed 100644
--- a/src/com/android/gallery3d/filtershow/PanelController.java
+++ b/src/com/android/gallery3d/filtershow/PanelController.java
@@ -306,6 +306,7 @@ public class PanelController implements OnClickListener {
private final HashMap<View, Panel> mPanels = new HashMap<View, Panel>();
private final HashMap<View, ViewType> mViews = new HashMap<View, ViewType>();
+ private final HashMap<String, ImageFilter> mFilters = new HashMap<String, ImageFilter>();
private final Vector<View> mImageViews = new Vector<View>();
private View mCurrentPanel = null;
private View mRowPanel = null;
@@ -339,6 +340,10 @@ public class PanelController implements OnClickListener {
mViews.put(component, new ViewType(component, COMPONENT));
}
+ public void addFilter(ImageFilter filter) {
+ mFilters.put(filter.getName(), filter);
+ }
+
public void addImageView(View view) {
mImageViews.add(view);
ImageShow imageShow = (ImageShow) view;
@@ -483,60 +488,21 @@ public class PanelController implements OnClickListener {
filter = copy.getFilter(name);
}
- if (filter == null && name.equalsIgnoreCase(
- mCurrentImage.getContext().getString(R.string.curvesRGB))) {
- filter = setImagePreset(new ImageFilterCurves(), name);
- }
- if (filter == null && name.equalsIgnoreCase(
- mCurrentImage.getContext().getString(R.string.tinyplanet))) {
- filter = setImagePreset(new ImageFilterTinyPlanet(), name);
- }
- if (filter == null
- && name.equalsIgnoreCase(mCurrentImage.getContext().getString(R.string.vignette))) {
- filter = setImagePreset(new ImageFilterVignette(), name);
- }
- if (filter == null
- && name.equalsIgnoreCase(mCurrentImage.getContext().getString(R.string.sharpness))) {
- filter = setImagePreset(new ImageFilterSharpen(), name);
- }
- if (filter == null
- && name.equalsIgnoreCase(mCurrentImage.getContext().getString(R.string.contrast))) {
- filter = setImagePreset(new ImageFilterContrast(), name);
- }
- if (filter == null
- && name.equalsIgnoreCase(mCurrentImage.getContext().getString(R.string.saturation))) {
- filter = setImagePreset(new ImageFilterSaturated(), name);
- }
- if (filter == null
- && name.equalsIgnoreCase(mCurrentImage.getContext().getString(R.string.bwfilter))) {
- filter = setImagePreset(new ImageFilterBwFilter(), name);
- }
- if (filter == null
- && name.equalsIgnoreCase(mCurrentImage.getContext().getString(R.string.hue))) {
- filter = setImagePreset(new ImageFilterHue(), name);
- }
- if (filter == null
- && name.equalsIgnoreCase(mCurrentImage.getContext().getString(R.string.exposure))) {
- filter = setImagePreset(new ImageFilterExposure(), name);
- }
- if (filter == null
- && name.equalsIgnoreCase(mCurrentImage.getContext().getString(R.string.vibrance))) {
- filter = setImagePreset(new ImageFilterVibrance(), name);
- }
- if (filter == null
- && name.equalsIgnoreCase(mCurrentImage.getContext().getString(
- R.string.shadow_recovery))) {
- filter = setImagePreset(new ImageFilterShadows(), name);
- }
- if (filter == null
- && name.equalsIgnoreCase(mCurrentImage.getContext().getString(R.string.redeye))) {
- filter = setImagePreset(new ImageFilterRedEye(), name);
+ if (filter == null) {
+ ImageFilter filterInstance = mFilters.get(name);
+ if (filterInstance != null) {
+ try {
+ ImageFilter newFilter = filterInstance.clone();
+ newFilter.reset();
+ filter = setImagePreset(newFilter, name);
+ } catch (CloneNotSupportedException e) {
+ e.printStackTrace();
+ }
+ }
}
- if (filter == null
- && name.equalsIgnoreCase(mCurrentImage.getContext().getString(R.string.wbalance))) {
- filter = setImagePreset(new ImageFilterWBalance(), name);
+ if (filter != null) {
+ mMasterImage.setCurrentFilter(filter);
}
- mMasterImage.setCurrentFilter(filter);
}
private void showCurvesPopupMenu(final ImageCurves curves, final FramedTextButton anchor) {
diff --git a/src/com/android/gallery3d/filtershow/filters/ImageFilter.java b/src/com/android/gallery3d/filtershow/filters/ImageFilter.java
index 5c24fbf65..8bd855660 100644
--- a/src/com/android/gallery3d/filtershow/filters/ImageFilter.java
+++ b/src/com/android/gallery3d/filtershow/filters/ImageFilter.java
@@ -82,6 +82,10 @@ public class ImageFilter implements Cloneable {
return filter;
}
+ public void reset() {
+ setParameter(mDefaultParameter);
+ }
+
public boolean isNil() {
if (mParameter == mDefaultParameter) {
return true;