Stay organized with collections Save and categorize content based on your preferences.

WindowProperties

public static class WindowProperties


Window-related PackageManager.Property tags that can be defined in the app manifest file, AndroidManifest.xml.

Summary

Constants

static final @NonNull String

Application-level PackageManager.Property tag that specifies whether OEMs are permitted to provide activity embedding split-rule configurations on behalf of the app.

static final @NonNull String

Application level PackageManager tag that an app must specify to inform the system that the app is ActivityEmbedding split feature enabled.

Public fields

static @NonNull WindowProperties

Constants

PROPERTY_ACTIVITY_EMBEDDING_ALLOW_SYSTEM_OVERRIDE

public static final @NonNull String PROPERTY_ACTIVITY_EMBEDDING_ALLOW_SYSTEM_OVERRIDE

Application-level PackageManager.Property tag that specifies whether OEMs are permitted to provide activity embedding split-rule configurations on behalf of the app.

If true, the system is permitted to override the app's windowing behavior and implement activity embedding split rules, such as displaying activities adjacent to each other. A system override informs the app that the activity embedding APIs are disabled so the app will not provide its own activity embedding rules, which would conflict with the system's rules.

If false, the system is not permitted to override the windowing behavior of the app. Set the property to false if the app provides its own activity embedding split rules, or if you want to prevent the system override for any other reason.

The default value is false.

Note: Refusal to permit the system override is not enforceable. OEMs can override the app's activity embedding implementation whether or not this property is specified and set to false. The property is, in effect, a hint to OEMs.

OEMs can implement activity embedding on any API level. The best practice for apps is to always explicitly set this property in the app manifest file regardless of targeted API level rather than rely on the default value.

Syntax:

<application>
<property
    android:name="android.window.PROPERTY_ACTIVITY_EMBEDDING_ALLOW_SYSTEM_OVERRIDE"
    android:value="true|false"/>
</application>

PROPERTY_ACTIVITY_EMBEDDING_SPLITS_ENABLED

public static final @NonNull String PROPERTY_ACTIVITY_EMBEDDING_SPLITS_ENABLED

Application level PackageManager tag that an app must specify to inform the system that the app is ActivityEmbedding split feature enabled. In other words, the ActivityEmbedding splits feature cannot be used if the app has no property set.

With this property, the system could provide custom behaviors for the apps that have ActivityEmbedding split feature enabled. For example, the fixed-portrait orientation requests of the activities could be ignored by the system in order to provide seamless ActivityEmbedding split experiences while holding the large-screen devices in landscape mode.

Syntax:

<application>
<property
    android:name="android.window.PROPERTY_ACTIVITY_EMBEDDING_SPLITS_ENABLED"
    android:value="true|false"/>
</application>

Public fields

INSTANCE

public static @NonNull WindowProperties INSTANCE