From 2c327f2f3ded838ebc46aeb17760e13157514aa6 Mon Sep 17 00:00:00 2001 From: Chris Li Date: Wed, 21 Oct 2020 18:24:31 -0700 Subject: [PATCH] Add reset wm shell command to reset all Command to reset all override settings to default. Test: adb shell wm reset Change-Id: Ie34db63a1cc3bf9ce4c05ea5ee6f151aeb6dcb94 --- .../server/wm/WindowManagerShellCommand.java | 32 +++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/services/core/java/com/android/server/wm/WindowManagerShellCommand.java b/services/core/java/com/android/server/wm/WindowManagerShellCommand.java index 3011f256bac60..fe312e6b4c46f 100644 --- a/services/core/java/com/android/server/wm/WindowManagerShellCommand.java +++ b/services/core/java/com/android/server/wm/WindowManagerShellCommand.java @@ -111,6 +111,8 @@ public class WindowManagerShellCommand extends ShellCommand { return runGetIgnoreOrientationRequest(pw); case "dump-visible-window-views": return runDumpVisibleWindowViews(pw); + case "reset": + return runReset(pw); default: return handleDefaultCommands(cmd); } @@ -507,6 +509,34 @@ public class WindowManagerShellCommand extends ShellCommand { return 0; } + private int runReset(PrintWriter pw) throws RemoteException { + int displayId = getDisplayId(getNextArg()); + + // size + mInterface.clearForcedDisplaySize(displayId); + + // density + mInterface.clearForcedDisplayDensityForUser(displayId, UserHandle.USER_CURRENT); + + // folded-area + mInternal.setOverrideFoldedArea(new Rect()); + + // scaling + mInterface.setForcedDisplayScalingMode(displayId, DisplayContent.FORCE_SCALING_MODE_AUTO); + + // user-rotation + mInternal.thawDisplayRotation(displayId); + + // fixed-to-user-rotation + mInterface.setFixedToUserRotation(displayId, IWindowManager.FIXED_TO_USER_ROTATION_DEFAULT); + + // set-ignore-orientation-request + mInterface.setIgnoreOrientationRequest(displayId, false /* ignoreOrientationRequest */); + + pw.println("Reset all settings for displayId=" + displayId); + return 0; + } + @Override public void onHelp() { PrintWriter pw = getOutPrintWriter(); @@ -533,6 +563,8 @@ public class WindowManagerShellCommand extends ShellCommand { pw.println(" set-ignore-orientation-request [-d DISPLAY_ID] [true|1|false|0]"); pw.println(" get-ignore-orientation-request [-d DISPLAY_ID] "); pw.println(" If app requested orientation should be ignored."); + pw.println(" reset [-d DISPLAY_ID]"); + pw.println(" Reset all override settings."); if (!IS_USER) { pw.println(" tracing (start | stop)"); pw.println(" Start or stop window tracing.");