KeyguardBottomAreaView new impl. - data layer
- In this first CL in the series, we create the data layer that will power the new implementation of KeyguardBottomAreaView - On its own, this CL doesn't do anything and nothing is using it - The data layer contains both the repositories and models - There are two repositories: - The generic KeyguardRepository is responsible for providing generic application state that the view will ultimately consume. Note that some states are very specific to the bottom area and/or the view - this was done mostly as a shortcut because the current codebase makes it intractable to trace the true source of truth for these. Later, when things get cleaned up across the codebase, the repository can be changed to source the state from the real source of truth without making changes to its consumers - The specific KeyguardQuickAffordanceRepository is responsible for providing "quick affordance" (previously known as "bottom button") state. It creates a simple framework for defining the configuration for each of these buttons, positioning them on the left/right, and deciding which one takes precedence when more than on is available at the same position on the screen Bug: 235403546 Test: Unit tests are included for both repositories and for two out of the three quick affordance data sources. It was not possible to add a unit test for the "home controls" data source because of my use of `combine` which seems to not play nice with test coroutine scopes. I also manually verified that the bottom area behaves as expected once the entire CL chain is compiled together Change-Id: I90f8ccf0233c8a089b564a831f14157bf2096c31
Loading
Please register or sign in to comment