- Created a new "sync debug" pref screen to hold the Fxa, Sync, and Push
server override prefs. They were taking a lot of screen space on the
top-level settings menu as individual items
- Added button on that screen to quit FF which is needed to apply the
changes.
- This is definitely not the nicest UI, but hopefully QA can just
override the prefs once save them in an emulator and never have to
go back to this screen.
- I do think this is a nicer UI than before, where FF would quit
after a change to any of the prefs. That forces you to restart FF
3 times if you wanted to override all 3 server URLs.
Using Dispatchers.IO allowed the observer to react faster to wallpaper state
updates but caused issues with updating the wallpaper in fragment layout.
Using Dispatchers.Main.immediate gives us a bit slower reaction time but still
faster than Dispatchers.Main and allows us to still execute before the fragment
is visible.
As part of a preventitive measure for home page regression loading, we
fixed the UpdateFirstFrameDrawn call to happen after the first layout in
the main RecyclerView is completed. In addition, we also make pocket
aware of this flag so that it renders itself after the first layout.
This helps prioritize current & future features that are visible first
to render before those that are off screen.
Co-authored-by: Arturo Mejia <arturomejiamarmol@gmail.com>
By using Store.observeManually in a standalone coroutine we can observe the
store and update the wallpapers even before onStart (in manual tests is right
around onStart, certainly before the other widgets shown on homescreen).
Created a new WallpapersObserver to have the functionality easier to reason
about and be easier to test.