# TrustedWebActivityDisplayMode.ImmersiveMode

Artifact: [androidx.browser:browser](https://developer.android.com/jetpack/androidx/releases/browser) [View Source](https://cs.android.com/search?q=file:androidx/browser/trusted/TrustedWebActivityDisplayMode.java+class:androidx.browser.trusted.TrustedWebActivityDisplayMode.ImmersiveMode) Added in [1.2.0](https://developer.android.com/jetpack/androidx/releases/browser#1.2.0)

*** ** * ** ***


```
public class TrustedWebActivityDisplayMode.ImmersiveMode implements TrustedWebActivityDisplayMode
```

<br />

*** ** * ** ***

Immersive mode: both the browser controls and the system UI (status bar, navigation bar) is hidden while the user is on a verified origin. See https://developer.android.com/training/system-ui/immersive Using this mode is different from using the JavaScript Fullscreen API in that the immersive mode will be entered immediately, before the page has loaded. If the app uses a splash screen, it will be displayed in immersive mode. It is not recommended to use both this API and the JavaScript API simultaneously.

## Summary

| ### Constants |
|---|---|
| `static final https://developer.android.com/reference/java/lang/String.html` | `https://developer.android.com/reference/androidx/browser/trusted/TrustedWebActivityDisplayMode.ImmersiveMode#KEY_CUTOUT_MODE() = "androidx.browser.trusted.displaymode.KEY_CUTOUT_MODE"` Bundle key for `https://developer.android.com/reference/androidx/browser/trusted/TrustedWebActivityDisplayMode.ImmersiveMode#layoutInDisplayCutoutMode()`. |
| `static final https://developer.android.com/reference/java/lang/String.html` | `https://developer.android.com/reference/androidx/browser/trusted/TrustedWebActivityDisplayMode.ImmersiveMode#KEY_STICKY() = "androidx.browser.trusted.displaymode.KEY_STICKY"` Bundle key for `https://developer.android.com/reference/androidx/browser/trusted/TrustedWebActivityDisplayMode.ImmersiveMode#isSticky()`. |

| ### Public constructors |
|---|
| `https://developer.android.com/reference/androidx/browser/trusted/TrustedWebActivityDisplayMode.ImmersiveMode#ImmersiveMode(boolean,int)(boolean isSticky, int layoutInDisplayCutoutMode)` Constructor. |

| ### Public methods |
|---|---|
| `boolean` | `https://developer.android.com/reference/androidx/browser/trusted/TrustedWebActivityDisplayMode.ImmersiveMode#isSticky()()` Returns whether sticky immersive mode is enabled. |
| `int` | `https://developer.android.com/reference/androidx/browser/trusted/TrustedWebActivityDisplayMode.ImmersiveMode#layoutInDisplayCutoutMode()()` Returns the cutout mode. |
| `@https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/android/os/Bundle.html` | `https://developer.android.com/reference/androidx/browser/trusted/TrustedWebActivityDisplayMode.ImmersiveMode#toBundle()()` Packs the object into a `https://developer.android.com/reference/android/os/Bundle.html`. |

| ### Inherited Constants |
|---|
| From [androidx.browser.trusted.TrustedWebActivityDisplayMode](https://developer.android.com/reference/androidx/browser/trusted/TrustedWebActivityDisplayMode) |---|---| | `static final https://developer.android.com/reference/java/lang/String.html` | `https://developer.android.com/reference/androidx/browser/trusted/TrustedWebActivityDisplayMode#KEY_ID() = "androidx.browser.trusted.displaymode.KEY_ID"` Bundle key for the integer identifying the mode. | |

## Constants

### KEY_CUTOUT_MODE

Added in [1.2.0](https://developer.android.com/jetpack/androidx/releases/browser#1.2.0)

```
public static final String KEY_CUTOUT_MODE = "androidx.browser.trusted.displaymode.KEY_CUTOUT_MODE"
```

Bundle key for `https://developer.android.com/reference/androidx/browser/trusted/TrustedWebActivityDisplayMode.ImmersiveMode#layoutInDisplayCutoutMode()`.

### KEY_STICKY

Added in [1.2.0](https://developer.android.com/jetpack/androidx/releases/browser#1.2.0)

```
public static final String KEY_STICKY = "androidx.browser.trusted.displaymode.KEY_STICKY"
```

Bundle key for `https://developer.android.com/reference/androidx/browser/trusted/TrustedWebActivityDisplayMode.ImmersiveMode#isSticky()`.

## Public constructors

### ImmersiveMode

Added in [1.2.0](https://developer.android.com/jetpack/androidx/releases/browser#1.2.0)

```
public ImmersiveMode(boolean isSticky, int layoutInDisplayCutoutMode)
```

Constructor.

| Parameters |
|---|---|
| `boolean isSticky` | Whether the Trusted Web Activity should be in sticky immersive mode, see https://developer.android.com/training/system-ui/immersive#sticky-immersive |
| `int layoutInDisplayCutoutMode` | The constant defining how to deal with display cutouts. See `https://developer.android.com/reference/android/view/WindowManager.LayoutParams.html#layoutInDisplayCutoutMode` and https://developer.android.com/guide/topics/display-cutout |

## Public methods

### isSticky

Added in [1.2.0](https://developer.android.com/jetpack/androidx/releases/browser#1.2.0)

```
public boolean isSticky()
```

Returns whether sticky immersive mode is enabled.

### layoutInDisplayCutoutMode

Added in [1.2.0](https://developer.android.com/jetpack/androidx/releases/browser#1.2.0)

```
public int layoutInDisplayCutoutMode()
```

Returns the cutout mode.

### toBundle

```
public @NonNull Bundle toBundle()
```

Packs the object into a `https://developer.android.com/reference/android/os/Bundle.html`.