Loading core/java/android/app/ActivityManagerInternal.java +5 −0 Original line number Diff line number Diff line Loading @@ -376,6 +376,11 @@ public abstract class ActivityManagerInternal { */ public abstract boolean isRecentsComponentHomeActivity(int userId); /** * Cancels any currently running recents animation. */ public abstract void cancelRecentsAnimation(boolean restoreHomeStackPosition); /** * Whether an UID is active or idle. */ Loading packages/SystemUI/src/com/android/systemui/statusbar/policy/KeyButtonView.java +0 −7 Original line number Diff line number Diff line Loading @@ -269,13 +269,6 @@ public class KeyButtonView extends ImageView implements ButtonInterface { } if (mCode != 0) { if (doIt) { // If there was a pending remote recents animation, then we need to // cancel the animation now before we handle the button itself. In the case // where we are going home and the recents animation has already started, // just cancel the recents animation, leaving the home stack in place boolean isHomeKey = mCode == KEYCODE_HOME; ActivityManagerWrapper.getInstance().cancelRecentsAnimation(!isHomeKey); sendEvent(KeyEvent.ACTION_UP, 0); sendAccessibilityEvent(AccessibilityEvent.TYPE_VIEW_CLICKED); } else { Loading services/core/java/com/android/server/am/ActivityManagerService.java +5 −0 Original line number Diff line number Diff line Loading @@ -26632,6 +26632,11 @@ public class ActivityManagerService extends IActivityManager.Stub return getRecentTasks().isRecentsComponentHomeActivity(userId); } @Override public void cancelRecentsAnimation(boolean restoreHomeStackPosition) { ActivityManagerService.this.cancelRecentsAnimation(restoreHomeStackPosition); } @Override public boolean isUidActive(int uid) { synchronized (ActivityManagerService.this) { services/core/java/com/android/server/policy/PhoneWindowManager.java +8 −0 Original line number Diff line number Diff line Loading @@ -6091,6 +6091,14 @@ public class PhoneWindowManager implements WindowManagerPolicy { && (!isNavBarVirtKey || mNavBarVirtualKeyHapticFeedbackEnabled) && event.getRepeatCount() == 0; // Cancel any pending remote recents animations before handling the button itself. In the // case where we are going home and the recents animation has already started, just cancel // the recents animation, leaving the home stack in place for the pending start activity if (isNavBarVirtKey && !down) { boolean isHomeKey = keyCode == KeyEvent.KEYCODE_HOME; mActivityManagerInternal.cancelRecentsAnimation(!isHomeKey); } // Handle special keys. switch (keyCode) { case KeyEvent.KEYCODE_BACK: { Loading services/core/java/com/android/server/wm/RecentsAnimationController.java +1 −1 Original line number Diff line number Diff line Loading @@ -369,7 +369,7 @@ public class RecentsAnimationController implements DeathRecipient { } void cancelAnimation(@ReorderMode int reorderMode, String reason) { if (DEBUG_RECENTS_ANIMATIONS) Slog.d(TAG, "cancelAnimation()"); if (DEBUG_RECENTS_ANIMATIONS) Slog.d(TAG, "cancelAnimation(): reason=" + reason); synchronized (mService.getWindowManagerLock()) { if (mCanceled) { // We've already canceled the animation Loading Loading
core/java/android/app/ActivityManagerInternal.java +5 −0 Original line number Diff line number Diff line Loading @@ -376,6 +376,11 @@ public abstract class ActivityManagerInternal { */ public abstract boolean isRecentsComponentHomeActivity(int userId); /** * Cancels any currently running recents animation. */ public abstract void cancelRecentsAnimation(boolean restoreHomeStackPosition); /** * Whether an UID is active or idle. */ Loading
packages/SystemUI/src/com/android/systemui/statusbar/policy/KeyButtonView.java +0 −7 Original line number Diff line number Diff line Loading @@ -269,13 +269,6 @@ public class KeyButtonView extends ImageView implements ButtonInterface { } if (mCode != 0) { if (doIt) { // If there was a pending remote recents animation, then we need to // cancel the animation now before we handle the button itself. In the case // where we are going home and the recents animation has already started, // just cancel the recents animation, leaving the home stack in place boolean isHomeKey = mCode == KEYCODE_HOME; ActivityManagerWrapper.getInstance().cancelRecentsAnimation(!isHomeKey); sendEvent(KeyEvent.ACTION_UP, 0); sendAccessibilityEvent(AccessibilityEvent.TYPE_VIEW_CLICKED); } else { Loading
services/core/java/com/android/server/am/ActivityManagerService.java +5 −0 Original line number Diff line number Diff line Loading @@ -26632,6 +26632,11 @@ public class ActivityManagerService extends IActivityManager.Stub return getRecentTasks().isRecentsComponentHomeActivity(userId); } @Override public void cancelRecentsAnimation(boolean restoreHomeStackPosition) { ActivityManagerService.this.cancelRecentsAnimation(restoreHomeStackPosition); } @Override public boolean isUidActive(int uid) { synchronized (ActivityManagerService.this) {
services/core/java/com/android/server/policy/PhoneWindowManager.java +8 −0 Original line number Diff line number Diff line Loading @@ -6091,6 +6091,14 @@ public class PhoneWindowManager implements WindowManagerPolicy { && (!isNavBarVirtKey || mNavBarVirtualKeyHapticFeedbackEnabled) && event.getRepeatCount() == 0; // Cancel any pending remote recents animations before handling the button itself. In the // case where we are going home and the recents animation has already started, just cancel // the recents animation, leaving the home stack in place for the pending start activity if (isNavBarVirtKey && !down) { boolean isHomeKey = keyCode == KeyEvent.KEYCODE_HOME; mActivityManagerInternal.cancelRecentsAnimation(!isHomeKey); } // Handle special keys. switch (keyCode) { case KeyEvent.KEYCODE_BACK: { Loading
services/core/java/com/android/server/wm/RecentsAnimationController.java +1 −1 Original line number Diff line number Diff line Loading @@ -369,7 +369,7 @@ public class RecentsAnimationController implements DeathRecipient { } void cancelAnimation(@ReorderMode int reorderMode, String reason) { if (DEBUG_RECENTS_ANIMATIONS) Slog.d(TAG, "cancelAnimation()"); if (DEBUG_RECENTS_ANIMATIONS) Slog.d(TAG, "cancelAnimation(): reason=" + reason); synchronized (mService.getWindowManagerLock()) { if (mCanceled) { // We've already canceled the animation Loading