Loading services/core/java/com/android/server/wm/InputMonitor.java +10 −12 Original line number Diff line number Diff line Loading @@ -469,8 +469,12 @@ final class InputMonitor { public void accept(WindowState w) { final InputChannel inputChannel = w.mInputChannel; final InputWindowHandle inputWindowHandle = w.mInputWindowHandle; final RecentsAnimationController recentsAnimationController = mService.getRecentsAnimationController(); final boolean shouldApplyRecentsInputConsumer = recentsAnimationController != null && recentsAnimationController.shouldApplyInputConsumer(w.mActivityRecord); if (inputChannel == null || inputWindowHandle == null || w.mRemoved || w.cantReceiveTouchInput()) { || (w.cantReceiveTouchInput() && !shouldApplyRecentsInputConsumer)) { if (w.mWinAnimator.hasSurface()) { mInputTransaction.setInputWindowInfo( w.mWinAnimator.mSurfaceController.getClientViewRootSurface(), Loading @@ -486,22 +490,16 @@ final class InputMonitor { final boolean hasFocus = w.isFocused(); final boolean isVisible = w.isVisibleLw(); if (mAddRecentsAnimationInputConsumerHandle) { final RecentsAnimationController recentsAnimationController = mService.getRecentsAnimationController(); if (recentsAnimationController != null && recentsAnimationController.shouldApplyInputConsumer(w.mActivityRecord)) { if (mAddRecentsAnimationInputConsumerHandle && shouldApplyRecentsInputConsumer) { if (recentsAnimationController.updateInputConsumerForApp( mRecentsAnimationInputConsumer.mWindowHandle, hasFocus)) { mRecentsAnimationInputConsumer.show(mInputTransaction, w); mAddRecentsAnimationInputConsumerHandle = false; } } } if (w.inPinnedWindowingMode()) { if (mAddPipInputConsumerHandle) { final Task rootTask = w.getTask().getRootTask(); mPipInputConsumer.mWindowHandle.replaceTouchableRegionWithCrop( rootTask.getSurfaceControl()); Loading services/core/java/com/android/server/wm/RecentsAnimationController.java +2 −1 Original line number Diff line number Diff line Loading @@ -799,7 +799,8 @@ public class RecentsAnimationController implements DeathRecipient { // Only apply the input consumer if it is enabled, it is not the target (home/recents) // being revealed with the transition, and we are actively animating the app as a part of // the animation return mInputConsumerEnabled && !isTargetApp(activity) && isAnimatingApp(activity); return mInputConsumerEnabled && activity != null && !isTargetApp(activity) && isAnimatingApp(activity); } boolean updateInputConsumerForApp(InputWindowHandle inputWindowHandle, Loading Loading
services/core/java/com/android/server/wm/InputMonitor.java +10 −12 Original line number Diff line number Diff line Loading @@ -469,8 +469,12 @@ final class InputMonitor { public void accept(WindowState w) { final InputChannel inputChannel = w.mInputChannel; final InputWindowHandle inputWindowHandle = w.mInputWindowHandle; final RecentsAnimationController recentsAnimationController = mService.getRecentsAnimationController(); final boolean shouldApplyRecentsInputConsumer = recentsAnimationController != null && recentsAnimationController.shouldApplyInputConsumer(w.mActivityRecord); if (inputChannel == null || inputWindowHandle == null || w.mRemoved || w.cantReceiveTouchInput()) { || (w.cantReceiveTouchInput() && !shouldApplyRecentsInputConsumer)) { if (w.mWinAnimator.hasSurface()) { mInputTransaction.setInputWindowInfo( w.mWinAnimator.mSurfaceController.getClientViewRootSurface(), Loading @@ -486,22 +490,16 @@ final class InputMonitor { final boolean hasFocus = w.isFocused(); final boolean isVisible = w.isVisibleLw(); if (mAddRecentsAnimationInputConsumerHandle) { final RecentsAnimationController recentsAnimationController = mService.getRecentsAnimationController(); if (recentsAnimationController != null && recentsAnimationController.shouldApplyInputConsumer(w.mActivityRecord)) { if (mAddRecentsAnimationInputConsumerHandle && shouldApplyRecentsInputConsumer) { if (recentsAnimationController.updateInputConsumerForApp( mRecentsAnimationInputConsumer.mWindowHandle, hasFocus)) { mRecentsAnimationInputConsumer.show(mInputTransaction, w); mAddRecentsAnimationInputConsumerHandle = false; } } } if (w.inPinnedWindowingMode()) { if (mAddPipInputConsumerHandle) { final Task rootTask = w.getTask().getRootTask(); mPipInputConsumer.mWindowHandle.replaceTouchableRegionWithCrop( rootTask.getSurfaceControl()); Loading
services/core/java/com/android/server/wm/RecentsAnimationController.java +2 −1 Original line number Diff line number Diff line Loading @@ -799,7 +799,8 @@ public class RecentsAnimationController implements DeathRecipient { // Only apply the input consumer if it is enabled, it is not the target (home/recents) // being revealed with the transition, and we are actively animating the app as a part of // the animation return mInputConsumerEnabled && !isTargetApp(activity) && isAnimatingApp(activity); return mInputConsumerEnabled && activity != null && !isTargetApp(activity) && isAnimatingApp(activity); } boolean updateInputConsumerForApp(InputWindowHandle inputWindowHandle, Loading