WearComposeFoundationFlags

@ExperimentalWearFoundationApi
object WearComposeFoundationFlags


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 being 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() {
        WearComposeFoundationFlags.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.wear.compose.foundation.WearComposeFoundationFlags {
    public static boolean SomeFeatureEnabled return false
}

Summary

Public properties

Boolean

Whether to use the new clickability threshold in androidx.wear.compose.foundation.lazy.TransformingLazyColumn.

Boolean

Whether to use warped curved text, true by default.

Public properties

isTransformingLazyColumnClickableThresholdEnabled

Added in 1.6.0-beta01
var isTransformingLazyColumnClickableThresholdEnabledBoolean

Whether to use the new clickability threshold in androidx.wear.compose.foundation.lazy.TransformingLazyColumn. When true, the clickability threshold ignores clicks in the top or bottom 20dp of the layout, to avoid accidental clicks on small items that are partially shown due to fading/scaling in the TransformingLazyColumn. If false, all clicks will be recognized instead

isWarpingCurvedTextEnabled

Added in 1.6.0-beta01
var isWarpingCurvedTextEnabledBoolean

Whether to use warped curved text, true by default. Warping provides higher quality rendering for curved text, specially for cursive fonts, but can have a slight performance impact for big curved text.