diff options
author | Winson Chung <winsonc@google.com> | 2018-02-23 01:22:32 +0000 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2018-02-23 01:22:32 +0000 |
commit | 9cbeced3e143ba183d7de84c6324788030595bb1 (patch) | |
tree | 7fc8294b3a703938535e44e7749c826871bbf4d9 /src/com/android/launcher3/util | |
parent | 38b8779bd39edbaa6f61440c2eed45c59643c9fa (diff) | |
parent | a7843583be7603e1656a5d413a8b5d70468d952f (diff) | |
download | android_packages_apps_Trebuchet-9cbeced3e143ba183d7de84c6324788030595bb1.tar.gz android_packages_apps_Trebuchet-9cbeced3e143ba183d7de84c6324788030595bb1.tar.bz2 android_packages_apps_Trebuchet-9cbeced3e143ba183d7de84c6324788030595bb1.zip |
Merge "Fix flash when switching from app window to snapshot." into ub-launcher3-master
Diffstat (limited to 'src/com/android/launcher3/util')
-rw-r--r-- | src/com/android/launcher3/util/ViewOnDrawExecutor.java | 27 |
1 files changed, 21 insertions, 6 deletions
diff --git a/src/com/android/launcher3/util/ViewOnDrawExecutor.java b/src/com/android/launcher3/util/ViewOnDrawExecutor.java index e5c1dd1b4..34bdcc937 100644 --- a/src/com/android/launcher3/util/ViewOnDrawExecutor.java +++ b/src/com/android/launcher3/util/ViewOnDrawExecutor.java @@ -49,9 +49,16 @@ public class ViewOnDrawExecutor implements Executor, OnDrawListener, Runnable, } public void attachTo(Launcher launcher) { + attachTo(launcher, launcher.getWorkspace(), true /* waitForLoadAnimation */); + } + + public void attachTo(Launcher launcher, View attachedView, boolean waitForLoadAnimation) { mLauncher = launcher; - mAttachedView = launcher.getWorkspace(); + mAttachedView = attachedView; mAttachedView.addOnAttachStateChangeListener(this); + if (!waitForLoadAnimation) { + mLoadAnimationCompleted = true; + } attachObserver(); } @@ -74,7 +81,7 @@ public class ViewOnDrawExecutor implements Executor, OnDrawListener, Runnable, } @Override - public void onViewDetachedFromWindow(View v) { } + public void onViewDetachedFromWindow(View v) {} @Override public void onDraw() { @@ -101,10 +108,7 @@ public class ViewOnDrawExecutor implements Executor, OnDrawListener, Runnable, // Post the pending tasks after both onDraw and onLoadAnimationCompleted have been called. if (mLoadAnimationCompleted && mFirstDrawCompleted && !mCompleted) { mIsExecuting = true; - for (final Runnable r : mTasks) { - mExecutor.execute(r); - } - markCompleted(); + runAllTasks(); } } @@ -121,4 +125,15 @@ public class ViewOnDrawExecutor implements Executor, OnDrawListener, Runnable, } LauncherModel.setWorkerPriority(Process.THREAD_PRIORITY_DEFAULT); } + + protected boolean isCompleted() { + return mCompleted; + } + + protected void runAllTasks() { + for (final Runnable r : mTasks) { + mExecutor.execute(r); + } + markCompleted(); + } } |