Shortcut Helper - Only start Activity after shortcuts have been fetched
+ Only starts activity when we have fetched all shortcuts. This is
because for the "current app" shortcuts, WindowManager returns
the shortcuts for the currently focused app. We want the shortcuts
of the focused app, before shortcut helper started. If we fetch
shortcuts after shortcut helper started, WindowManager will return
shortcuts of the shortcut helper instead of the app.
+ Changes repository to return a list of all shortcut categories instead
of returning each category individually. This ensures we can ensure
processing only continues when all have been fetched
+ Change categories flow to be a StateFlow, to make sure an existing
value is replayed to new subscribers. This ensures we don't fetch
new shortcuts after the helper has been shown
Flag: com.android.systemui.keyboard_shortcut_helper_rewrite
Test: Unit tests in this CL
Test: Manually
Fixes: 352500619
Change-Id: Id32a4248a732c26399539fd9c9dd66717d0acec4
9 files changed