diff options
| -rw-r--r-- | services/core/java/com/android/server/wm/ActivityRecord.java | 7 | ||||
| -rw-r--r-- | services/core/java/com/android/server/wm/RootWindowContainer.java | 4 |
2 files changed, 8 insertions, 3 deletions
diff --git a/services/core/java/com/android/server/wm/ActivityRecord.java b/services/core/java/com/android/server/wm/ActivityRecord.java index c866dd013af0..05b77bf7662e 100644 --- a/services/core/java/com/android/server/wm/ActivityRecord.java +++ b/services/core/java/com/android/server/wm/ActivityRecord.java @@ -1316,6 +1316,9 @@ final class ActivityRecord extends WindowToken implements WindowManagerService.A if (mLaunchIntoPipHostActivity != null) { pw.println(prefix + "launchIntoPipHostActivity=" + mLaunchIntoPipHostActivity); } + if (mWaitForEnteringPinnedMode) { + pw.print(prefix); pw.println("mWaitForEnteringPinnedMode=true"); + } mLetterboxUiController.dump(pw, prefix); @@ -3132,9 +3135,7 @@ final class ActivityRecord extends WindowToken implements WindowManagerService.A } boolean canReceiveKeys() { - // TODO(156521483): Propagate the state down the hierarchy instead of checking the parent - return getWindowConfiguration().canReceiveKeys() - && (task == null || task.getWindowConfiguration().canReceiveKeys()); + return getWindowConfiguration().canReceiveKeys() && !mWaitForEnteringPinnedMode; } boolean isResizeable() { diff --git a/services/core/java/com/android/server/wm/RootWindowContainer.java b/services/core/java/com/android/server/wm/RootWindowContainer.java index cf6a1feef5ee..7a442e708130 100644 --- a/services/core/java/com/android/server/wm/RootWindowContainer.java +++ b/services/core/java/com/android/server/wm/RootWindowContainer.java @@ -2211,6 +2211,10 @@ class RootWindowContainer extends WindowContainer<DisplayContent> mService.mTaskFragmentOrganizerController.dispatchPendingInfoChangedEvent( organizedTf); } + + if (taskDisplayArea.getFocusedRootTask() == rootTask) { + taskDisplayArea.clearPreferredTopFocusableRootTask(); + } } finally { mService.continueWindowLayout(); try { |