From 753af4fa11f1ec337cc3e5cc145b85513107f697 Mon Sep 17 00:00:00 2001 From: Christopher Eby Date: Tue, 27 Apr 2010 22:34:05 -0500 Subject: [PATCH] Bump existing ids in the CoverView bitmap timeline --- src/org/kreed/vanilla/CoverView.java | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/src/org/kreed/vanilla/CoverView.java b/src/org/kreed/vanilla/CoverView.java index 4ba6035c..3c3232ec 100644 --- a/src/org/kreed/vanilla/CoverView.java +++ b/src/org/kreed/vanilla/CoverView.java @@ -303,17 +303,22 @@ public final class CoverView extends View { int[] timeline = mCacheTimeline; int i = timeline.length; while (--i != -1 && timeline[i] == 0); - if (i == timeline.length - 1) { + int j = i + 1; + while (--j != -1 && timeline[j] != id); + if (j != -1) { + System.arraycopy(timeline, j + 1, timeline, j, timeline.length - j - 1); + } else if (i == timeline.length - 1) { int toRemove = timeline[0]; System.arraycopy(timeline, 1, timeline, 0, timeline.length - 1); Bitmap bitmap = mBitmapCache.get(toRemove); mBitmapCache.remove(toRemove); if (bitmap != null) bitmap.recycle(); - } else { - ++i; } + if (i < timeline.length - 1) + ++i; + timeline[i] = id; }