Merge "support icon styles" into gb-ub-photos-bryce
diff --git a/src/com/android/gallery3d/filtershow/cache/CachingPipeline.java b/src/com/android/gallery3d/filtershow/cache/CachingPipeline.java
index 055309f..32d4ab0 100644
--- a/src/com/android/gallery3d/filtershow/cache/CachingPipeline.java
+++ b/src/com/android/gallery3d/filtershow/cache/CachingPipeline.java
@@ -282,10 +282,13 @@
|| request.getType() == RenderingRequest.FILTERS_RENDERING
|| request.getType() == RenderingRequest.ICON_RENDERING
|| request.getType() == RenderingRequest.PARTIAL_RENDERING
- || request.getType() == RenderingRequest.HIGHRES_RENDERING) {
+ || request.getType() == RenderingRequest.HIGHRES_RENDERING
+ || request.getType() == RenderingRequest.STYLE_ICON_RENDERING) {
if (request.getType() == RenderingRequest.ICON_RENDERING) {
mEnvironment.setQuality(ImagePreset.QUALITY_ICON);
+ } else if (request.getType() == RenderingRequest.STYLE_ICON_RENDERING) {
+ mEnvironment.setQuality(ImagePreset.STYLE_ICON);
} else {
mEnvironment.setQuality(ImagePreset.QUALITY_PREVIEW);
}
diff --git a/src/com/android/gallery3d/filtershow/cache/RenderingRequest.java b/src/com/android/gallery3d/filtershow/cache/RenderingRequest.java
index 3416ddf..e5bc411 100644
--- a/src/com/android/gallery3d/filtershow/cache/RenderingRequest.java
+++ b/src/com/android/gallery3d/filtershow/cache/RenderingRequest.java
@@ -41,6 +41,8 @@
public static final int ICON_RENDERING = 3;
public static final int PARTIAL_RENDERING = 4;
public static final int HIGHRES_RENDERING = 5;
+ public static final int STYLE_ICON_RENDERING = 6;
+
private static final Bitmap.Config mConfig = Bitmap.Config.ARGB_8888;
public static void post(Bitmap source, ImagePreset preset, int type, RenderingRequestCaller caller) {
@@ -59,7 +61,8 @@
Bitmap bitmap = null;
if (type == FULL_RENDERING
|| type == GEOMETRY_RENDERING
- || type == ICON_RENDERING) {
+ || type == ICON_RENDERING
+ || type == STYLE_ICON_RENDERING) {
CachingPipeline pipeline = new CachingPipeline(
FiltersManager.getManager(), "Icon");
bitmap = pipeline.renderGeometryIcon(source, preset);
diff --git a/src/com/android/gallery3d/filtershow/controller/StyleChooser.java b/src/com/android/gallery3d/filtershow/controller/StyleChooser.java
index 3f75839..b3d0de7 100644
--- a/src/com/android/gallery3d/filtershow/controller/StyleChooser.java
+++ b/src/com/android/gallery3d/filtershow/controller/StyleChooser.java
@@ -17,13 +17,12 @@
import java.util.Vector;
-public class StyleChooser implements Control, RenderingRequestCaller {
+public class StyleChooser implements Control {
private final String LOGTAG = "StyleChooser";
protected ParameterStyles mParameter;
protected LinearLayout mLinearLayout;
protected Editor mEditor;
private View mTopView;
- private int mProcessingButton = 0;
private Vector<ImageButton> mIconButton = new Vector<ImageButton>();
protected int mLayoutID = R.layout.filtershow_control_style_chooser;
@@ -42,7 +41,7 @@
mIconButton.clear();
LayoutParams lp = new LayoutParams(120, 120);
for (int i = 0; i < n; i++) {
- ImageButton button = new ImageButton(context);
+ final ImageButton button = new ImageButton(context);
button.setScaleType(ScaleType.CENTER_CROP);
button.setLayoutParams(lp);
button.setBackgroundResource(android.R.color.transparent);
@@ -55,9 +54,17 @@
}
});
mLinearLayout.addView(button);
+ mParameter.getIcon(i, new RenderingRequestCaller() {
+ @Override
+ public void available(RenderingRequest request) {
+ Bitmap bmap = request.getBitmap();
+ if (bmap == null) {
+ return;
+ }
+ button.setImageBitmap(bmap);
+ }
+ });
}
- mProcessingButton = 0;
- mParameter.getIcon(mProcessingButton, this);
}
@Override
@@ -78,23 +85,4 @@
}
}
- @Override
- public void available(RenderingRequest request) {
- Bitmap bmap = request.getBitmap();
- if (bmap == null) {
- return;
- }
-
- try {
- ImageButton button = mIconButton.get(mProcessingButton);
- button.setImageBitmap(bmap);
- } catch (Exception e) {
- return;
- }
-
- mProcessingButton++;
- if (mProcessingButton < mParameter.getNumberOfStyles())
- mParameter.getIcon(mProcessingButton, this);
- }
-
}
diff --git a/src/com/android/gallery3d/filtershow/filters/FilterRepresentation.java b/src/com/android/gallery3d/filtershow/filters/FilterRepresentation.java
index 7e0e25d..5bb0e57 100644
--- a/src/com/android/gallery3d/filtershow/filters/FilterRepresentation.java
+++ b/src/com/android/gallery3d/filtershow/filters/FilterRepresentation.java
@@ -42,7 +42,7 @@
public static final byte TYPE_NORMAL = 5;
public static final byte TYPE_TINYPLANET = 6;
- public FilterRepresentation mTempRepresentation = null;
+ private FilterRepresentation mTempRepresentation = null;
public FilterRepresentation(String name) {
mName = name;
@@ -127,6 +127,10 @@
public void useParametersFrom(FilterRepresentation a) {
}
+ public void clearTempRepresentation() {
+ mTempRepresentation = null;
+ }
+
public synchronized void updateTempParametersFrom(FilterRepresentation representation) {
if (mTempRepresentation == null) {
try {
diff --git a/src/com/android/gallery3d/filtershow/presets/ImagePreset.java b/src/com/android/gallery3d/filtershow/presets/ImagePreset.java
index a35a18a..2858ea6 100644
--- a/src/com/android/gallery3d/filtershow/presets/ImagePreset.java
+++ b/src/com/android/gallery3d/filtershow/presets/ImagePreset.java
@@ -39,6 +39,8 @@
public static final int QUALITY_ICON = 0;
public static final int QUALITY_PREVIEW = 1;
public static final int QUALITY_FINAL = 2;
+ public static final int STYLE_ICON = 3;
+
private ImageLoader mImageLoader = null;
private Vector<FilterRepresentation> mFilters = new Vector<FilterRepresentation>();