ActionEffects class
Backend-tunable effect knobs (action_config.effects, camelCase wire).
Every field is nullable: null means "the SDK's built-in value", exactly like the backend contract — absent fields are never materialized server-side. Values are honored only when finite and >= 0 (and within 0..1 for the two Unit fields), mirroring the backend validators.
Every *Ms knob is additionally floored at kMinEffectMs (1 ms) at parse
time. The backend admits 0 (NonNegative, ge=0), but a zero duration
handed to AnimationController.repeat() asserts in debug and throws on
every frame in release — one dashboard field would break every host. A
tenant asking for "no animation" gets an imperceptible one instead
(Android EffectConfig.MIN_ANIM_MS parity).
Constructors
- ActionEffects({double? highlightLoopMs, double? highlightBreathMs, double? highlightDefaultDurationMs, double? highlightMinVisible, double? highlightSafePad, double? highlightStroke, double? highlightCornerRadius, double? highlightShimmerWidth, double? highlightShimmerHeight, double? activeBorderBaseDepth, double? activeBorderBloomDepth, double? activeBorderFadeInMs, double? activeBorderFadeOutMs, double? activeBorderPostHoldMs, double? activeBorderWatchdogMs, double? activeBorderPulseHalfMs, double? activeBorderSolidAlpha, double? awakeningForwardMs, double? awakeningReverseMs, double? awakeningRimSpinMs, double? awakeningDeferredExpandMs, double? awakeningOrbSize, double? fabBreathingMs, double? fabBreathingScale, double? fabExpandMs, double? fabInputSectionMs})
-
const
Properties
- activeBorderBaseDepth → double?
-
final
- activeBorderBloomDepth → double?
-
final
- activeBorderFadeInMs → double?
-
final
- activeBorderFadeOutMs → double?
-
final
- activeBorderPostHoldMs → double?
-
final
- activeBorderPulseHalfMs → double?
-
final
- activeBorderSolidAlpha → double?
-
final
- activeBorderWatchdogMs → double?
-
final
- awakeningDeferredExpandMs → double?
-
final
- awakeningForwardMs → double?
-
final
- awakeningOrbSize → double?
-
final
- awakeningReverseMs → double?
-
final
- awakeningRimSpinMs → double?
-
final
- fabBreathingMs → double?
-
final
- fabBreathingScale → double?
-
final
- fabExpandMs → double?
-
final
- fabInputSectionMs → double?
-
final
- hashCode → int
-
The hash code for this object.
no setterinherited
- highlightBreathMs → double?
-
final
- highlightCornerRadius → double?
-
final
- highlightDefaultDurationMs → double?
-
final
- highlightLoopMs → double?
-
final
- highlightMinVisible → double?
-
final
- highlightSafePad → double?
-
final
- highlightShimmerHeight → double?
-
final
- highlightShimmerWidth → double?
-
final
- highlightStroke → double?
-
final
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
Methods
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
toString(
) → String -
A string representation of this object.
inherited
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited
Static Methods
-
animationSafe(
Duration d) → Duration -
dfloored at kMinEffectMs. Overlays run every duration through this beforerepeat()/forward(): a zero-length controller asserts in debug and throws each frame in release, whatever its source (a backend knob, a host-set static, a wireduration_ms). -
duration(
double? ms, Duration orElse) → Duration -
msas a Duration, ororElsewhen the knob is unset — never below kMinEffectMs, so the result is always safe to drive an animation.
Constants
- kMinEffectMs → const int
-
The floor every effect duration is held to (Android
MIN_ANIM_MS). - none → const ActionEffects
- Everything at SDK defaults.