diff options
author | jruesga <jorge@ruesga.com> | 2013-07-03 01:10:47 +0200 |
---|---|---|
committer | jruesga <jorge@ruesga.com> | 2013-07-03 01:10:47 +0200 |
commit | b56df92031af88fb0a577b2a2ae5d75b826a7347 (patch) | |
tree | bc91dd5d3d2038615a80b57214de2842343c886e /src/org/cyanogenmod/wallpapers/photophase/TextureManager.java | |
parent | a3e8697366fe49c8b11060dab01466d6390beb3c (diff) | |
download | android_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.java | 18 |
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 |