diff options
author | Winson Chung <winsonc@google.com> | 2018-07-16 13:33:31 -0700 |
---|---|---|
committer | Winson Chung <winsonc@google.com> | 2018-07-18 15:05:54 -0700 |
commit | 8eb49e079ec880abf44b21aa47860eef56cb66e7 (patch) | |
tree | 3140e41b153276840d53981935261b474b42ec1e | |
parent | f912bd955fa389ff13bda75546cae071e999d02f (diff) | |
download | android_packages_apps_Trebuchet-8eb49e079ec880abf44b21aa47860eef56cb66e7.tar.gz android_packages_apps_Trebuchet-8eb49e079ec880abf44b21aa47860eef56cb66e7.tar.bz2 android_packages_apps_Trebuchet-8eb49e079ec880abf44b21aa47860eef56cb66e7.zip |
Defer starting the high-res thumbnail loader until quick step/scrub
- When hitting the home button, we may be loading high-res thumbnails
unnecessarily since the high-res loader is already enabled when
Launcher is started.
Bug: 111515602
Bug: 111156069
Change-Id: I367993b4ddf653b816355df005c745caed5e794a
5 files changed, 22 insertions, 1 deletions
diff --git a/quickstep/src/com/android/launcher3/uioverrides/UiFactory.java b/quickstep/src/com/android/launcher3/uioverrides/UiFactory.java index ac9f8634e..2d0946b89 100644 --- a/quickstep/src/com/android/launcher3/uioverrides/UiFactory.java +++ b/quickstep/src/com/android/launcher3/uioverrides/UiFactory.java @@ -165,6 +165,14 @@ public class UiFactory { } } + public static void onEnterAnimationComplete(Context context) { + // After the transition to home, enable the high-res thumbnail loader if it wasn't enabled + // as a part of quickstep/scrub, so that high-res thumbnails can load the next time we + // enter overview + RecentsModel.getInstance(context).getRecentsTaskLoader() + .getHighResThumbnailLoader().setVisible(true); + } + public static void onLauncherStateOrResumeChanged(Launcher launcher) { LauncherState state = launcher.getStateManager().getState(); DeviceProfile profile = launcher.getDeviceProfile(); diff --git a/quickstep/src/com/android/quickstep/RecentsModel.java b/quickstep/src/com/android/quickstep/RecentsModel.java index 0c8e47f2b..0b97f0119 100644 --- a/quickstep/src/com/android/quickstep/RecentsModel.java +++ b/quickstep/src/com/android/quickstep/RecentsModel.java @@ -232,7 +232,6 @@ public class RecentsModel extends TaskStackChangeListener { public void onStart() { mRecentsTaskLoader.startLoader(mContext); - mRecentsTaskLoader.getHighResThumbnailLoader().setVisible(true); } public void onTrimMemory(int level) { diff --git a/quickstep/src/com/android/quickstep/WindowTransformSwipeHandler.java b/quickstep/src/com/android/quickstep/WindowTransformSwipeHandler.java index 15ff19e26..fdfd073e0 100644 --- a/quickstep/src/com/android/quickstep/WindowTransformSwipeHandler.java +++ b/quickstep/src/com/android/quickstep/WindowTransformSwipeHandler.java @@ -483,6 +483,12 @@ public class WindowTransformSwipeHandler<T extends BaseDraggingActivity> { if (LatencyTrackerCompat.isEnabled(mContext)) { LatencyTrackerCompat.logToggleRecents((int) (mLauncherFrameDrawnTime - mTouchTimeMs)); } + + // This method is only called when STATE_GESTURE_STARTED_QUICKSTEP/ + // STATE_GESTURE_STARTED_QUICKSCRUB is set, so we can enable the high-res thumbnail loader + // here once we are sure that we will end up in an overview state + RecentsModel.getInstance(mContext).getRecentsTaskLoader() + .getHighResThumbnailLoader().setVisible(true); } public void updateInteractionType(@InteractionType int interactionType) { diff --git a/src/com/android/launcher3/Launcher.java b/src/com/android/launcher3/Launcher.java index c3c4f5e5e..4fe35033b 100644 --- a/src/com/android/launcher3/Launcher.java +++ b/src/com/android/launcher3/Launcher.java @@ -348,6 +348,12 @@ public class Launcher extends BaseDraggingActivity implements LauncherExterns, } @Override + public void onEnterAnimationComplete() { + super.onEnterAnimationComplete(); + UiFactory.onEnterAnimationComplete(this); + } + + @Override public void onConfigurationChanged(Configuration newConfig) { int diff = newConfig.diff(mOldConfig); if ((diff & (CONFIG_ORIENTATION | CONFIG_SCREEN_SIZE)) != 0) { diff --git a/src_ui_overrides/com/android/launcher3/uioverrides/UiFactory.java b/src_ui_overrides/com/android/launcher3/uioverrides/UiFactory.java index 5a7e50fae..0d727fdbb 100644 --- a/src_ui_overrides/com/android/launcher3/uioverrides/UiFactory.java +++ b/src_ui_overrides/com/android/launcher3/uioverrides/UiFactory.java @@ -48,6 +48,8 @@ public class UiFactory { public static void onStart(Launcher launcher) { } + public static void onEnterAnimationComplete(Context context) {} + public static void onLauncherStateOrResumeChanged(Launcher launcher) { } public static void onTrimMemory(Launcher launcher, int level) { } |