aboutsummaryrefslogtreecommitdiffstats
path: root/src/org/cyanogenmod/wallpapers/photophase/TextureManager.java
diff options
context:
space:
mode:
authorjruesga <jorge@ruesga.com>2013-07-03 01:10:47 +0200
committerjruesga <jorge@ruesga.com>2013-07-03 01:10:47 +0200
commitb56df92031af88fb0a577b2a2ae5d75b826a7347 (patch)
treebc91dd5d3d2038615a80b57214de2842343c886e /src/org/cyanogenmod/wallpapers/photophase/TextureManager.java
parenta3e8697366fe49c8b11060dab01466d6390beb3c (diff)
downloadandroid_packages_wallpapers_PhotoPhase-b56df92031af88fb0a577b2a2ae5d75b826a7347.tar.gz
android_packages_wallpapers_PhotoPhase-b56df92031af88fb0a577b2a2ae5d75b826a7347.tar.bz2
android_packages_wallpapers_PhotoPhase-b56df92031af88fb0a577b2a2ae5d75b826a7347.zip
Force redraw and empty texture buffer. Clear images buffer on reload
Initial layout disposition Signed-off-by: jruesga <jorge@ruesga.com>
Diffstat (limited to 'src/org/cyanogenmod/wallpapers/photophase/TextureManager.java')
-rw-r--r--src/org/cyanogenmod/wallpapers/photophase/TextureManager.java18
1 files changed, 18 insertions, 0 deletions
diff --git a/src/org/cyanogenmod/wallpapers/photophase/TextureManager.java b/src/org/cyanogenmod/wallpapers/photophase/TextureManager.java
index bd42af9..1d39ac7 100644
--- a/src/org/cyanogenmod/wallpapers/photophase/TextureManager.java
+++ b/src/org/cyanogenmod/wallpapers/photophase/TextureManager.java
@@ -209,6 +209,7 @@ public class TextureManager implements OnMediaPictureDiscoveredListener {
*/
public void emptyTextureQueue(boolean reload) {
synchronized (mSync) {
+ // Recycle the textures
try {
List<GLESTextureInfo> all = mQueue.removeAll();
for (GLESTextureInfo info : all) {
@@ -223,10 +224,16 @@ public class TextureManager implements OnMediaPictureDiscoveredListener {
} catch (EmptyQueueException eqex) {
// Ignore
}
+ // Recycle the bitmaps
+ for (Bitmap bitmap : sRecycledBitmaps) {
+ bitmap.recycle();
+ }
+ sRecycledBitmaps.clear();
// Reload the queue
if (reload) {
synchronized (mBackgroundTask.mLoadSync) {
+ mBackgroundTask.resetAvailableImages();
mBackgroundTask.mLoadSync.notify();
}
}
@@ -317,12 +324,23 @@ public class TextureManager implements OnMediaPictureDiscoveredListener {
*/
public void setAvailableImages(File[] images) {
synchronized (mLoadSync) {
+ mNewImages.clear();
mNewImages.addAll(Arrays.asList(images));
mUsedImages.clear();
}
}
/**
+ * Method that reset the current available images queue.
+ */
+ public void resetAvailableImages() {
+ synchronized (mLoadSync) {
+ mNewImages.addAll(mUsedImages);
+ mUsedImages.clear();
+ }
+ }
+
+ /**
* {@inheritDoc}
*/
@Override