VirtualDisplayConfig.Builder


public static final class VirtualDisplayConfig.Builder
extends Object

java.lang.Object
   ↳ android.hardware.display.VirtualDisplayConfig.Builder


A builder for VirtualDisplayConfig.

Summary

Public constructors

Builder(String name, int width, int height, int densityDpi)

Creates a new Builder.

Public methods

VirtualDisplayConfig.Builder addDisplayCategory(String displayCategory)

Adds a display category.

VirtualDisplayConfig build()

Builds the VirtualDisplayConfig instance.

VirtualDisplayConfig.Builder setBrightnessListener(Executor executor, VirtualDisplayConfig.BrightnessListener listener)

Sets the listener to get notified about changes in the display brightness.

VirtualDisplayConfig.Builder setDefaultBrightness(float brightness)

Sets the default brightness of the display.

VirtualDisplayConfig.Builder setDimBrightness(float brightness)

Sets the dim brightness of the display.

VirtualDisplayConfig.Builder setDisplayCategories(Set<String> displayCategories)

Sets the display categories.

VirtualDisplayConfig.Builder setFlags(int flags)

Sets the virtual display flags, a combination of DisplayManager.VIRTUAL_DISPLAY_FLAG_PUBLIC, DisplayManager.VIRTUAL_DISPLAY_FLAG_PRESENTATION, DisplayManager.VIRTUAL_DISPLAY_FLAG_SECURE, DisplayManager.VIRTUAL_DISPLAY_FLAG_OWN_CONTENT_ONLY, or DisplayManager.VIRTUAL_DISPLAY_FLAG_AUTO_MIRROR.

VirtualDisplayConfig.Builder setRequestedRefreshRate(float requestedRefreshRate)

Sets the refresh rate of a virtual display in frames per second.

VirtualDisplayConfig.Builder setSurface(Surface surface)

Sets the surface to which the content of the virtual display should be rendered.

Inherited methods

Public constructors

Builder

Added in API level 34
public Builder (String name, 
                int width, 
                int height, 
                int densityDpi)

Creates a new Builder.

Parameters
name String: The name of the virtual display, must be non-empty. This value cannot be null.

width int: The width of the virtual display in pixels. Must be greater than 0. Value is 1 or greater

height int: The height of the virtual display in pixels. Must be greater than 0. Value is 1 or greater

densityDpi int: The density of the virtual display in dpi. Must be greater than 0. Value is 1 or greater

Public methods

addDisplayCategory

Added in API level 34
public VirtualDisplayConfig.Builder addDisplayCategory (String displayCategory)

Adds a display category.

Parameters
displayCategory String: This value cannot be null.

Returns
VirtualDisplayConfig.Builder This value cannot be null.

build

Added in API level 34
public VirtualDisplayConfig build ()

Builds the VirtualDisplayConfig instance.

Returns
VirtualDisplayConfig This value cannot be null.

Throws
IllegalArgumentException if the dim brightness is set to a value greater than the default brightness.

setBrightnessListener

public VirtualDisplayConfig.Builder setBrightnessListener (Executor executor, 
                VirtualDisplayConfig.BrightnessListener listener)

Sets the listener to get notified about changes in the display brightness.

Parameters
executor Executor: The executor where the callback is executed on. This value cannot be null. Callback and listener events are dispatched through this Executor, providing an easy way to control which thread is used. To dispatch events through the main thread of your application, you can use Context.getMainExecutor(). Otherwise, provide an Executor that dispatches to an appropriate thread.

listener VirtualDisplayConfig.BrightnessListener: The listener to get notified when the display brightness has changed. This value cannot be null.

Returns
VirtualDisplayConfig.Builder This value cannot be null.

setDefaultBrightness

public VirtualDisplayConfig.Builder setDefaultBrightness (float brightness)

Sets the default brightness of the display.

The system will use this brightness value whenever the display should be bright, i.e. it is powered on and not modified due to user activity or app activity.

Value of 0.0 indicates the minimum supported brightness and value of 1.0 indicates the maximum supported brightness.

If unset, defaults to 0.0

Parameters
brightness float: Value is between 0.0f and 1.0f inclusive

Returns
VirtualDisplayConfig.Builder This value cannot be null.

Throws
IllegalArgumentException if the brightness is outside the valid range [0.0, 1.0]

setDimBrightness

public VirtualDisplayConfig.Builder setDimBrightness (float brightness)

Sets the dim brightness of the display.

The system will use this brightness value whenever the display should be dim, i.e. it is powered on and dimmed due to user activity or app activity.

