diff --git a/core/java/android/view/Gravity.java b/core/java/android/view/Gravity.java index defa58e10e6ef..c8bfd36b2b484 100644 --- a/core/java/android/view/Gravity.java +++ b/core/java/android/view/Gravity.java @@ -15,8 +15,13 @@ */ package android.view; + +import android.annotation.IntDef; import android.graphics.Rect; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; + /** * Standard constants and tools for placing an object within a potentially * larger container. @@ -122,6 +127,32 @@ public class Gravity */ public static final int RELATIVE_HORIZONTAL_GRAVITY_MASK = START | END; + + /** + * @hide + */ + @Retention(RetentionPolicy.SOURCE) + @IntDef(flag = true, value = { + Gravity.FILL, + Gravity.FILL_HORIZONTAL, + Gravity.FILL_VERTICAL, + Gravity.START, + Gravity.END, + Gravity.LEFT, + Gravity.RIGHT, + Gravity.TOP, + Gravity.BOTTOM, + Gravity.CENTER, + Gravity.CENTER_HORIZONTAL, + Gravity.CENTER_VERTICAL, + Gravity.DISPLAY_CLIP_HORIZONTAL, + Gravity.DISPLAY_CLIP_VERTICAL, + Gravity.CLIP_HORIZONTAL, + Gravity.CLIP_VERTICAL, + Gravity.NO_GRAVITY + }) + public @interface GravityFlags {} + /** * Apply a gravity constant to an object. This supposes that the layout direction is LTR. * diff --git a/core/java/android/view/WindowManager.java b/core/java/android/view/WindowManager.java index ef2153e074e7c..b9afbc95de0d4 100644 --- a/core/java/android/view/WindowManager.java +++ b/core/java/android/view/WindowManager.java @@ -104,6 +104,7 @@ import android.os.Parcelable; import android.text.TextUtils; import android.util.Log; import android.util.proto.ProtoOutputStream; +import android.view.Gravity.GravityFlags; import android.view.View.OnApplyWindowInsetsListener; import android.view.WindowInsets.Side; import android.view.WindowInsets.Side.InsetsSide; @@ -2572,6 +2573,7 @@ public interface WindowManager extends ViewManager { * * @see Gravity */ + @GravityFlags public int gravity; /** diff --git a/core/proto/android/view/windowlayoutparams.proto b/core/proto/android/view/windowlayoutparams.proto index 4bb56f8acfa4d..062485d304c34 100644 --- a/core/proto/android/view/windowlayoutparams.proto +++ b/core/proto/android/view/windowlayoutparams.proto @@ -35,7 +35,7 @@ message WindowLayoutParamsProto { optional int32 height = 5; optional float horizontal_margin = 6; optional float vertical_margin = 7; - optional int32 gravity = 8; + optional int32 gravity = 8 [(.android.typedef) = "android.view.Gravity.GravityFlags"]; optional int32 soft_input_mode = 9 [(.android.typedef) = "android.view.WindowManager.LayoutParams.SoftInputModeFlags"]; optional .android.graphics.PixelFormatProto.Format format = 10; optional int32 window_animations = 11;