From da4de5aa86b49be455efe396455b77be44dec684 Mon Sep 17 00:00:00 2001 From: nicolasroard Date: Mon, 28 Jan 2013 16:36:46 -0800 Subject: Refactor filters parameters - introduce FilterRepresentations - change filters lifecycle Change-Id: I9416fca47a334d532a347cd5577795738c870933 --- .../filtershow/filters/FiltersManager.java | 41 ++++++++++++++++++++-- 1 file changed, 38 insertions(+), 3 deletions(-) (limited to 'src_pd/com/android') diff --git a/src_pd/com/android/gallery3d/filtershow/filters/FiltersManager.java b/src_pd/com/android/gallery3d/filtershow/filters/FiltersManager.java index 915041bb9..3b3326c72 100644 --- a/src_pd/com/android/gallery3d/filtershow/filters/FiltersManager.java +++ b/src_pd/com/android/gallery3d/filtershow/filters/FiltersManager.java @@ -16,17 +16,45 @@ package com.android.gallery3d.filtershow.filters; -import android.util.Log; - import com.android.gallery3d.filtershow.cache.ImageLoader; +import java.util.HashMap; import java.util.Vector; public class FiltersManager { private static final String LOGTAG = "FiltersManager"; + private static FiltersManager gInstance = null; + private static HashMap mFilters = new HashMap(); - public static void addFilters(Vector filters, ImageLoader imageLoader) { + private FiltersManager() { + Vector filters = new Vector(); + FiltersManager.addFilters(filters); + for (ImageFilter filter : filters) { + mFilters.put(filter.getClass(), filter); + } + } + + public ImageFilter getFilter(Class c) { + return mFilters.get(c); + } + + public ImageFilter getFilterForRepresentation(FilterRepresentation representation) { + return mFilters.get(representation.getFilterClass()); + } + + public void addFilter(Class filterClass, ImageFilter filter) { + mFilters.put(filterClass, filter); + } + + public static FiltersManager getManager() { + if (gInstance == null) { + gInstance = new FiltersManager(); + } + return gInstance; + } + + public static void addFilters(Vector filters) { filters.add(new ImageFilterTinyPlanet()); filters.add(new ImageFilterWBalance()); filters.add(new ImageFilterExposure()); @@ -43,6 +71,13 @@ public class FiltersManager { filters.add(new ImageFilterNegative()); filters.add(new ImageFilterEdge()); filters.add(new ImageFilterKMeans()); + } + + public static void addFilters(Vector filters, ImageLoader imageLoader) { + FiltersManager.addFilters(filters); filters.add(new ImageFilterDownsample(imageLoader)); + FiltersManager.getManager().addFilter(ImageFilterDownsample.class, + new ImageFilterDownsample(imageLoader)); } + } -- cgit v1.2.3