Value of 0.0 indicates the minimum supported brightness and value of 1.0 indicates the maximum supported brightness.

If set, the default brightness must also be set to a value greater or equal to the dim brightness. If unset, defaults to the system default.

Parameters
brightness float: Value is between 0.0f and 1.0f inclusive

Returns
VirtualDisplayConfig.Builder This value cannot be null.

Throws
IllegalArgumentException if the brightness is outside the valid range [0.0, 1.0]

setDisplayCategories

Added in API level 34
public VirtualDisplayConfig.Builder setDisplayCategories (Set<String> displayCategories)

Sets the display categories.

The categories of the display indicate the type of activities allowed to run on that display. Activities can declare a display category using ActivityInfo.requiredDisplayCategory.

Parameters
displayCategories Set: This value cannot be null.

Returns
VirtualDisplayConfig.Builder This value cannot be null.

setFlags

Added in API level 34
public VirtualDisplayConfig.Builder setFlags (int flags)

Sets the virtual display flags, a combination of DisplayManager.VIRTUAL_DISPLAY_FLAG_PUBLIC, DisplayManager.VIRTUAL_DISPLAY_FLAG_PRESENTATION, DisplayManager.VIRTUAL_DISPLAY_FLAG_SECURE, DisplayManager.VIRTUAL_DISPLAY_FLAG_OWN_CONTENT_ONLY, or DisplayManager.VIRTUAL_DISPLAY_FLAG_AUTO_MIRROR.

Parameters
flags int: Value is either 0 or a combination of DisplayManager.VIRTUAL_DISPLAY_FLAG_PUBLIC, DisplayManager.VIRTUAL_DISPLAY_FLAG_PRESENTATION, DisplayManager.VIRTUAL_DISPLAY_FLAG_SECURE, DisplayManager.VIRTUAL_DISPLAY_FLAG_OWN_CONTENT_ONLY, DisplayManager.VIRTUAL_DISPLAY_FLAG_AUTO_MIRROR, android.hardware.display.DisplayManager.VIRTUAL_DISPLAY_FLAG_CAN_SHOW_WITH_INSECURE_KEYGUARD, android.hardware.display.DisplayManager.VIRTUAL_DISPLAY_FLAG_SUPPORTS_TOUCH, android.hardware.display.DisplayManager.VIRTUAL_DISPLAY_FLAG_ROTATES_WITH_CONTENT, android.hardware.display.DisplayManager.VIRTUAL_DISPLAY_FLAG_DESTROY_CONTENT_ON_REMOVAL, android.hardware.display.DisplayManager.VIRTUAL_DISPLAY_FLAG_SHOULD_SHOW_SYSTEM_DECORATIONS, android.hardware.display.DisplayManager.VIRTUAL_DISPLAY_FLAG_TRUSTED, android.hardware.display.DisplayManager.VIRTUAL_DISPLAY_FLAG_OWN_DISPLAY_GROUP, android.hardware.display.DisplayManager.VIRTUAL_DISPLAY_FLAG_ALWAYS_UNLOCKED, android.hardware.display.DisplayManager.VIRTUAL_DISPLAY_FLAG_TOUCH_FEEDBACK_DISABLED, android.hardware.display.DisplayManager.VIRTUAL_DISPLAY_FLAG_OWN_FOCUS, and android.hardware.display.DisplayManager.VIRTUAL_DISPLAY_FLAG_STEAL_TOP_FOCUS_DISABLED

Returns
VirtualDisplayConfig.Builder This value cannot be null.

setRequestedRefreshRate

Added in API level 34
public VirtualDisplayConfig.Builder setRequestedRefreshRate (float requestedRefreshRate)

Sets the refresh rate of a virtual display in frames per second.

For best results, specify a divisor of the physical refresh rate, e.g., 30 or 60 on a 120hz display. If an arbitrary refresh rate is specified, the rate will be rounded up to a divisor of the physical display. If unset or zero, the virtual display will be refreshed at the physical display refresh rate.

Parameters
requestedRefreshRate float: Value is 0.0f or greater

Returns
VirtualDisplayConfig.Builder This value cannot be null.

setSurface

Added in API level 34
public VirtualDisplayConfig.Builder setSurface (Surface surface)

Sets the surface to which the content of the virtual display should be rendered.

The surface can also be set after the display creation using VirtualDisplay.setSurface(Surface).

Parameters
surface Surface: This value may be null.

Returns
VirtualDisplayConfig.Builder This value cannot be null.