summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorChris Wren <cwren@android.com>2012-10-17 16:04:15 -0400
committerChris Wren <cwren@android.com>2012-12-10 10:48:41 -0500
commit387363c426e097c358bd41367e0a8f4339fc8dc3 (patch)
treeef37c7dff69dfad79043b458b4ebe5d5158199aa /src
parent85756a88f29b41c29bf6ad10a32379f80f0df4d5 (diff)
downloadandroid_packages_screensavers_PhotoTable-387363c426e097c358bd41367e0a8f4339fc8dc3.tar.gz
android_packages_screensavers_PhotoTable-387363c426e097c358bd41367e0a8f4339fc8dc3.tar.bz2
android_packages_screensavers_PhotoTable-387363c426e097c358bd41367e0a8f4339fc8dc3.zip
tune re-deal behavior on photo table.
Bug: 7669353 Change-Id: I17aaf289067cbd688dba5cd317541b98bb4ee3dd
Diffstat (limited to 'src')
-rw-r--r--src/com/android/dreams/phototable/PhotoTable.java23
1 files changed, 9 insertions, 14 deletions
diff --git a/src/com/android/dreams/phototable/PhotoTable.java b/src/com/android/dreams/phototable/PhotoTable.java
index 50212c9..36b274c 100644
--- a/src/com/android/dreams/phototable/PhotoTable.java
+++ b/src/com/android/dreams/phototable/PhotoTable.java
@@ -119,7 +119,7 @@ public class PhotoTable extends FrameLayout {
mStarted = false;
}
-
+
public void setDream(DreamService dream) {
mDream = dream;
}
@@ -297,6 +297,13 @@ public class PhotoTable extends FrameLayout {
log("drop it");
table.throwOnTable(photo);
+ if (mOnTable.size() > mTableCapacity) {
+ int targetSize = Math.max(0, mOnTable.size() - mRedealCount);
+ while (mOnTable.size() > targetSize) {
+ fadeAway(mOnTable.poll(), false);
+ }
+ }
+
if(table.mOnTable.size() < table.mTableCapacity) {
table.scheduleNext(table.mFastDropPeriod);
}
@@ -399,19 +406,7 @@ public class PhotoTable extends FrameLayout {
.x(x)
.y(y)
.setDuration(duration)
- .setInterpolator(interpolator)
- .withEndAction(new Runnable() {
- @Override
- public void run() {
- if (mOnTable.size() > mTableCapacity) {
- while (mOnTable.size() > (mTableCapacity - mRedealCount)) {
- fadeAway(mOnTable.poll(), false);
- }
- // zero delay because we already waited duration ms
- scheduleNext(0);
- }
- }
- });
+ .setInterpolator(interpolator);
}
/** wrap all orientations to the interval [-180, 180). */