Skip to content

fix(android): start the configured state machine when deferring autoplay - #374

Open
Nodonisko wants to merge 1 commit into
rive-app:mainfrom
Nodonisko:fix/android-defer-autoplay-raw-timeline
Open

fix(android): start the configured state machine when deferring autoplay#374
Nodonisko wants to merge 1 commit into
rive-app:mainfrom
Nodonisko:fix/android-defer-autoplay-raw-timeline

Conversation

@Nodonisko

Copy link
Copy Markdown

The deferAutoPlay branch in configure() calls the no-arg play(settleInitialState = false). On a cold start the controller's no-arg play() also starts the artboard's first raw timeline animation, which draws over the data-bound state machine and shows the wrong state — e.g. a file whose first timeline is a "fail" animation shows the failure art on every mount on Android, regardless of the bound VM values. iOS is unaffected.

Same bug class as #332, which #343 fixed for the public play() — this applies the same explicit state-machine start to the internal call site. Repro: any <RiveView dataBind={...} /> (default autoPlay) on Android whose artboard's first linear animation visibly differs from the initial state-machine state.

Co-Authored-By: Claude noreply@anthropic.com

The deferAutoPlay branch in configure() used the no-arg play(), which on
a cold start also starts the artboard's first raw timeline animation.
That timeline then draws over the data-bound state machine, showing the
wrong state. Same bug class as rive-app#332, already fixed for the public
play() in rive-app#343 - this applies the same explicit start to the internal
call site.

Co-Authored-By: Claude <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant