summaryrefslogtreecommitdiffstats
path: root/src/com/android/launcher3/util
diff options
context:
space:
mode:
authorWinson Chung <winsonc@google.com>2018-02-23 01:22:32 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2018-02-23 01:22:32 +0000
commit9cbeced3e143ba183d7de84c6324788030595bb1 (patch)
tree7fc8294b3a703938535e44e7749c826871bbf4d9 /src/com/android/launcher3/util
parent38b8779bd39edbaa6f61440c2eed45c59643c9fa (diff)
parenta7843583be7603e1656a5d413a8b5d70468d952f (diff)
downloadandroid_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.java27
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();
+ }
}