Loading core/proto/android/server/windowmanagerservice.proto +2 −2 Original line number Diff line number Diff line Loading @@ -69,7 +69,7 @@ message RootWindowContainerProto { // know what activity types to check for when invoking splitscreen multi-window. optional bool is_home_recents_component = 6; repeated IdentifierProto pending_activities = 7 [deprecated=true]; optional int32 default_min_size_resizable_task = 8; optional int32 default_min_size_resizable_task = 8 [deprecated=true]; } message BarControllerProto { Loading Loading @@ -226,7 +226,7 @@ message DisplayContentProto { optional bool is_sleeping = 36; repeated string sleep_tokens = 37; repeated .android.graphics.RectProto keep_clear_areas = 38; optional int32 min_size_of_resizeable_task_dp = 39; } /* represents DisplayArea object */ Loading services/core/java/com/android/server/wm/DisplayContent.java +23 −1 Original line number Diff line number Diff line Loading @@ -123,6 +123,7 @@ import static com.android.server.wm.DisplayContentProto.INPUT_METHOD_TARGET; import static com.android.server.wm.DisplayContentProto.INSETS_SOURCE_PROVIDERS; import static com.android.server.wm.DisplayContentProto.IS_SLEEPING; import static com.android.server.wm.DisplayContentProto.KEEP_CLEAR_AREAS; import static com.android.server.wm.DisplayContentProto.MIN_SIZE_OF_RESIZEABLE_TASK_DP; import static com.android.server.wm.DisplayContentProto.OPENING_APPS; import static com.android.server.wm.DisplayContentProto.RESUMED_ACTIVITY; import static com.android.server.wm.DisplayContentProto.ROOT_DISPLAY_AREA; Loading Loading @@ -323,6 +324,11 @@ class DisplayContent extends RootDisplayArea implements WindowManagerPolicy.Disp */ private Rect mLastMirroredDisplayAreaBounds = null; /** * The default per Display minimal size of tasks. Calculated at construction. */ int mMinSizeOfResizeableTaskDp = -1; // Contains all IME window containers. Note that the z-ordering of the IME windows will depend // on the IME target. We mainly have this container grouping so we can keep track of all the IME // window containers together and move them in-sync if/when needed. We use a subclass of Loading Loading @@ -1098,7 +1104,7 @@ class DisplayContent extends RootDisplayArea implements WindowManagerPolicy.Disp mInputMonitor = new InputMonitor(mWmService, this); mInsetsPolicy = new InsetsPolicy(mInsetsStateController, this); mMinSizeOfResizeableTaskDp = getMinimalTaskSizeDp(); if (DEBUG_DISPLAY) Slog.v(TAG_WM, "Creating display=" + display); mWmService.mDisplayWindowSettings.applySettingsToDisplayLocked(this); Loading Loading @@ -1554,6 +1560,19 @@ class DisplayContent extends RootDisplayArea implements WindowManagerPolicy.Disp return config; } private int getMinimalTaskSizeDp() { final Context displayConfigurationContext = mAtmService.mContext.createConfigurationContext(getConfiguration()); final float minimalSize = displayConfigurationContext.getResources().getDimension( com.android.internal.R.dimen.default_minimal_size_resizable_task); if (Double.compare(mDisplayMetrics.density, 0.0) == 0) { throw new IllegalArgumentException("Display with ID=" + getDisplayId() + "has invalid " + "DisplayMetrics.density= 0.0"); } return (int) (minimalSize / mDisplayMetrics.density); } private boolean updateOrientation(boolean forceUpdate) { final int orientation = getOrientation(); // The last orientation source is valid only after getOrientation. Loading Loading @@ -2711,6 +2730,7 @@ class DisplayContent extends RootDisplayArea implements WindowManagerPolicy.Disp // layout. mInsetsStateController.onDisplayInfoUpdated(false /* notifyInsetsChanged */); } mMinSizeOfResizeableTaskDp = getMinimalTaskSizeDp(); mInputMonitor.layoutInputConsumers(info.logicalWidth, info.logicalHeight); mDisplayPolicy.onDisplayInfoChanged(info); } Loading Loading @@ -3272,6 +3292,7 @@ class DisplayContent extends RootDisplayArea implements WindowManagerPolicy.Disp screenRotationAnimation.dumpDebug(proto, SCREEN_ROTATION_ANIMATION); } mDisplayFrames.dumpDebug(proto, DISPLAY_FRAMES); proto.write(MIN_SIZE_OF_RESIZEABLE_TASK_DP, mMinSizeOfResizeableTaskDp); if (mTransitionController.isShellTransitionsEnabled()) { mTransitionController.dumpDebugLegacy(proto, APP_TRANSITION); } else { Loading Loading @@ -3349,6 +3370,7 @@ class DisplayContent extends RootDisplayArea implements WindowManagerPolicy.Disp pw.print(subPrefix); pw.print("init="); pw.print(mInitialDisplayWidth); pw.print("x"); pw.print(mInitialDisplayHeight); pw.print(" "); pw.print(mInitialDisplayDensity); pw.print("dpi"); pw.print(" mMinSizeOfResizeableTaskDp="); pw.print(mMinSizeOfResizeableTaskDp); if (mInitialDisplayWidth != mBaseDisplayWidth || mInitialDisplayHeight != mBaseDisplayHeight || mInitialDisplayDensity != mBaseDisplayDensity) { Loading services/core/java/com/android/server/wm/RootWindowContainer.java +0 −21 Original line number Diff line number Diff line Loading @@ -73,7 +73,6 @@ import static com.android.server.wm.ActivityTaskSupervisor.PRESERVE_WINDOWS; import static com.android.server.wm.ActivityTaskSupervisor.dumpHistoryList; import static com.android.server.wm.ActivityTaskSupervisor.printThisActivity; import static com.android.server.wm.KeyguardController.KEYGUARD_SLEEP_TOKEN_TAG; import static com.android.server.wm.RootWindowContainerProto.DEFAULT_MIN_SIZE_RESIZABLE_TASK; import static com.android.server.wm.RootWindowContainerProto.IS_HOME_RECENTS_COMPONENT; import static com.android.server.wm.RootWindowContainerProto.KEYGUARD_CONTROLLER; import static com.android.server.wm.RootWindowContainerProto.WINDOW_CONTAINER; Loading Loading @@ -111,7 +110,6 @@ import android.content.pm.ActivityInfo; import android.content.pm.ApplicationInfo; import android.content.pm.ResolveInfo; import android.content.res.Configuration; import android.content.res.Resources; import android.graphics.Rect; import android.hardware.display.DisplayManager; import android.hardware.display.DisplayManagerInternal; Loading @@ -134,7 +132,6 @@ import android.provider.Settings; import android.service.voice.IVoiceInteractionSession; import android.util.ArrayMap; import android.util.ArraySet; import android.util.DisplayMetrics; import android.util.IntArray; import android.util.Pair; import android.util.Slog; Loading Loading @@ -1220,11 +1217,6 @@ class RootWindowContainer extends WindowContainer<DisplayContent> pw.println(mTopFocusedDisplayId); } void dumpDefaultMinSizeOfResizableTask(PrintWriter pw) { pw.print(" mDefaultMinSizeOfResizeableTaskDp="); pw.println(mDefaultMinSizeOfResizeableTaskDp); } void dumpLayoutNeededDisplayIds(PrintWriter pw) { if (!isLayoutNeeded()) { return; Loading Loading @@ -1271,7 +1263,6 @@ class RootWindowContainer extends WindowContainer<DisplayContent> mTaskSupervisor.getKeyguardController().dumpDebug(proto, KEYGUARD_CONTROLLER); proto.write(IS_HOME_RECENTS_COMPONENT, mTaskSupervisor.mRecentTasks.isRecentsComponentHomeActivity(mCurrentUser)); proto.write(DEFAULT_MIN_SIZE_RESIZABLE_TASK, mDefaultMinSizeOfResizeableTaskDp); proto.end(token); } Loading Loading @@ -1359,7 +1350,6 @@ class RootWindowContainer extends WindowContainer<DisplayContent> mDefaultDisplay = displayContent; } } calculateDefaultMinimalSizeOfResizeableTasks(); final TaskDisplayArea defaultTaskDisplayArea = getDefaultTaskDisplayArea(); defaultTaskDisplayArea.getOrCreateRootHomeTask(ON_TOP); Loading Loading @@ -3477,17 +3467,6 @@ class RootWindowContainer extends WindowContainer<DisplayContent> mService.startLaunchPowerMode(reason); } // TODO(b/191434136): handle this properly when we add multi-window support on secondary // display. private void calculateDefaultMinimalSizeOfResizeableTasks() { final Resources res = mService.mContext.getResources(); final float minimalSize = res.getDimension( com.android.internal.R.dimen.default_minimal_size_resizable_task); final DisplayMetrics dm = res.getDisplayMetrics(); mDefaultMinSizeOfResizeableTaskDp = (int) (minimalSize / dm.density); } /** * Dumps the activities matching the given {@param name} in the either the focused root task * or all visible root tasks if {@param dumpVisibleRootTasksOnly} is true. Loading services/core/java/com/android/server/wm/Task.java +7 −2 Original line number Diff line number Diff line Loading @@ -281,6 +281,8 @@ class Task extends TaskFragment { // code. static final int PERSIST_TASK_VERSION = 1; private static final int DEFAULT_MIN_TASK_SIZE_DP = 220; private float mShadowRadius = 0; /** Loading Loading @@ -2052,7 +2054,9 @@ class Task extends TaskFragment { // so that the user can not render the task fragment too small to manipulate. We don't need // to do this for the root pinned task as the bounds are controlled by the system. if (!inPinnedWindowingMode()) { final int defaultMinSizeDp = mRootWindowContainer.mDefaultMinSizeOfResizeableTaskDp; // Use Display specific min sizes when there is one associated with this Task. final int defaultMinSizeDp = mDisplayContent == null ? DEFAULT_MIN_TASK_SIZE_DP : mDisplayContent.mMinSizeOfResizeableTaskDp; final float density = (float) parentConfig.densityDpi / DisplayMetrics.DENSITY_DEFAULT; final int defaultMinSize = (int) (defaultMinSizeDp * density); Loading Loading @@ -3413,7 +3417,8 @@ class Task extends TaskFragment { info.isResizeable = isResizeable(); info.minWidth = mMinWidth; info.minHeight = mMinHeight; info.defaultMinSize = mRootWindowContainer.mDefaultMinSizeOfResizeableTaskDp; info.defaultMinSize = mDisplayContent == null ? DEFAULT_MIN_TASK_SIZE_DP : mDisplayContent.mMinSizeOfResizeableTaskDp; info.positionInParent = getRelativePosition(); Loading services/core/java/com/android/server/wm/WindowManagerService.java +2 −1 Original line number Diff line number Diff line Loading @@ -6420,7 +6420,6 @@ public class WindowManagerService extends IWindowManager.Stub pw.print(" mGlobalConfiguration="); pw.println(mRoot.getConfiguration()); pw.print(" mHasPermanentDpad="); pw.println(mHasPermanentDpad); mRoot.dumpTopFocusedDisplayId(pw); mRoot.dumpDefaultMinSizeOfResizableTask(pw); mRoot.forAllDisplays(dc -> { final int displayId = dc.getDisplayId(); final InsetsControlTarget imeLayeringTarget = dc.getImeTarget(IME_TARGET_LAYERING); Loading @@ -6438,6 +6437,8 @@ public class WindowManagerService extends IWindowManager.Stub pw.print(" imeControlTarget in display# "); pw.print(displayId); pw.print(' '); pw.println(imeControlTarget); } pw.print(" Minimum task size of display#"); pw.print(displayId); pw.print(' '); pw.print(dc.mMinSizeOfResizeableTaskDp); }); pw.print(" mInTouchMode="); pw.println(mInTouchMode); pw.print(" mBlurEnabled="); pw.println(mBlurController.getBlurEnabled()); Loading Loading
core/proto/android/server/windowmanagerservice.proto +2 −2 Original line number Diff line number Diff line Loading @@ -69,7 +69,7 @@ message RootWindowContainerProto { // know what activity types to check for when invoking splitscreen multi-window. optional bool is_home_recents_component = 6; repeated IdentifierProto pending_activities = 7 [deprecated=true]; optional int32 default_min_size_resizable_task = 8; optional int32 default_min_size_resizable_task = 8 [deprecated=true]; } message BarControllerProto { Loading Loading @@ -226,7 +226,7 @@ message DisplayContentProto { optional bool is_sleeping = 36; repeated string sleep_tokens = 37; repeated .android.graphics.RectProto keep_clear_areas = 38; optional int32 min_size_of_resizeable_task_dp = 39; } /* represents DisplayArea object */ Loading
services/core/java/com/android/server/wm/DisplayContent.java +23 −1 Original line number Diff line number Diff line Loading @@ -123,6 +123,7 @@ import static com.android.server.wm.DisplayContentProto.INPUT_METHOD_TARGET; import static com.android.server.wm.DisplayContentProto.INSETS_SOURCE_PROVIDERS; import static com.android.server.wm.DisplayContentProto.IS_SLEEPING; import static com.android.server.wm.DisplayContentProto.KEEP_CLEAR_AREAS; import static com.android.server.wm.DisplayContentProto.MIN_SIZE_OF_RESIZEABLE_TASK_DP; import static com.android.server.wm.DisplayContentProto.OPENING_APPS; import static com.android.server.wm.DisplayContentProto.RESUMED_ACTIVITY; import static com.android.server.wm.DisplayContentProto.ROOT_DISPLAY_AREA; Loading Loading @@ -323,6 +324,11 @@ class DisplayContent extends RootDisplayArea implements WindowManagerPolicy.Disp */ private Rect mLastMirroredDisplayAreaBounds = null; /** * The default per Display minimal size of tasks. Calculated at construction. */ int mMinSizeOfResizeableTaskDp = -1; // Contains all IME window containers. Note that the z-ordering of the IME windows will depend // on the IME target. We mainly have this container grouping so we can keep track of all the IME // window containers together and move them in-sync if/when needed. We use a subclass of Loading Loading @@ -1098,7 +1104,7 @@ class DisplayContent extends RootDisplayArea implements WindowManagerPolicy.Disp mInputMonitor = new InputMonitor(mWmService, this); mInsetsPolicy = new InsetsPolicy(mInsetsStateController, this); mMinSizeOfResizeableTaskDp = getMinimalTaskSizeDp(); if (DEBUG_DISPLAY) Slog.v(TAG_WM, "Creating display=" + display); mWmService.mDisplayWindowSettings.applySettingsToDisplayLocked(this); Loading Loading @@ -1554,6 +1560,19 @@ class DisplayContent extends RootDisplayArea implements WindowManagerPolicy.Disp return config; } private int getMinimalTaskSizeDp() { final Context displayConfigurationContext = mAtmService.mContext.createConfigurationContext(getConfiguration()); final float minimalSize = displayConfigurationContext.getResources().getDimension( com.android.internal.R.dimen.default_minimal_size_resizable_task); if (Double.compare(mDisplayMetrics.density, 0.0) == 0) { throw new IllegalArgumentException("Display with ID=" + getDisplayId() + "has invalid " + "DisplayMetrics.density= 0.0"); } return (int) (minimalSize / mDisplayMetrics.density); } private boolean updateOrientation(boolean forceUpdate) { final int orientation = getOrientation(); // The last orientation source is valid only after getOrientation. Loading Loading @@ -2711,6 +2730,7 @@ class DisplayContent extends RootDisplayArea implements WindowManagerPolicy.Disp // layout. mInsetsStateController.onDisplayInfoUpdated(false /* notifyInsetsChanged */); } mMinSizeOfResizeableTaskDp = getMinimalTaskSizeDp(); mInputMonitor.layoutInputConsumers(info.logicalWidth, info.logicalHeight); mDisplayPolicy.onDisplayInfoChanged(info); } Loading Loading @@ -3272,6 +3292,7 @@ class DisplayContent extends RootDisplayArea implements WindowManagerPolicy.Disp screenRotationAnimation.dumpDebug(proto, SCREEN_ROTATION_ANIMATION); } mDisplayFrames.dumpDebug(proto, DISPLAY_FRAMES); proto.write(MIN_SIZE_OF_RESIZEABLE_TASK_DP, mMinSizeOfResizeableTaskDp); if (mTransitionController.isShellTransitionsEnabled()) { mTransitionController.dumpDebugLegacy(proto, APP_TRANSITION); } else { Loading Loading @@ -3349,6 +3370,7 @@ class DisplayContent extends RootDisplayArea implements WindowManagerPolicy.Disp pw.print(subPrefix); pw.print("init="); pw.print(mInitialDisplayWidth); pw.print("x"); pw.print(mInitialDisplayHeight); pw.print(" "); pw.print(mInitialDisplayDensity); pw.print("dpi"); pw.print(" mMinSizeOfResizeableTaskDp="); pw.print(mMinSizeOfResizeableTaskDp); if (mInitialDisplayWidth != mBaseDisplayWidth || mInitialDisplayHeight != mBaseDisplayHeight || mInitialDisplayDensity != mBaseDisplayDensity) { Loading
services/core/java/com/android/server/wm/RootWindowContainer.java +0 −21 Original line number Diff line number Diff line Loading @@ -73,7 +73,6 @@ import static com.android.server.wm.ActivityTaskSupervisor.PRESERVE_WINDOWS; import static com.android.server.wm.ActivityTaskSupervisor.dumpHistoryList; import static com.android.server.wm.ActivityTaskSupervisor.printThisActivity; import static com.android.server.wm.KeyguardController.KEYGUARD_SLEEP_TOKEN_TAG; import static com.android.server.wm.RootWindowContainerProto.DEFAULT_MIN_SIZE_RESIZABLE_TASK; import static com.android.server.wm.RootWindowContainerProto.IS_HOME_RECENTS_COMPONENT; import static com.android.server.wm.RootWindowContainerProto.KEYGUARD_CONTROLLER; import static com.android.server.wm.RootWindowContainerProto.WINDOW_CONTAINER; Loading Loading @@ -111,7 +110,6 @@ import android.content.pm.ActivityInfo; import android.content.pm.ApplicationInfo; import android.content.pm.ResolveInfo; import android.content.res.Configuration; import android.content.res.Resources; import android.graphics.Rect; import android.hardware.display.DisplayManager; import android.hardware.display.DisplayManagerInternal; Loading @@ -134,7 +132,6 @@ import android.provider.Settings; import android.service.voice.IVoiceInteractionSession; import android.util.ArrayMap; import android.util.ArraySet; import android.util.DisplayMetrics; import android.util.IntArray; import android.util.Pair; import android.util.Slog; Loading Loading @@ -1220,11 +1217,6 @@ class RootWindowContainer extends WindowContainer<DisplayContent> pw.println(mTopFocusedDisplayId); } void dumpDefaultMinSizeOfResizableTask(PrintWriter pw) { pw.print(" mDefaultMinSizeOfResizeableTaskDp="); pw.println(mDefaultMinSizeOfResizeableTaskDp); } void dumpLayoutNeededDisplayIds(PrintWriter pw) { if (!isLayoutNeeded()) { return; Loading Loading @@ -1271,7 +1263,6 @@ class RootWindowContainer extends WindowContainer<DisplayContent> mTaskSupervisor.getKeyguardController().dumpDebug(proto, KEYGUARD_CONTROLLER); proto.write(IS_HOME_RECENTS_COMPONENT, mTaskSupervisor.mRecentTasks.isRecentsComponentHomeActivity(mCurrentUser)); proto.write(DEFAULT_MIN_SIZE_RESIZABLE_TASK, mDefaultMinSizeOfResizeableTaskDp); proto.end(token); } Loading Loading @@ -1359,7 +1350,6 @@ class RootWindowContainer extends WindowContainer<DisplayContent> mDefaultDisplay = displayContent; } } calculateDefaultMinimalSizeOfResizeableTasks(); final TaskDisplayArea defaultTaskDisplayArea = getDefaultTaskDisplayArea(); defaultTaskDisplayArea.getOrCreateRootHomeTask(ON_TOP); Loading Loading @@ -3477,17 +3467,6 @@ class RootWindowContainer extends WindowContainer<DisplayContent> mService.startLaunchPowerMode(reason); } // TODO(b/191434136): handle this properly when we add multi-window support on secondary // display. private void calculateDefaultMinimalSizeOfResizeableTasks() { final Resources res = mService.mContext.getResources(); final float minimalSize = res.getDimension( com.android.internal.R.dimen.default_minimal_size_resizable_task); final DisplayMetrics dm = res.getDisplayMetrics(); mDefaultMinSizeOfResizeableTaskDp = (int) (minimalSize / dm.density); } /** * Dumps the activities matching the given {@param name} in the either the focused root task * or all visible root tasks if {@param dumpVisibleRootTasksOnly} is true. Loading
services/core/java/com/android/server/wm/Task.java +7 −2 Original line number Diff line number Diff line Loading @@ -281,6 +281,8 @@ class Task extends TaskFragment { // code. static final int PERSIST_TASK_VERSION = 1; private static final int DEFAULT_MIN_TASK_SIZE_DP = 220; private float mShadowRadius = 0; /** Loading Loading @@ -2052,7 +2054,9 @@ class Task extends TaskFragment { // so that the user can not render the task fragment too small to manipulate. We don't need // to do this for the root pinned task as the bounds are controlled by the system. if (!inPinnedWindowingMode()) { final int defaultMinSizeDp = mRootWindowContainer.mDefaultMinSizeOfResizeableTaskDp; // Use Display specific min sizes when there is one associated with this Task. final int defaultMinSizeDp = mDisplayContent == null ? DEFAULT_MIN_TASK_SIZE_DP : mDisplayContent.mMinSizeOfResizeableTaskDp; final float density = (float) parentConfig.densityDpi / DisplayMetrics.DENSITY_DEFAULT; final int defaultMinSize = (int) (defaultMinSizeDp * density); Loading Loading @@ -3413,7 +3417,8 @@ class Task extends TaskFragment { info.isResizeable = isResizeable(); info.minWidth = mMinWidth; info.minHeight = mMinHeight; info.defaultMinSize = mRootWindowContainer.mDefaultMinSizeOfResizeableTaskDp; info.defaultMinSize = mDisplayContent == null ? DEFAULT_MIN_TASK_SIZE_DP : mDisplayContent.mMinSizeOfResizeableTaskDp; info.positionInParent = getRelativePosition(); Loading
services/core/java/com/android/server/wm/WindowManagerService.java +2 −1 Original line number Diff line number Diff line Loading @@ -6420,7 +6420,6 @@ public class WindowManagerService extends IWindowManager.Stub pw.print(" mGlobalConfiguration="); pw.println(mRoot.getConfiguration()); pw.print(" mHasPermanentDpad="); pw.println(mHasPermanentDpad); mRoot.dumpTopFocusedDisplayId(pw); mRoot.dumpDefaultMinSizeOfResizableTask(pw); mRoot.forAllDisplays(dc -> { final int displayId = dc.getDisplayId(); final InsetsControlTarget imeLayeringTarget = dc.getImeTarget(IME_TARGET_LAYERING); Loading @@ -6438,6 +6437,8 @@ public class WindowManagerService extends IWindowManager.Stub pw.print(" imeControlTarget in display# "); pw.print(displayId); pw.print(' '); pw.println(imeControlTarget); } pw.print(" Minimum task size of display#"); pw.print(displayId); pw.print(' '); pw.print(dc.mMinSizeOfResizeableTaskDp); }); pw.print(" mInTouchMode="); pw.println(mInTouchMode); pw.print(" mBlurEnabled="); pw.println(mBlurController.getBlurEnabled()); Loading