summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorWinson Chung <winsonc@google.com>2018-07-16 13:33:31 -0700
committerWinson Chung <winsonc@google.com>2018-07-18 15:05:54 -0700
commit8eb49e079ec880abf44b21aa47860eef56cb66e7 (patch)
tree3140e41b153276840d53981935261b474b42ec1e
parentf912bd955fa389ff13bda75546cae071e999d02f (diff)
downloadandroid_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
-rw-r--r--quickstep/src/com/android/launcher3/uioverrides/UiFactory.java8
-rw-r--r--quickstep/src/com/android/quickstep/RecentsModel.java1
-rw-r--r--quickstep/src/com/android/quickstep/WindowTransformSwipeHandler.java6
-rw-r--r--src/com/android/launcher3/Launcher.java6
-rw-r--r--src_ui_overrides/com/android/launcher3/uioverrides/UiFactory.java2
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) { }