diff options
author | Chris Wren <cwren@android.com> | 2012-10-17 16:04:15 -0400 |
---|---|---|
committer | Chris Wren <cwren@android.com> | 2012-12-10 10:48:41 -0500 |
commit | 387363c426e097c358bd41367e0a8f4339fc8dc3 (patch) | |
tree | ef37c7dff69dfad79043b458b4ebe5d5158199aa /src/com/android | |
parent | 85756a88f29b41c29bf6ad10a32379f80f0df4d5 (diff) | |
download | android_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/com/android')
-rw-r--r-- | src/com/android/dreams/phototable/PhotoTable.java | 23 |
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). */ |