Some adjustments to note:
1. remove previous focusability changes per view controller
2. disallow calling insetsController.show/hide without window focus
3. update tests to depend on window focus
4. update DisplaySystemBarsController to refer to parent class for ime
insets
Bug: 163135884
Test: manual, atest :carsysui-presubmit
Change-Id: If5adf599bc2c676ad296f89566534c1fdc9f2492
Due to the newly added check in SystemBarConfig, tests can fail
erroneously when testing behavior of when either top or bottom system
bar is not enabled.
Bug: 162599873
Bug: 165808744
Test: atest carsysui-presubmit --include-subdir passing. (5/5)
Change-Id: Ife2ac4e746006c39eaf46cd0328c1639149891b2
Merged-In: Ife2ac4e746006c39eaf46cd0328c1639149891b2
Display2 is expected to return stack info that is not safe, and so it is
expected that onUnSafeTaskDisplayedOnDisplay is called for it.
Bug: 161892451
Test: Unit Test
Change-Id: I3e3afbadff4cb2fc252c5b0d4fe32bd9ce19097a
First, it has to extend SystemUiTestCase to pass AAAPlusPlusVerify Test.
Second, CarDeviceProvisionedController is injected into the Mediator and
mocked in its test to correctly test case where the user life cycle
event is being applied to the current user and a case when it is not.
Bug: 161892451
Test: Unit Test (the corresponding tests passing now.)
Change-Id: I8be7dacaa1bf0abb87dcb357c37e58ce511132d2
Bug: 160028073
Bug: 161825538
Test: Unit Tests + Manual -- CarNavigationBar reads configs from
SystemBarConfigs and applies them as intended. It throws an error when
the config validation fails.
Change-Id: If1575bdc2549058600fb80fa0d6c340fd3e1dbc5
1. Make sysui overlay window views more stable
2. hide/show system bars using insets in SystemUIOverlayWindow
Bug: 161926721
Bug: 151617493
Test: Manual & Unit Tests
Change-Id: I78fd2b5e8488d2f5006edd9773308e2bb9856d2b
When config_remoteInsetsControllerControlsSystemBars is true,
DisplaySystemBarsController provides its own policy of how system
bars are displayed for specific packages. Currently limited to
only auto versions of Android.
Bug: 149585273
Test: Manual, atest BarControlPolicyTest, atest InsetsPolicyTest,
atest DisplaySystemBarsControllerTest
Change-Id: Ie6b1cc3e2760cbc9e48d62dfbd8bc3e23ffca20c
Merged-In: Ie6b1cc3e2760cbc9e48d62dfbd8bc3e23ffca20c
- Adds bluetooth device to the intent since it is required by other
receivers which can cause issues if test is running while other receivers
are listening for the bluetooth broadcast.
- Fixes a potential flakiness by making sure the looper processes all the
messages.
Fix: 154515909
Test: Manual
Change-Id: Ib9c6f9eed20336cafcf9d984edd60eb311195e5e
This prevents being stuck in the Loading screen even if the proper
User Lifecycle event was not broadcast.
Test: Unit Tests + Manual -- Verify that the UserSwitchTransitionView is
hidden after the timeout threshold when the UserLifecycleEvent listener
is not registered.
Bug: 158705895
Change-Id: I895f04bda395bac271b01fbb414a8bf484348324
Activity has a public API setShowWhenLocked, which, if set to true,
allows it to be shown when the device is locked, thereby "occluding"
the Keyguard.
In the Phone OS implementation, when an occluding Activity is showing,
Keyguard is temporarily dismissed and StatusBar expands.
In the AAOS implementation where SystemUI components are mounted to
the SystemUIOverlayWindow, OverlayViewGlobalStateController hides all
views mounted to it unless they are configured to be shown even during
occlusion.
Test: Unit Tests + atest CtsWindowManagerDeviceTestCases:ActivityLifecycleTopResumedStateTests#testTopPositionLaunchedOnTopOfLockScreen
Bug: 156781505
Change-Id: I8320e97a575a990ba4301729c6b0e6c86d6ef7c5
Add a FocusParkingView to the navigation bar and the heads-up
notification window. Add a dependency on the Chassis UI library.
Make the nav buttons have a blue background, or whatever color
the OEM specifies for the focus highlight.
Test: atest com.android.systemui.car.navigationbar.CarNavigationButtonTest
Bug: 155681517
Change-Id: Ia33c7692554c15427e429ecdba3bc978224ff129
Also add a few logging statements to help track down the issue.
Bug: 155334879
Test: manual, atest CarNavigationBarTest
Change-Id: I80c264e7ec0042257bfba3feb6cce6eadced5098
PhoneStatusBarPolicy is a complex object with many underlying
dependencies. Lazy load until there is a better story around it.
Bug: 147455109
Test: manual (systrace)
Change-Id: I726a797f37c0816ab189a4c5f4fd5eecb0692e53
This one also includes other big dependencies like StatusBar,
NotificationShadeWindowController, ShadeController, and more.
Bug: 147455109
Test: manual (with timing from SystemUIOverlayWindowManager)
Change-Id: I7d8f1a92e66860ea278c062af873665b1b8e47b0
from the bottom navigation bar.
Added Top and Bottom NotificationPanelViewMediators that can be used to
change the direction that the notification panel should go in.
Bug: 145827692
Test: Manual
Change-Id: I813415711f826a70cdbf4bd16e9b4f425e81e0de
- Add SideLoadedAppController as a SysUI class to kick off the
sideloaded app tracking.
- Add SideLoadedAppStateController to manage the state of sideloaded
apps. This class is just a wireframe and will be filled in the following
cls.
- Add SideLoadedAppListener to listen for stack changes and notify the
state controller when the sideloaded apps state changes.
- Add unit test for SideLoadedAppListener
Bug: 154263570
Test: atest (All tests in CarSystemUITests)
Change-Id: I8d2b9b3d224017d9a51e2590a1aae0a9a265f7c3
This wasn't previously possible due to ties to StatusBar.java - however
since we've restructured it in a different way, we can pull out these
dependencies
Bug: 147455109
Test: manual
Change-Id: Ica8f288cd9b54742383a1c4e02b53f08f0da3e1b
A helper class to detect if any package is unsafe or sideloaded.
A package is considered unsafe if not a system app and not installed
through trusted sources.
The usage will be added in the following cls.
Bug: 154263570
Test: Added UnitTest
Change-Id: Ifffbe64ae95029427aeca4a997bc440dbdc2d3d6
This also allows us to remove CarStatusBar.java (note that
CarStatusBar.java may still be instantiated via injection into other
Phone SysUI dependencies).
Bug: 147455109
Test: manual, atest CarNavigationBarTest CarNavigationBarControllerTest
Change-Id: Ic9f40c0662ae4ab3195f71ecebe91ba5cf2a7b22
This is particularly useful for OEMs that want to ensure that OEMs can
override the touch behavior of the system bars without impacting the
notification panel touch behavior.
Bug: 150613278
Test: manual, atest CarNavigationBarViewTest
Change-Id: Icb5ae3388f4004b4f465e9a9e85e8d175bbe7d78