Loading core/java/android/view/DisplayCutout.java +13 −0 Original line number Diff line number Diff line Loading @@ -16,6 +16,8 @@ package android.view; import static android.view.DisplayCutoutProto.BOUNDS; import static android.view.DisplayCutoutProto.INSETS; import static android.view.Surface.ROTATION_0; import static android.view.Surface.ROTATION_180; import static android.view.Surface.ROTATION_270; Loading @@ -28,6 +30,7 @@ import android.graphics.RectF; import android.graphics.Region; import android.os.Parcel; import android.os.Parcelable; import android.util.proto.ProtoOutputStream; import com.android.internal.annotations.VisibleForTesting; Loading Loading @@ -154,6 +157,16 @@ public final class DisplayCutout { + "}"; } /** * @hide */ public void writeToProto(ProtoOutputStream proto, long fieldId) { final long token = proto.start(fieldId); mSafeInsets.writeToProto(proto, INSETS); mBounds.getBounds().writeToProto(proto, BOUNDS); proto.end(token); } /** * Insets the reference frame of the cutout in the given directions. * Loading core/java/android/view/WindowManager.java +53 −1 Original line number Diff line number Diff line Loading @@ -17,6 +17,32 @@ package android.view; import static android.content.pm.ActivityInfo.COLOR_MODE_DEFAULT; import static android.view.WindowLayoutParamsProto.ALPHA; import static android.view.WindowLayoutParamsProto.BUTTON_BRIGHTNESS; import static android.view.WindowLayoutParamsProto.COLOR_MODE; import static android.view.WindowLayoutParamsProto.FLAGS; import static android.view.WindowLayoutParamsProto.FLAGS_EXTRA; import static android.view.WindowLayoutParamsProto.FORMAT; import static android.view.WindowLayoutParamsProto.GRAVITY; import static android.view.WindowLayoutParamsProto.HAS_SYSTEM_UI_LISTENERS; import static android.view.WindowLayoutParamsProto.HEIGHT; import static android.view.WindowLayoutParamsProto.HORIZONTAL_MARGIN; import static android.view.WindowLayoutParamsProto.INPUT_FEATURE_FLAGS; import static android.view.WindowLayoutParamsProto.NEEDS_MENU_KEY; import static android.view.WindowLayoutParamsProto.PREFERRED_REFRESH_RATE; import static android.view.WindowLayoutParamsProto.PRIVATE_FLAGS; import static android.view.WindowLayoutParamsProto.ROTATION_ANIMATION; import static android.view.WindowLayoutParamsProto.SCREEN_BRIGHTNESS; import static android.view.WindowLayoutParamsProto.SOFT_INPUT_MODE; import static android.view.WindowLayoutParamsProto.SUBTREE_SYSTEM_UI_VISIBILITY_FLAGS; import static android.view.WindowLayoutParamsProto.SYSTEM_UI_VISIBILITY_FLAGS; import static android.view.WindowLayoutParamsProto.TYPE; import static android.view.WindowLayoutParamsProto.USER_ACTIVITY_TIMEOUT; import static android.view.WindowLayoutParamsProto.VERTICAL_MARGIN; import static android.view.WindowLayoutParamsProto.WIDTH; import static android.view.WindowLayoutParamsProto.WINDOW_ANIMATIONS; import static android.view.WindowLayoutParamsProto.X; import static android.view.WindowLayoutParamsProto.Y; import android.Manifest.permission; import android.annotation.IntDef; Loading Loading @@ -2722,7 +2748,33 @@ public interface WindowManager extends ViewManager { */ public void writeToProto(ProtoOutputStream proto, long fieldId) { final long token = proto.start(fieldId); proto.write(WindowLayoutParamsProto.TYPE, type); proto.write(TYPE, type); proto.write(X, x); proto.write(Y, y); proto.write(WIDTH, width); proto.write(HEIGHT, height); proto.write(HORIZONTAL_MARGIN, horizontalMargin); proto.write(VERTICAL_MARGIN, verticalMargin); proto.write(GRAVITY, gravity); proto.write(SOFT_INPUT_MODE, softInputMode); proto.write(FORMAT, format); proto.write(WINDOW_ANIMATIONS, windowAnimations); proto.write(ALPHA, alpha); proto.write(SCREEN_BRIGHTNESS, screenBrightness); proto.write(BUTTON_BRIGHTNESS, buttonBrightness); proto.write(ROTATION_ANIMATION, rotationAnimation); proto.write(PREFERRED_REFRESH_RATE, preferredRefreshRate); proto.write(WindowLayoutParamsProto.PREFERRED_DISPLAY_MODE_ID, preferredDisplayModeId); proto.write(HAS_SYSTEM_UI_LISTENERS, hasSystemUiListeners); proto.write(INPUT_FEATURE_FLAGS, inputFeatures); proto.write(USER_ACTIVITY_TIMEOUT, userActivityTimeout); proto.write(NEEDS_MENU_KEY, needsMenuKey); proto.write(COLOR_MODE, mColorMode); proto.write(FLAGS, flags); proto.write(FLAGS_EXTRA, flags2); proto.write(PRIVATE_FLAGS, privateFlags); proto.write(SYSTEM_UI_VISIBILITY_FLAGS, systemUiVisibility); proto.write(SUBTREE_SYSTEM_UI_VISIBILITY_FLAGS, subtreeSystemUiVisibility); proto.end(token); } Loading core/proto/android/graphics/pixelformat.proto 0 → 100644 +34 −0 Original line number Diff line number Diff line /* * Copyright (C) 2018 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ syntax = "proto2"; package android.graphics; option java_multiple_files = true; message PixelFormatProto { enum Format { UNKNOWN = 0; TRANSLUCENT = -3; TRANSPARENT = -2; OPAQUE = -1; RGBA_8888 = 1; RGBX_8888 = 2; RGB_888 = 3; RGB_565 = 4; RGBA_F16 = 0x16; RGBA_1010102 = 0x2B; } } core/proto/android/server/windowmanagerservice.proto +31 −0 Original line number Diff line number Diff line Loading @@ -18,6 +18,7 @@ syntax = "proto2"; import "frameworks/base/core/proto/android/content/configuration.proto"; import "frameworks/base/core/proto/android/graphics/rect.proto"; import "frameworks/base/core/proto/android/view/displaycutout.proto"; import "frameworks/base/core/proto/android/view/displayinfo.proto"; import "frameworks/base/core/proto/android/view/windowlayoutparams.proto"; Loading Loading @@ -172,6 +173,27 @@ message WindowStateProto { repeated WindowStateProto child_windows = 15; optional .android.graphics.RectProto surface_position = 16; optional .android.graphics.RectProto shown_position = 17; optional int32 requested_width = 18; optional int32 requested_height = 19; optional int32 view_visibility = 20; optional int32 system_ui_visibility = 21; optional bool has_surface = 22; optional bool is_ready_for_display = 23; optional .android.graphics.RectProto display_frame = 24; optional .android.graphics.RectProto overscan_frame = 25; optional .android.graphics.RectProto visible_frame = 26; optional .android.graphics.RectProto decor_frame = 27; optional .android.graphics.RectProto outset_frame = 28; optional .android.graphics.RectProto overscan_insets = 29; optional .android.graphics.RectProto visible_insets = 30; optional .android.graphics.RectProto stable_insets = 31; optional .android.graphics.RectProto outsets = 32; optional .android.view.DisplayCutoutProto cutout = 33; optional bool remove_on_exit = 34; optional bool destroying = 35; optional bool removed = 36; optional bool is_on_screen = 37; optional bool is_visible = 38; } message IdentifierProto { Loading @@ -184,6 +206,15 @@ message IdentifierProto { message WindowStateAnimatorProto { optional .android.graphics.RectProto last_clip_rect = 1; optional WindowSurfaceControllerProto surface = 2; enum DrawState { NO_SURFACE = 0; DRAW_PENDING = 1; COMMIT_DRAW_PENDING = 2; READY_TO_SHOW = 3; HAS_DRAWN = 4; } optional DrawState draw_state = 3; optional .android.graphics.RectProto system_decor_rect = 4; } /* represents WindowSurfaceController */ Loading core/proto/android/view/display.proto +12 −0 Original line number Diff line number Diff line Loading @@ -38,4 +38,16 @@ message DisplayProto { // The display is on and optimized for VR mode. DISPLAY_STATE_VR = 5; } enum ColorMode { COLOR_MODE_INVALID = -1; COLOR_MODE_BT601_625 = 1; COLOR_MODE_BT601_625_UNADJUSTED = 2; COLOR_MODE_BT601_525 = 3; COLOR_MODE_BT601_525_UNADJUSTED = 4; COLOR_MODE_BT709 = 5; COLOR_MODE_DCI_P3 = 6; COLOR_MODE_SRGB = 7; COLOR_MODE_ADOBE_RGB = 8; COLOR_MODE_DISPLAY_P3 = 9; } } Loading
core/java/android/view/DisplayCutout.java +13 −0 Original line number Diff line number Diff line Loading @@ -16,6 +16,8 @@ package android.view; import static android.view.DisplayCutoutProto.BOUNDS; import static android.view.DisplayCutoutProto.INSETS; import static android.view.Surface.ROTATION_0; import static android.view.Surface.ROTATION_180; import static android.view.Surface.ROTATION_270; Loading @@ -28,6 +30,7 @@ import android.graphics.RectF; import android.graphics.Region; import android.os.Parcel; import android.os.Parcelable; import android.util.proto.ProtoOutputStream; import com.android.internal.annotations.VisibleForTesting; Loading Loading @@ -154,6 +157,16 @@ public final class DisplayCutout { + "}"; } /** * @hide */ public void writeToProto(ProtoOutputStream proto, long fieldId) { final long token = proto.start(fieldId); mSafeInsets.writeToProto(proto, INSETS); mBounds.getBounds().writeToProto(proto, BOUNDS); proto.end(token); } /** * Insets the reference frame of the cutout in the given directions. * Loading
core/java/android/view/WindowManager.java +53 −1 Original line number Diff line number Diff line Loading @@ -17,6 +17,32 @@ package android.view; import static android.content.pm.ActivityInfo.COLOR_MODE_DEFAULT; import static android.view.WindowLayoutParamsProto.ALPHA; import static android.view.WindowLayoutParamsProto.BUTTON_BRIGHTNESS; import static android.view.WindowLayoutParamsProto.COLOR_MODE; import static android.view.WindowLayoutParamsProto.FLAGS; import static android.view.WindowLayoutParamsProto.FLAGS_EXTRA; import static android.view.WindowLayoutParamsProto.FORMAT; import static android.view.WindowLayoutParamsProto.GRAVITY; import static android.view.WindowLayoutParamsProto.HAS_SYSTEM_UI_LISTENERS; import static android.view.WindowLayoutParamsProto.HEIGHT; import static android.view.WindowLayoutParamsProto.HORIZONTAL_MARGIN; import static android.view.WindowLayoutParamsProto.INPUT_FEATURE_FLAGS; import static android.view.WindowLayoutParamsProto.NEEDS_MENU_KEY; import static android.view.WindowLayoutParamsProto.PREFERRED_REFRESH_RATE; import static android.view.WindowLayoutParamsProto.PRIVATE_FLAGS; import static android.view.WindowLayoutParamsProto.ROTATION_ANIMATION; import static android.view.WindowLayoutParamsProto.SCREEN_BRIGHTNESS; import static android.view.WindowLayoutParamsProto.SOFT_INPUT_MODE; import static android.view.WindowLayoutParamsProto.SUBTREE_SYSTEM_UI_VISIBILITY_FLAGS; import static android.view.WindowLayoutParamsProto.SYSTEM_UI_VISIBILITY_FLAGS; import static android.view.WindowLayoutParamsProto.TYPE; import static android.view.WindowLayoutParamsProto.USER_ACTIVITY_TIMEOUT; import static android.view.WindowLayoutParamsProto.VERTICAL_MARGIN; import static android.view.WindowLayoutParamsProto.WIDTH; import static android.view.WindowLayoutParamsProto.WINDOW_ANIMATIONS; import static android.view.WindowLayoutParamsProto.X; import static android.view.WindowLayoutParamsProto.Y; import android.Manifest.permission; import android.annotation.IntDef; Loading Loading @@ -2722,7 +2748,33 @@ public interface WindowManager extends ViewManager { */ public void writeToProto(ProtoOutputStream proto, long fieldId) { final long token = proto.start(fieldId); proto.write(WindowLayoutParamsProto.TYPE, type); proto.write(TYPE, type); proto.write(X, x); proto.write(Y, y); proto.write(WIDTH, width); proto.write(HEIGHT, height); proto.write(HORIZONTAL_MARGIN, horizontalMargin); proto.write(VERTICAL_MARGIN, verticalMargin); proto.write(GRAVITY, gravity); proto.write(SOFT_INPUT_MODE, softInputMode); proto.write(FORMAT, format); proto.write(WINDOW_ANIMATIONS, windowAnimations); proto.write(ALPHA, alpha); proto.write(SCREEN_BRIGHTNESS, screenBrightness); proto.write(BUTTON_BRIGHTNESS, buttonBrightness); proto.write(ROTATION_ANIMATION, rotationAnimation); proto.write(PREFERRED_REFRESH_RATE, preferredRefreshRate); proto.write(WindowLayoutParamsProto.PREFERRED_DISPLAY_MODE_ID, preferredDisplayModeId); proto.write(HAS_SYSTEM_UI_LISTENERS, hasSystemUiListeners); proto.write(INPUT_FEATURE_FLAGS, inputFeatures); proto.write(USER_ACTIVITY_TIMEOUT, userActivityTimeout); proto.write(NEEDS_MENU_KEY, needsMenuKey); proto.write(COLOR_MODE, mColorMode); proto.write(FLAGS, flags); proto.write(FLAGS_EXTRA, flags2); proto.write(PRIVATE_FLAGS, privateFlags); proto.write(SYSTEM_UI_VISIBILITY_FLAGS, systemUiVisibility); proto.write(SUBTREE_SYSTEM_UI_VISIBILITY_FLAGS, subtreeSystemUiVisibility); proto.end(token); } Loading
core/proto/android/graphics/pixelformat.proto 0 → 100644 +34 −0 Original line number Diff line number Diff line /* * Copyright (C) 2018 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ syntax = "proto2"; package android.graphics; option java_multiple_files = true; message PixelFormatProto { enum Format { UNKNOWN = 0; TRANSLUCENT = -3; TRANSPARENT = -2; OPAQUE = -1; RGBA_8888 = 1; RGBX_8888 = 2; RGB_888 = 3; RGB_565 = 4; RGBA_F16 = 0x16; RGBA_1010102 = 0x2B; } }
core/proto/android/server/windowmanagerservice.proto +31 −0 Original line number Diff line number Diff line Loading @@ -18,6 +18,7 @@ syntax = "proto2"; import "frameworks/base/core/proto/android/content/configuration.proto"; import "frameworks/base/core/proto/android/graphics/rect.proto"; import "frameworks/base/core/proto/android/view/displaycutout.proto"; import "frameworks/base/core/proto/android/view/displayinfo.proto"; import "frameworks/base/core/proto/android/view/windowlayoutparams.proto"; Loading Loading @@ -172,6 +173,27 @@ message WindowStateProto { repeated WindowStateProto child_windows = 15; optional .android.graphics.RectProto surface_position = 16; optional .android.graphics.RectProto shown_position = 17; optional int32 requested_width = 18; optional int32 requested_height = 19; optional int32 view_visibility = 20; optional int32 system_ui_visibility = 21; optional bool has_surface = 22; optional bool is_ready_for_display = 23; optional .android.graphics.RectProto display_frame = 24; optional .android.graphics.RectProto overscan_frame = 25; optional .android.graphics.RectProto visible_frame = 26; optional .android.graphics.RectProto decor_frame = 27; optional .android.graphics.RectProto outset_frame = 28; optional .android.graphics.RectProto overscan_insets = 29; optional .android.graphics.RectProto visible_insets = 30; optional .android.graphics.RectProto stable_insets = 31; optional .android.graphics.RectProto outsets = 32; optional .android.view.DisplayCutoutProto cutout = 33; optional bool remove_on_exit = 34; optional bool destroying = 35; optional bool removed = 36; optional bool is_on_screen = 37; optional bool is_visible = 38; } message IdentifierProto { Loading @@ -184,6 +206,15 @@ message IdentifierProto { message WindowStateAnimatorProto { optional .android.graphics.RectProto last_clip_rect = 1; optional WindowSurfaceControllerProto surface = 2; enum DrawState { NO_SURFACE = 0; DRAW_PENDING = 1; COMMIT_DRAW_PENDING = 2; READY_TO_SHOW = 3; HAS_DRAWN = 4; } optional DrawState draw_state = 3; optional .android.graphics.RectProto system_decor_rect = 4; } /* represents WindowSurfaceController */ Loading
core/proto/android/view/display.proto +12 −0 Original line number Diff line number Diff line Loading @@ -38,4 +38,16 @@ message DisplayProto { // The display is on and optimized for VR mode. DISPLAY_STATE_VR = 5; } enum ColorMode { COLOR_MODE_INVALID = -1; COLOR_MODE_BT601_625 = 1; COLOR_MODE_BT601_625_UNADJUSTED = 2; COLOR_MODE_BT601_525 = 3; COLOR_MODE_BT601_525_UNADJUSTED = 4; COLOR_MODE_BT709 = 5; COLOR_MODE_DCI_P3 = 6; COLOR_MODE_SRGB = 7; COLOR_MODE_ADOBE_RGB = 8; COLOR_MODE_DISPLAY_P3 = 9; } }