Merge "Add method to pause expensive view updates during the app launch aimation" into tm-dev am: ed8f41b5e2
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Launcher3/+/17085606 Change-Id: Icf822eb2f2e48110a77beac8e2f31e56ffb15e05
This commit is contained in:
committed by
Automerger Merge Worker
commit
162d013451
@@ -579,8 +579,8 @@ public class QuickstepTransitionManager implements OnDeviceProfileChangeListener
|
||||
}
|
||||
}
|
||||
|
||||
// Pause page indicator animations as they lead to layer trashing.
|
||||
mLauncher.getWorkspace().getPageIndicator().pauseAnimations();
|
||||
// Pause expensive view updates as they can lead to layer thrashing and skipped frames.
|
||||
mLauncher.pauseExpensiveViewUpdates();
|
||||
|
||||
endListener = () -> {
|
||||
viewsToAnimate.forEach(view -> {
|
||||
@@ -590,7 +590,7 @@ public class QuickstepTransitionManager implements OnDeviceProfileChangeListener
|
||||
if (scrimEnabled) {
|
||||
mLauncher.getScrimView().setBackgroundColor(Color.TRANSPARENT);
|
||||
}
|
||||
mLauncher.getWorkspace().getPageIndicator().skipAnimationsToEnd();
|
||||
mLauncher.resumeExpensiveViewUpdates();
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
@@ -3192,4 +3192,15 @@ public class Launcher extends StatefulActivity<LauncherState> implements Launche
|
||||
public ArrowPopup<?> getOptionsPopup() {
|
||||
return findViewById(R.id.popup_container);
|
||||
}
|
||||
|
||||
/** Pauses view updates that should not be run during the app launch animation. */
|
||||
public void pauseExpensiveViewUpdates() {
|
||||
// Pause page indicator animations as they lead to layer trashing.
|
||||
getWorkspace().getPageIndicator().pauseAnimations();
|
||||
}
|
||||
|
||||
/** Resumes view updates at the end of the app launch animation. */
|
||||
public void resumeExpensiveViewUpdates() {
|
||||
getWorkspace().getPageIndicator().skipAnimationsToEnd();
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user