summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--core/proto/android/server/windowmanagerservice.proto20
-rw-r--r--services/core/java/com/android/server/wm/DisplayContent.java4
-rw-r--r--services/core/java/com/android/server/wm/DisplayRotation.java16
-rw-r--r--services/core/java/com/android/server/wm/WindowManagerService.java4
4 files changed, 34 insertions, 10 deletions
diff --git a/core/proto/android/server/windowmanagerservice.proto b/core/proto/android/server/windowmanagerservice.proto
index d315ff27ef9a..0affcea99706 100644
--- a/core/proto/android/server/windowmanagerservice.proto
+++ b/core/proto/android/server/windowmanagerservice.proto
@@ -48,8 +48,8 @@ message WindowManagerServiceDumpProto {
optional string focused_app = 4;
optional IdentifierProto input_method_window = 5;
optional bool display_frozen = 6;
- optional int32 rotation = 7 [(.android.typedef) = "android.view.Surface.Rotation"];
- optional int32 last_orientation = 8 [(.android.typedef) = "android.content.pm.ActivityInfo.ScreenOrientation"];
+ optional int32 rotation = 7 [(.android.typedef) = "android.view.Surface.Rotation", deprecated=true];
+ optional int32 last_orientation = 8 [(.android.typedef) = "android.content.pm.ActivityInfo.ScreenOrientation", deprecated=true];
optional int32 focused_display_id = 9;
optional bool hard_keyboard_available = 10;
}
@@ -183,7 +183,7 @@ message DisplayContentProto {
repeated WindowTokenProto ime_windows = 8 [deprecated=true];
optional int32 dpi = 9;
optional .android.view.DisplayInfoProto display_info = 10;
- optional int32 rotation = 11 [(.android.typedef) = "android.view.Surface.Rotation"];
+ optional int32 rotation = 11 [(.android.typedef) = "android.view.Surface.Rotation", deprecated=true];
optional ScreenRotationAnimationProto screen_rotation_animation = 12;
optional DisplayFramesProto display_frames = 13;
optional int32 surface_size = 14 [deprecated=true];
@@ -207,6 +207,8 @@ message DisplayContentProto {
optional WindowStateProto current_focus = 30;
optional ImeInsetsSourceProviderProto ime_insets_source_provider = 31;
optional bool can_show_ime = 32;
+
+ optional DisplayRotationProto display_rotation = 33;
}
/* represents DisplayArea object */
@@ -242,6 +244,16 @@ message DisplayFramesProto {
optional .android.graphics.RectProto current = 3;
}
+message DisplayRotationProto {
+ option (.android.msg_privacy).dest = DEST_AUTOMATIC;
+
+ optional int32 rotation = 1 [(.android.typedef) = "android.view.Surface.Rotation"];
+ optional bool frozen_to_user_rotation = 2;
+ optional int32 user_rotation = 3 [(.android.typedef) = "android.view.Surface.Rotation"];
+ optional int32 fixed_to_user_rotation_mode = 4;
+ optional int32 last_orientation = 5 [(.android.typedef) = "android.content.pm.ActivityInfo.ScreenOrientation"];
+}
+
/* represents DockedStackDividerController */
message DockedStackDividerControllerProto {
option (.android.msg_privacy).dest = DEST_AUTOMATIC;
@@ -529,4 +541,4 @@ message ImeInsetsSourceProviderProto {
optional InsetsSourceProviderProto insets_source_provider = 1;
optional WindowStateProto ime_target_from_ime = 2;
optional bool is_ime_layout_drawn = 3;
-} \ No newline at end of file
+}
diff --git a/services/core/java/com/android/server/wm/DisplayContent.java b/services/core/java/com/android/server/wm/DisplayContent.java
index e7f0e3eb7a76..59f423253378 100644
--- a/services/core/java/com/android/server/wm/DisplayContent.java
+++ b/services/core/java/com/android/server/wm/DisplayContent.java
@@ -96,6 +96,7 @@ import static com.android.server.wm.DisplayContentProto.CURRENT_FOCUS;
import static com.android.server.wm.DisplayContentProto.DISPLAY_FRAMES;
import static com.android.server.wm.DisplayContentProto.DISPLAY_INFO;
import static com.android.server.wm.DisplayContentProto.DISPLAY_READY;
+import static com.android.server.wm.DisplayContentProto.DISPLAY_ROTATION;
import static com.android.server.wm.DisplayContentProto.DPI;
import static com.android.server.wm.DisplayContentProto.FOCUSED_APP;
import static com.android.server.wm.DisplayContentProto.FOCUSED_ROOT_TASK_ID;
@@ -107,7 +108,6 @@ import static com.android.server.wm.DisplayContentProto.INPUT_METHOD_TARGET;
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;
-import static com.android.server.wm.DisplayContentProto.ROTATION;
import static com.android.server.wm.DisplayContentProto.SCREEN_ROTATION_ANIMATION;
import static com.android.server.wm.DisplayContentProto.SINGLE_TASK_INSTANCE;
import static com.android.server.wm.Task.ActivityState.RESUMED;
@@ -2868,7 +2868,7 @@ class DisplayContent extends RootDisplayArea implements WindowManagerPolicy.Disp
proto.write(ID, mDisplayId);
proto.write(DPI, mBaseDisplayDensity);
mDisplayInfo.dumpDebug(proto, DISPLAY_INFO);
- proto.write(ROTATION, getRotation());
+ mDisplayRotation.dumpDebug(proto, DISPLAY_ROTATION);
final ScreenRotationAnimation screenRotationAnimation = getRotationAnimation();
if (screenRotationAnimation != null) {
screenRotationAnimation.dumpDebug(proto, SCREEN_ROTATION_ANIMATION);
diff --git a/services/core/java/com/android/server/wm/DisplayRotation.java b/services/core/java/com/android/server/wm/DisplayRotation.java
index 0f43e49b568b..66c4b4e63357 100644
--- a/services/core/java/com/android/server/wm/DisplayRotation.java
+++ b/services/core/java/com/android/server/wm/DisplayRotation.java
@@ -24,6 +24,11 @@ import static android.view.WindowManager.LayoutParams.ROTATION_ANIMATION_SEAMLES
import static com.android.internal.protolog.ProtoLogGroup.WM_DEBUG_ORIENTATION;
import static com.android.server.policy.WindowManagerPolicy.WindowManagerFuncs.LID_OPEN;
+import static com.android.server.wm.DisplayRotationProto.FIXED_TO_USER_ROTATION_MODE;
+import static com.android.server.wm.DisplayRotationProto.FROZEN_TO_USER_ROTATION;
+import static com.android.server.wm.DisplayRotationProto.LAST_ORIENTATION;
+import static com.android.server.wm.DisplayRotationProto.ROTATION;
+import static com.android.server.wm.DisplayRotationProto.USER_ROTATION;
import static com.android.server.wm.WindowManagerDebugConfig.DEBUG_ANIM;
import static com.android.server.wm.WindowManagerDebugConfig.TAG_WITH_CLASS_NAME;
import static com.android.server.wm.WindowManagerDebugConfig.TAG_WM;
@@ -51,6 +56,7 @@ import android.os.UserHandle;
import android.provider.Settings;
import android.util.Slog;
import android.util.SparseArray;
+import android.util.proto.ProtoOutputStream;
import android.view.IDisplayWindowRotationCallback;
import android.view.IWindowManager;
import android.view.Surface;
@@ -1453,6 +1459,16 @@ public class DisplayRotation {
pw.println(prefix + " mFixedToUserRotation=" + isFixedToUserRotation());
}
+ void dumpDebug(ProtoOutputStream proto, long fieldId) {
+ final long token = proto.start(fieldId);
+ proto.write(ROTATION, getRotation());
+ proto.write(FROZEN_TO_USER_ROTATION, isRotationFrozen());
+ proto.write(USER_ROTATION, getUserRotation());
+ proto.write(FIXED_TO_USER_ROTATION_MODE, mFixedToUserRotation);
+ proto.write(LAST_ORIENTATION, mLastOrientation);
+ proto.end(token);
+ }
+
private class OrientationListener extends WindowOrientationListener {
final SparseArray<Runnable> mRunnableCache = new SparseArray<>(5);
boolean mEnabled;
diff --git a/services/core/java/com/android/server/wm/WindowManagerService.java b/services/core/java/com/android/server/wm/WindowManagerService.java
index 223aa1e9be39..03f88a4b77fc 100644
--- a/services/core/java/com/android/server/wm/WindowManagerService.java
+++ b/services/core/java/com/android/server/wm/WindowManagerService.java
@@ -122,10 +122,8 @@ import static com.android.server.wm.WindowManagerServiceDumpProto.FOCUSED_DISPLA
import static com.android.server.wm.WindowManagerServiceDumpProto.FOCUSED_WINDOW;
import static com.android.server.wm.WindowManagerServiceDumpProto.HARD_KEYBOARD_AVAILABLE;
import static com.android.server.wm.WindowManagerServiceDumpProto.INPUT_METHOD_WINDOW;
-import static com.android.server.wm.WindowManagerServiceDumpProto.LAST_ORIENTATION;
import static com.android.server.wm.WindowManagerServiceDumpProto.POLICY;
import static com.android.server.wm.WindowManagerServiceDumpProto.ROOT_WINDOW_CONTAINER;
-import static com.android.server.wm.WindowManagerServiceDumpProto.ROTATION;
import android.Manifest;
import android.Manifest.permission;
@@ -5998,8 +5996,6 @@ public class WindowManagerService extends IWindowManager.Stub
}
proto.write(DISPLAY_FROZEN, mDisplayFrozen);
final DisplayContent defaultDisplayContent = getDefaultDisplayContentLocked();
- proto.write(ROTATION, defaultDisplayContent.getRotation());
- proto.write(LAST_ORIENTATION, defaultDisplayContent.getLastOrientation());
proto.write(FOCUSED_DISPLAY_ID, topFocusedDisplayContent.getDisplayId());
proto.write(HARD_KEYBOARD_AVAILABLE, mHardKeyboardAvailable);
}