[bc25] Introduce `isShadeLayoutWide` state, and refactor `shadeMode`.
Context:
Many of the calls to `shadeMode` today actually only intend to ask
whether the shade layout is wide (which may be true in both `Split` and
`Dual` shade modes). Examples include:
1. Determining the clock size
2. Determining whether notifications should be shown on the lockscreen
3. Determining the width and position of NSSL
Since `ShadeMode.Dual` doesn't contain the same wide/narrow distinction
that the other modes do, this CL introduces a dedicated state for this,
`isShadeLayoutWide`.
As a consequence, `shadeMode` is now removed from the repository and
becomes a derived state in the interactor. This unifies the impl for
`shadeMode` in both SceneContainer and Legacy impls of
`ShadeInteractor`.
This CL also replaces usages of `shadeMode` in the examples above (and
others) where the code is agnostic to the specific shade mode type.
Flag: com.android.systemui.dual_shade
Flag: com.android.systemui.scene_container
Bug: 338033836
Bug: 351906743
Bug: 340553529
Test: Added unit tests, and existing unit tests still pass.
Change-Id: Ib173492d9435e6b1ce1c97cf6e6e9eda159d92a1
32 files changed