diff options
author | nicolasroard <nicolasroard@google.com> | 2012-12-11 13:58:04 -0800 |
---|---|---|
committer | nicolasroard <nicolasroard@google.com> | 2012-12-11 13:58:39 -0800 |
commit | 51623b2bb42e054bd4b7e45de474fe27c4379a0e (patch) | |
tree | 0112d1314f9f9ac7e652c227619c751fe5156c46 /src/com/android/gallery3d | |
parent | 203b6826f9958fbafd1a92b4a99d8d9e20e8b248 (diff) | |
download | android_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
Diffstat (limited to 'src/com/android/gallery3d')
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; |