Loading core/api/test-current.txt +1 −1 Original line number Diff line number Diff line Loading @@ -4476,7 +4476,7 @@ package android.window { method @Nullable @RequiresPermission(android.Manifest.permission.MANAGE_ACTIVITY_TASKS) public void createRootTask(int, int, @Nullable android.os.IBinder); method @RequiresPermission(android.Manifest.permission.MANAGE_ACTIVITY_TASKS) public boolean deleteRootTask(@NonNull android.window.WindowContainerToken); method @Nullable @RequiresPermission(android.Manifest.permission.MANAGE_ACTIVITY_TASKS) public java.util.List<android.app.ActivityManager.RunningTaskInfo> getChildTasks(@NonNull android.window.WindowContainerToken, @NonNull int[]); method @Nullable @RequiresPermission(android.Manifest.permission.MANAGE_ACTIVITY_TASKS) public android.window.WindowContainerToken getImeTarget(int); method @Nullable @RequiresPermission(android.Manifest.permission.MANAGE_ACTIVITY_TASKS) public android.window.WindowContainerToken getImeLayeringTarget(int); method @Nullable @RequiresPermission(android.Manifest.permission.MANAGE_ACTIVITY_TASKS) public java.util.List<android.app.ActivityManager.RunningTaskInfo> getRootTasks(int, @NonNull int[]); method @BinderThread public void onAppSplashScreenViewRemoved(int); method @BinderThread public void onBackPressedOnTaskRoot(@NonNull android.app.ActivityManager.RunningTaskInfo); Loading core/api/test-lint-baseline.txt +2 −0 Original line number Diff line number Diff line Loading @@ -2223,6 +2223,8 @@ UnflaggedApi: android.view.inputmethod.InputMethodManager#isStylusHandwritingAva New API must be flagged with @FlaggedApi: method android.view.inputmethod.InputMethodManager.isStylusHandwritingAvailableAsUser(android.os.UserHandle) UnflaggedApi: android.view.inputmethod.InsertModeGesture: New API must be flagged with @FlaggedApi: class android.view.inputmethod.InsertModeGesture UnflaggedApi: android.window.TaskOrganizer#getImeLayeringTarget(int): New API must be flagged with @FlaggedApi: method android.window.TaskOrganizer.getImeLayeringTarget(int) UnflaggedApi: android.window.WindowInfosListenerForTest.WindowInfo#displayId: New API must be flagged with @FlaggedApi: field android.window.WindowInfosListenerForTest.WindowInfo.displayId UnflaggedApi: android.window.WindowInfosListenerForTest.WindowInfo#isVisible: Loading core/java/android/window/ITaskOrganizerController.aidl +5 −2 Original line number Diff line number Diff line Loading @@ -58,8 +58,11 @@ interface ITaskOrganizerController { /** Gets all root tasks on a display (ordered from top-to-bottom) */ List<ActivityManager.RunningTaskInfo> getRootTasks(int displayId, in int[] activityTypes); /** Get the {@link WindowContainerToken} of the task which contains the current ime target */ WindowContainerToken getImeTarget(int display); /** * Get the {@link WindowContainerToken} of the task which contains the current IME layering * target */ @nullable WindowContainerToken getImeLayeringTarget(int display); /** * Requests that the given task organizer is notified when back is pressed on the root activity Loading core/java/android/window/TaskOrganizer.java +8 −3 Original line number Diff line number Diff line Loading @@ -211,12 +211,17 @@ public class TaskOrganizer extends WindowOrganizer { } } /** Get the {@link WindowContainerToken} of the task which contains the current ime target */ /** * Get the {@link WindowContainerToken} of the task which contains the current IME layering * target. * * @param displayId the ID of the display to get the IME layering target for. */ @RequiresPermission(android.Manifest.permission.MANAGE_ACTIVITY_TASKS) @Nullable public WindowContainerToken getImeTarget(int display) { public WindowContainerToken getImeLayeringTarget(int displayId) { try { return mTaskOrganizerController.getImeTarget(display); return mTaskOrganizerController.getImeLayeringTarget(displayId); } catch (RemoteException e) { throw e.rethrowFromSystemServer(); } Loading libs/WindowManager/Shell/src/com/android/wm/shell/common/split/SplitLayout.java +7 −7 Original line number Diff line number Diff line Loading @@ -1440,8 +1440,8 @@ public final class SplitLayout implements DisplayInsetsController.OnInsetsChange return 0; } final int imeTargetPosition = getImeTargetPosition(); mHasImeFocus = imeTargetPosition != SPLIT_POSITION_UNDEFINED; final int imeLayeringTargetPosition = getImeLayeringTargetPosition(); mHasImeFocus = imeLayeringTargetPosition != SPLIT_POSITION_UNDEFINED; if (!mHasImeFocus) { if (!android.view.inputmethod.Flags.refactorInsetsController() || showing) { return 0; Loading @@ -1454,15 +1454,15 @@ public final class SplitLayout implements DisplayInsetsController.OnInsetsChange // Update target dim values mLastDim1 = mDimValue1; mTargetDim1 = imeTargetPosition == SPLIT_POSITION_BOTTOM_OR_RIGHT && mImeShown mTargetDim1 = imeLayeringTargetPosition == SPLIT_POSITION_BOTTOM_OR_RIGHT && mImeShown && mDimNonImeSide ? ADJUSTED_NONFOCUS_DIM : 0.0f; mLastDim2 = mDimValue2; mTargetDim2 = imeTargetPosition == SPLIT_POSITION_TOP_OR_LEFT && mImeShown mTargetDim2 = imeLayeringTargetPosition == SPLIT_POSITION_TOP_OR_LEFT && mImeShown && mDimNonImeSide ? ADJUSTED_NONFOCUS_DIM : 0.0f; // Calculate target bounds offset for IME mLastYOffset = mYOffsetForIme; final boolean needOffset = imeTargetPosition == SPLIT_POSITION_BOTTOM_OR_RIGHT final boolean needOffset = imeLayeringTargetPosition == SPLIT_POSITION_BOTTOM_OR_RIGHT && !isFloating && !mIsLeftRightSplit && mImeShown; mTargetYOffset = needOffset ? getTargetYOffset() : 0; Loading Loading @@ -1565,8 +1565,8 @@ public final class SplitLayout implements DisplayInsetsController.OnInsetsChange } @SplitPosition private int getImeTargetPosition() { final WindowContainerToken token = mTaskOrganizer.getImeTarget(mDisplayId); private int getImeLayeringTargetPosition() { final WindowContainerToken token = mTaskOrganizer.getImeLayeringTarget(mDisplayId); return mSplitLayoutHandler.getSplitItemPosition(token); } Loading Loading
core/api/test-current.txt +1 −1 Original line number Diff line number Diff line Loading @@ -4476,7 +4476,7 @@ package android.window { method @Nullable @RequiresPermission(android.Manifest.permission.MANAGE_ACTIVITY_TASKS) public void createRootTask(int, int, @Nullable android.os.IBinder); method @RequiresPermission(android.Manifest.permission.MANAGE_ACTIVITY_TASKS) public boolean deleteRootTask(@NonNull android.window.WindowContainerToken); method @Nullable @RequiresPermission(android.Manifest.permission.MANAGE_ACTIVITY_TASKS) public java.util.List<android.app.ActivityManager.RunningTaskInfo> getChildTasks(@NonNull android.window.WindowContainerToken, @NonNull int[]); method @Nullable @RequiresPermission(android.Manifest.permission.MANAGE_ACTIVITY_TASKS) public android.window.WindowContainerToken getImeTarget(int); method @Nullable @RequiresPermission(android.Manifest.permission.MANAGE_ACTIVITY_TASKS) public android.window.WindowContainerToken getImeLayeringTarget(int); method @Nullable @RequiresPermission(android.Manifest.permission.MANAGE_ACTIVITY_TASKS) public java.util.List<android.app.ActivityManager.RunningTaskInfo> getRootTasks(int, @NonNull int[]); method @BinderThread public void onAppSplashScreenViewRemoved(int); method @BinderThread public void onBackPressedOnTaskRoot(@NonNull android.app.ActivityManager.RunningTaskInfo); Loading
core/api/test-lint-baseline.txt +2 −0 Original line number Diff line number Diff line Loading @@ -2223,6 +2223,8 @@ UnflaggedApi: android.view.inputmethod.InputMethodManager#isStylusHandwritingAva New API must be flagged with @FlaggedApi: method android.view.inputmethod.InputMethodManager.isStylusHandwritingAvailableAsUser(android.os.UserHandle) UnflaggedApi: android.view.inputmethod.InsertModeGesture: New API must be flagged with @FlaggedApi: class android.view.inputmethod.InsertModeGesture UnflaggedApi: android.window.TaskOrganizer#getImeLayeringTarget(int): New API must be flagged with @FlaggedApi: method android.window.TaskOrganizer.getImeLayeringTarget(int) UnflaggedApi: android.window.WindowInfosListenerForTest.WindowInfo#displayId: New API must be flagged with @FlaggedApi: field android.window.WindowInfosListenerForTest.WindowInfo.displayId UnflaggedApi: android.window.WindowInfosListenerForTest.WindowInfo#isVisible: Loading
core/java/android/window/ITaskOrganizerController.aidl +5 −2 Original line number Diff line number Diff line Loading @@ -58,8 +58,11 @@ interface ITaskOrganizerController { /** Gets all root tasks on a display (ordered from top-to-bottom) */ List<ActivityManager.RunningTaskInfo> getRootTasks(int displayId, in int[] activityTypes); /** Get the {@link WindowContainerToken} of the task which contains the current ime target */ WindowContainerToken getImeTarget(int display); /** * Get the {@link WindowContainerToken} of the task which contains the current IME layering * target */ @nullable WindowContainerToken getImeLayeringTarget(int display); /** * Requests that the given task organizer is notified when back is pressed on the root activity Loading
core/java/android/window/TaskOrganizer.java +8 −3 Original line number Diff line number Diff line Loading @@ -211,12 +211,17 @@ public class TaskOrganizer extends WindowOrganizer { } } /** Get the {@link WindowContainerToken} of the task which contains the current ime target */ /** * Get the {@link WindowContainerToken} of the task which contains the current IME layering * target. * * @param displayId the ID of the display to get the IME layering target for. */ @RequiresPermission(android.Manifest.permission.MANAGE_ACTIVITY_TASKS) @Nullable public WindowContainerToken getImeTarget(int display) { public WindowContainerToken getImeLayeringTarget(int displayId) { try { return mTaskOrganizerController.getImeTarget(display); return mTaskOrganizerController.getImeLayeringTarget(displayId); } catch (RemoteException e) { throw e.rethrowFromSystemServer(); } Loading
libs/WindowManager/Shell/src/com/android/wm/shell/common/split/SplitLayout.java +7 −7 Original line number Diff line number Diff line Loading @@ -1440,8 +1440,8 @@ public final class SplitLayout implements DisplayInsetsController.OnInsetsChange return 0; } final int imeTargetPosition = getImeTargetPosition(); mHasImeFocus = imeTargetPosition != SPLIT_POSITION_UNDEFINED; final int imeLayeringTargetPosition = getImeLayeringTargetPosition(); mHasImeFocus = imeLayeringTargetPosition != SPLIT_POSITION_UNDEFINED; if (!mHasImeFocus) { if (!android.view.inputmethod.Flags.refactorInsetsController() || showing) { return 0; Loading @@ -1454,15 +1454,15 @@ public final class SplitLayout implements DisplayInsetsController.OnInsetsChange // Update target dim values mLastDim1 = mDimValue1; mTargetDim1 = imeTargetPosition == SPLIT_POSITION_BOTTOM_OR_RIGHT && mImeShown mTargetDim1 = imeLayeringTargetPosition == SPLIT_POSITION_BOTTOM_OR_RIGHT && mImeShown && mDimNonImeSide ? ADJUSTED_NONFOCUS_DIM : 0.0f; mLastDim2 = mDimValue2; mTargetDim2 = imeTargetPosition == SPLIT_POSITION_TOP_OR_LEFT && mImeShown mTargetDim2 = imeLayeringTargetPosition == SPLIT_POSITION_TOP_OR_LEFT && mImeShown && mDimNonImeSide ? ADJUSTED_NONFOCUS_DIM : 0.0f; // Calculate target bounds offset for IME mLastYOffset = mYOffsetForIme; final boolean needOffset = imeTargetPosition == SPLIT_POSITION_BOTTOM_OR_RIGHT final boolean needOffset = imeLayeringTargetPosition == SPLIT_POSITION_BOTTOM_OR_RIGHT && !isFloating && !mIsLeftRightSplit && mImeShown; mTargetYOffset = needOffset ? getTargetYOffset() : 0; Loading Loading @@ -1565,8 +1565,8 @@ public final class SplitLayout implements DisplayInsetsController.OnInsetsChange } @SplitPosition private int getImeTargetPosition() { final WindowContainerToken token = mTaskOrganizer.getImeTarget(mDisplayId); private int getImeLayeringTargetPosition() { final WindowContainerToken token = mTaskOrganizer.getImeLayeringTarget(mDisplayId); return mSplitLayoutHandler.getSplitItemPosition(token); } Loading