summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Kenneth Ford <kennethford@google.com> 2024-02-15 04:50:51 +0000
committer Android (Google) Code Review <android-gerrit@google.com> 2024-02-15 04:50:51 +0000
commit4686865e0f631bb838f73b7f7c255ca2158eba9b (patch)
tree971c3111e313710381a5d89270853f22ff6818c9
parent894f417b0a4bdb66e4eac5c8d692f7f59fa596fd (diff)
parent7c988fe31f892fff8de6adf8fbf42710ce182f3a (diff)
Merge "Adds PROPERTY_COMPAT_ALLOW_SMALL_COVER_SCREEN" into main
-rw-r--r--core/api/current.txt2
-rw-r--r--core/java/android/view/WindowManager.java42
-rw-r--r--core/java/android/window/flags/windowing_sdk.aconfig8
3 files changed, 52 insertions, 0 deletions
diff --git a/core/api/current.txt b/core/api/current.txt
index ed05047d546e..dfd885282988 100644
--- a/core/api/current.txt
+++ b/core/api/current.txt
@@ -54454,6 +54454,7 @@ package android.view {
method @FlaggedApi("com.android.window.flags.surface_control_input_receiver") public default boolean transferTouchGesture(@NonNull android.window.InputTransferToken, @NonNull android.window.InputTransferToken);
method @FlaggedApi("com.android.window.flags.surface_control_input_receiver") public default void unregisterSurfaceControlInputReceiver(@NonNull android.view.SurfaceControl);
method @FlaggedApi("com.android.window.flags.trusted_presentation_listener_for_window") public default void unregisterTrustedPresentationListener(@NonNull java.util.function.Consumer<java.lang.Boolean>);
+ field @FlaggedApi("com.android.window.flags.cover_display_opt_in") public static final int COMPAT_SMALL_COVER_SCREEN_OPT_IN = 1; // 0x1
field public static final String PROPERTY_ACTIVITY_EMBEDDING_ALLOW_SYSTEM_OVERRIDE = "android.window.PROPERTY_ACTIVITY_EMBEDDING_ALLOW_SYSTEM_OVERRIDE";
field public static final String PROPERTY_ACTIVITY_EMBEDDING_SPLITS_ENABLED = "android.window.PROPERTY_ACTIVITY_EMBEDDING_SPLITS_ENABLED";
field @FlaggedApi("com.android.window.flags.untrusted_embedding_state_sharing") public static final String PROPERTY_ALLOW_UNTRUSTED_ACTIVITY_EMBEDDING_STATE_SHARING = "android.window.PROPERTY_ALLOW_UNTRUSTED_ACTIVITY_EMBEDDING_STATE_SHARING";
@@ -54466,6 +54467,7 @@ package android.view {
field public static final String PROPERTY_COMPAT_ALLOW_ORIENTATION_OVERRIDE = "android.window.PROPERTY_COMPAT_ALLOW_ORIENTATION_OVERRIDE";
field @FlaggedApi("com.android.window.flags.app_compat_properties_api") public static final String PROPERTY_COMPAT_ALLOW_RESIZEABLE_ACTIVITY_OVERRIDES = "android.window.PROPERTY_COMPAT_ALLOW_RESIZEABLE_ACTIVITY_OVERRIDES";
field public static final String PROPERTY_COMPAT_ALLOW_SANDBOXING_VIEW_BOUNDS_APIS = "android.window.PROPERTY_COMPAT_ALLOW_SANDBOXING_VIEW_BOUNDS_APIS";
+ field @FlaggedApi("com.android.window.flags.cover_display_opt_in") public static final String PROPERTY_COMPAT_ALLOW_SMALL_COVER_SCREEN = "android.window.PROPERTY_COMPAT_ALLOW_SMALL_COVER_SCREEN";
field @FlaggedApi("com.android.window.flags.app_compat_properties_api") public static final String PROPERTY_COMPAT_ALLOW_USER_ASPECT_RATIO_FULLSCREEN_OVERRIDE = "android.window.PROPERTY_COMPAT_ALLOW_USER_ASPECT_RATIO_FULLSCREEN_OVERRIDE";
field @FlaggedApi("com.android.window.flags.app_compat_properties_api") public static final String PROPERTY_COMPAT_ALLOW_USER_ASPECT_RATIO_OVERRIDE = "android.window.PROPERTY_COMPAT_ALLOW_USER_ASPECT_RATIO_OVERRIDE";
field public static final String PROPERTY_COMPAT_ENABLE_FAKE_FOCUS = "android.window.PROPERTY_COMPAT_ENABLE_FAKE_FOCUS";
diff --git a/core/java/android/view/WindowManager.java b/core/java/android/view/WindowManager.java
index bc9b4fe37a2f..4e13878fac86 100644
--- a/core/java/android/view/WindowManager.java
+++ b/core/java/android/view/WindowManager.java
@@ -1548,6 +1548,48 @@ public interface WindowManager extends ViewManager {
"android.window.PROPERTY_SUPPORTS_MULTI_INSTANCE_SYSTEM_UI";
/**
+ * Application or Activity level
+ * {@link android.content.pm.PackageManager.Property PackageManager.Property} to provide any
+ * preferences for showing all or specific Activities on small cover displays of foldable
+ * style devices.
+ *
+ * <p>The only supported value for the property is {@link #COMPAT_SMALL_COVER_SCREEN_OPT_IN}.
+ *
+ * <p><b>Syntax:</b>
+ * <pre>
+ * &lt;application&gt;
+ * &lt;property
+ * android:name="android.window.PROPERTY_COMPAT_ALLOW_SMALL_COVER_SCREEN"
+ * android:value=1 <!-- COMPAT_COVER_SCREEN_OPT_IN -->/&gt;
+ * &lt;/application&gt;
+ * </pre>
+ */
+ @FlaggedApi(Flags.FLAG_COVER_DISPLAY_OPT_IN)
+ String PROPERTY_COMPAT_ALLOW_SMALL_COVER_SCREEN =
+ "android.window.PROPERTY_COMPAT_ALLOW_SMALL_COVER_SCREEN";
+
+ /**
+ * Value applicable for the {@link #PROPERTY_COMPAT_ALLOW_SMALL_COVER_SCREEN} property to
+ * provide a signal to the system that an application or its specific activities explicitly
+ * opt into being displayed on small foldable device cover screens that measure at least 1.5
+ * inches for the shorter dimension and at least 2.4 inches for the longer dimension.
+ */
+ @CompatSmallScreenPolicy
+ @FlaggedApi(Flags.FLAG_COVER_DISPLAY_OPT_IN)
+ int COMPAT_SMALL_COVER_SCREEN_OPT_IN = 1;
+
+ /**
+ * @hide
+ */
+ @IntDef({
+ COMPAT_SMALL_COVER_SCREEN_OPT_IN,
+ })
+ @Retention(RetentionPolicy.SOURCE)
+ @interface CompatSmallScreenPolicy {}
+
+
+
+ /**
* Request for app's keyboard shortcuts to be retrieved asynchronously.
*
* @param receiver The callback to be triggered when the result is ready.
diff --git a/core/java/android/window/flags/windowing_sdk.aconfig b/core/java/android/window/flags/windowing_sdk.aconfig
index bc63881163f0..ce74848705e4 100644
--- a/core/java/android/window/flags/windowing_sdk.aconfig
+++ b/core/java/android/window/flags/windowing_sdk.aconfig
@@ -69,4 +69,12 @@ flag {
name: "embedded_activity_back_nav_flag"
description: "Refines embedded activity back navigation behavior"
bug: "293642394"
+}
+
+flag {
+ namespace: "windowing_sdk"
+ name: "cover_display_opt_in"
+ description: "Properties to allow apps and activities to opt-in to cover display rendering"
+ bug: "312530526"
+ is_fixed_read_only: true
} \ No newline at end of file