Loading quickstep/src/com/android/launcher3/QuickstepTransitionManager.java +3 −3 Original line number Diff line number Diff line Loading @@ -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 -> { Loading @@ -590,7 +590,7 @@ public class QuickstepTransitionManager implements OnDeviceProfileChangeListener if (scrimEnabled) { mLauncher.getScrimView().setBackgroundColor(Color.TRANSPARENT); } mLauncher.getWorkspace().getPageIndicator().skipAnimationsToEnd(); mLauncher.resumeExpensiveViewUpdates(); }; } Loading src/com/android/launcher3/Launcher.java +11 −0 Original line number Diff line number Diff line Loading @@ -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(); } } Loading
quickstep/src/com/android/launcher3/QuickstepTransitionManager.java +3 −3 Original line number Diff line number Diff line Loading @@ -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 -> { Loading @@ -590,7 +590,7 @@ public class QuickstepTransitionManager implements OnDeviceProfileChangeListener if (scrimEnabled) { mLauncher.getScrimView().setBackgroundColor(Color.TRANSPARENT); } mLauncher.getWorkspace().getPageIndicator().skipAnimationsToEnd(); mLauncher.resumeExpensiveViewUpdates(); }; } Loading
src/com/android/launcher3/Launcher.java +11 −0 Original line number Diff line number Diff line Loading @@ -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(); } }