<div class='sourceset sourceset-common'>Common</div>

```kotlin
@ExperimentalComposeUiApi
object ComposeUiFlags
```

This is a collection of flags which are used to guard against regressions in some of the
"riskier" refactors or new feature support that is added to this module. These flags are always
"on" in the published artifact of this module, however these flags allow end consumers of this
module to toggle them "off" in case this new path is causing a regression.

These flags are considered temporary, and there should be no expectation for these flags be
around for an extended period of time. If you have a regression that one of these flags fixes, it
is strongly encouraged for you to file a bug ASAP.

**Usage:**

In order to turn a feature off in a debug environment, it is recommended to set this to false in
as close to the initial loading of the application as possible. Changing this value after compose
library code has already been loaded can result in undefined behavior.
    class MyApplication : Application() {        override fun onCreate() {            ComposeUiFlags.SomeFeatureEnabled = false            super.onCreate()        }    }

In order to turn this off in a release environment, it is recommended to additionally utilize R8
rules which force a single value for the entire build artifact. This can result in the new code
paths being completely removed from the artifact, which can often have nontrivial positive
performance impact.
    -assumevalues class androidx.compose.ui.ComposeUiFlags {        public static int isRectTrackingEnabled return false    }

## Properties

<div class='sourceset sourceset-common'>Common</div>

```kotlin
@JvmField var isViewFocusFixEnabled: Boolean
```

This enables fixes for View focus. The changes are large enough to require a flag to allow
disabling them.

<div class='sourceset sourceset-common'>Common</div>

```kotlin
@JvmField
var isBypassUnfocusableComposeViewEnabled: Boolean
```

This flag enables an alternate approach to fixing the issues addressed by the
[isViewFocusFixEnabled](#isviewfocusfixenabled) flag.

<div class='sourceset sourceset-common'>Common</div>

```kotlin
@JvmField
var isInitialFocusOnFocusableAvailable: Boolean
```

Enable initial focus when a focusable is added to a screen with no focusable content.

<div class='sourceset sourceset-common'>Common</div>

```kotlin
@JvmField var isFocusRestorationEnabled: Boolean
```

Enable focus restoration, by always saving focus. This flag depends on
[isInitialFocusOnFocusableAvailable](#isinitialfocusonfocusableavailable) also being true.

<div class='sourceset sourceset-common'>Common</div>

```kotlin
@JvmField
var isIndirectPointerNavigationGestureDetectorEnabled: Boolean
```

Flag for enabling indirect pointer event navigation gestures in Compose.

<div class='sourceset sourceset-common'>Common</div>

```kotlin
@JvmField
var isOptimizedFocusEventDispatchEnabled: Boolean
```

Flag enables optimized focus change dispatching logic.

<div class='sourceset sourceset-common'>Common</div>

```kotlin
@JvmField
var isGraphicsLayerShapeSemanticsEnabled: Boolean
```

This flag enables setting the shape semantics property in the graphicsLayer modifiers.

<div class='sourceset sourceset-common'>Common</div>

```kotlin
@JvmField
var isTraversableDelegatesFixEnabled: Boolean
```

Enables a fix where [androidx.compose.ui.node.TraversableNode](/jetpack-compose/androidx.compose.ui/ui/interfaces/TraversableNode) traversal method
[findNearestAncestor](/jetpack-compose/androidx.compose.ui/ui/functions/findNearestAncestor) will take into consideration any delegates that might also be
traversable.

<div class='sourceset sourceset-common'>Common</div>

```kotlin
@JvmField
var isAccessibilityShouldIncludeOffscreenChildrenEnabled: Boolean
```

Enables a change where off-screen children of the partially visible merging nodes (e.g. a
Text node of a Button) inside scrollable container are now also reported in the semantics
tree for Accessibility needs.

Enabled is correct, and it should be enabled in all apps.

<div class='sourceset sourceset-common'>Common</div>

```kotlin
@JvmField
var isTrackpadGestureHandlingEnabled: Boolean
```

Enables support of trackpad gesture events.

If enabled, [androidx.compose.ui.input.pointer.PointerEvent](/jetpack-compose/androidx.compose.ui/ui/classes/PointerEvent)s can have type of
`androidx.compose.ui.input.pointer.PointerEventType.PanMove` and
`androidx.compose.ui.input.pointer.PointerEventType.ScaleChange`, corresponding to
system-recognized gestures on a trackpad.

These trackpad gestures will also generally be treated as mouse, with the exact behavior
depending on platform specifics.

<div class='sourceset sourceset-common'>Common</div>

```kotlin
@JvmField
var isMediaQueryIntegrationEnabled: Boolean
```

Enable the integration of [LocalUiMediaScope](/jetpack-compose/androidx.compose.ui/ui/properties/LocalUiMediaScope) at the root compose view which provides various
signals for adapting the UI across different devices.

This feature is experimental and is disabled by default.

<div class='sourceset sourceset-common'>Common</div>

```kotlin
@JvmField
var isSkipNonImportantSemanticsNodesHitTestEnabled: Boolean
```

Enables hit test to continue searching for "semantic nodes" if the initial node that is hit
is unimportant from an accessibility semantics node point of view.