fix: sync theme updates with the map-ready message#653
Conversation
| String? _lastStatusToSend; | ||
| String? _lastErrorToSend; | ||
| Brightness? _lastThemeToSend; | ||
| bool _isMapReady = false; |
There was a problem hiding this comment.
É realmente necesario _isMapReady? Non se pode enviar o tema e listo (a chamada sobre o webview non é idempotente)?
Con eso tamén te aforras _onMapWillLoad, que non me molesta pero en conxunto parece que queda todo bastante ad-hoc.
There was a problem hiding this comment.
O theme en si é idempotente, si, pero o problema non é ese: o envío fai runJavaScript(...) sobre o webview e iso pode ocorrer antes de que o viewer estea listo para recibir ui.set_preferred_theme. Agora mesmo _isMapReady é o que evita iso e, ademais, garante que o tema non se perda durante un reload(). Ao mellor e demasiado complexo e non queremos protexernos ante reloads... pero non me parece mala práxis
There was a problem hiding this comment.
Pd: xa me cargo _onMapWillLoad, porque solo poñía o _isMapReady a false
Added new message to let map-viewer know what's the current device preferred color scheme.