summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorJohn Hoford <hoford@google.com>2013-04-22 13:40:39 -0700
committerAndroid Git Automerger <android-git-automerger@android.com>2013-04-22 13:40:39 -0700
commitf5680df00ebd06172efeca4149af633e9aa02fad (patch)
tree345af573a7c6de9ee341dd90a54bc26a8a3e84af /src
parent08a11bddeb561f9f4c9ef26f8ea65865b2ecee3f (diff)
parentbe3e14d561ed1033fa44526ab83b170cfae45b4f (diff)
downloadandroid_packages_apps_Snap-f5680df00ebd06172efeca4149af633e9aa02fad.tar.gz
android_packages_apps_Snap-f5680df00ebd06172efeca4149af633e9aa02fad.tar.bz2
android_packages_apps_Snap-f5680df00ebd06172efeca4149af633e9aa02fad.zip
am 91d26f6c: tiny planet fix
* commit '91d26f6c3b183862eeffc1856e2d758e800d13f4': tiny planet fix
Diffstat (limited to 'src')
-rw-r--r--src/com/android/gallery3d/filtershow/filters/FilterTinyPlanetRepresentation.java9
-rw-r--r--src/com/android/gallery3d/filtershow/presets/FilterEnvironment.java34
2 files changed, 43 insertions, 0 deletions
diff --git a/src/com/android/gallery3d/filtershow/filters/FilterTinyPlanetRepresentation.java b/src/com/android/gallery3d/filtershow/filters/FilterTinyPlanetRepresentation.java
index c570a757e..48c8b380e 100644
--- a/src/com/android/gallery3d/filtershow/filters/FilterTinyPlanetRepresentation.java
+++ b/src/com/android/gallery3d/filtershow/filters/FilterTinyPlanetRepresentation.java
@@ -34,6 +34,7 @@ public class FilterTinyPlanetRepresentation extends FilterBasicRepresentation {
setTextId(R.string.tinyplanet);
setButtonId(R.id.tinyplanetButton);
setEditorId(EditorTinyPlanet.ID);
+ setMinimum(1);
}
@Override
@@ -45,6 +46,14 @@ public class FilterTinyPlanetRepresentation extends FilterBasicRepresentation {
return representation;
}
+ @Override
+ public void useParametersFrom(FilterRepresentation a) {
+ FilterTinyPlanetRepresentation representation = (FilterTinyPlanetRepresentation) a;
+ super.useParametersFrom(a);
+ mAngle = representation.mAngle;
+ setZoom(representation.getZoom());
+ }
+
public void setAngle(float angle) {
mAngle = angle;
}
diff --git a/src/com/android/gallery3d/filtershow/presets/FilterEnvironment.java b/src/com/android/gallery3d/filtershow/presets/FilterEnvironment.java
index 7b0e0193f..3c53227fc 100644
--- a/src/com/android/gallery3d/filtershow/presets/FilterEnvironment.java
+++ b/src/com/android/gallery3d/filtershow/presets/FilterEnvironment.java
@@ -18,17 +18,51 @@ package com.android.gallery3d.filtershow.presets;
import android.graphics.Bitmap;
import android.support.v8.renderscript.Allocation;
+import android.util.Log;
+
import com.android.gallery3d.filtershow.cache.CachingPipeline;
import com.android.gallery3d.filtershow.filters.FilterRepresentation;
import com.android.gallery3d.filtershow.filters.FiltersManager;
import com.android.gallery3d.filtershow.filters.ImageFilter;
+import java.lang.ref.WeakReference;
+import java.util.HashMap;
+
public class FilterEnvironment {
+ private static final String LOGTAG = "FilterEnvironment";
private ImagePreset mImagePreset;
private float mScaleFactor;
private int mQuality;
private FiltersManager mFiltersManager;
private CachingPipeline mCachingPipeline;
+ private HashMap<Long, WeakReference<Bitmap>>
+ bitmapCach = new HashMap<Long, WeakReference<Bitmap>>();
+
+ public void cache(Bitmap bitmap) {
+ if (bitmap == null) {
+ return;
+ }
+ Long key = calcKey(bitmap.getWidth(), bitmap.getHeight());
+ bitmapCach.put(key, new WeakReference<Bitmap>(bitmap));
+ }
+
+ public Bitmap getBitmap(int w, int h) {
+ Long key = calcKey(w, h);
+ WeakReference<Bitmap> ref = bitmapCach.remove(key);
+ Bitmap bitmap = null;
+ if (ref != null) {
+ bitmap = ref.get();
+ }
+ if (bitmap == null) {
+ bitmap = Bitmap.createBitmap(
+ w, h, Bitmap.Config.ARGB_8888);
+ }
+ return bitmap;
+ }
+
+ private Long calcKey(long w, long h) {
+ return (w << 32) | (h << 32);
+ }
public void setImagePreset(ImagePreset imagePreset) {
mImagePreset = imagePreset;