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
Make navigation button use ?android:attr/selectableItemBackground as
background, and remove unused style CarNavigationBarButtonTheme.
Bug: 155681517
Test: manual
Change-Id: I637e7a49bb68145c5c36cf1b0363113437b88212
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
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
Resolve some duplicates and make user switcher background black.
Also clean up a few more QS resources
Bug: 154357193
Test: manual
Change-Id: Ibb8c7f54b59dd564a47955d3ff0c1e7e00ba697c
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
This change includes the following:
* Rename SystemUIPrimaryWindow to SystemUIOverlayWindow
* Create Mediator and View controller abstractions that allows
developers to easily take advantage of SystemUIOverlayWindow that is
managed by a single SystemUI Object: SystemUIOverlayWindowManager.
* Convert FullscreenUserSwitcher to take advantage of the newly added
abstractions.
Bug: 147826738
Test: Manual
Change-Id: I19825da81f8d1b1259a2ba115e0238a9ffa69e37
Merged-In: I19825da81f8d1b1259a2ba115e0238a9ffa69e37
(Cherry-picked from 353ef62780)
Bug: 144872669
Test: Build, manually play around with volume settings
Change-Id: Ia5589689e5c37be3898ac1edb2df00b84280cb7d
Merged-In: Ia5589689e5c37be3898ac1edb2df00b84280cb7d
First, moves most of the notification initialization logic out of
StatusBar and into NotificationController.
There is only one subclass of NotificationEntryManager in this project:
- CarNotificationEntryManager: stub implementation that disables most
functionality.
Removes CarNotificationEntryManager. Adds a config boolean to disable
notification rendering instead. Skips most notif initialization logic if
this flag is false.
Change-Id: I23ed86efa209f43314c162dcf32fe97112de7bc7
Test: atest, manual
In order to do that, NotificationManager now calls
StatusBar.showToast(), which is in SystemUI. StatusBar then calls a new
component, ToastUI, which is responsible for rendering the toast. The
code for rendering the toast was extracted from the Toast class, so it
should behave identically.
Also refactored the code a bit on NotificationManagerService, creating
two children of ToastRecord (one for custom, other for text toasts).
The change is gated in Toast class in this CL, but it's also gated on
the system server, so apps can't circumvent the background block.
Bug: 128611929
Bug: 144754526
Test: atest android.widget.cts.ToastTest
Merged-In: Id0021cdc6f72f41b55ff1c5a4f09ae7687586460
Change-Id: Id0021cdc6f72f41b55ff1c5a4f09ae7687586460
Feature was never used in production and we felt the experience was not
the right one. So remove support for it to reduce maintenance burden
and potential for buggy code.
Fixes: 144382004
Test: Boot and see no crashes
Test: Add lock to user and show UserPicker. Run adb command to put car
into drive, wait 30 seconds and see no changes.
adb shell dumpsys activity service com.android.car inject-vhal-event 0x11400400 8
adb shell dumpsys activity service com.android.car inject-vhal-event 0x11600207 30
Change-Id: I257df02a8f669899c7a49df12815b302ec5965bb
Makes AuthController, GlobalActionsComponent, InstantAppNotifier,
SizeCompatModeActivityController, and TvStatusBar all injectable.
Prior to this CL, CommandQueue contained within it a SystemUI object
that it used to start itself up and add itself to components. With
this change, the SystemUI object is no longer necessary, as Dagger
will ensure that a CommandQueue is available to those who need it.
Bug: 143702229
Test: atest SystemUITests
Change-Id: I2763a6d918b41fe27a2370fdd820da476654e14f
to be configurable.
Bug: 143372960
Test: manual - took before and after videos
Merged-In: Ia0b6a56859889d538e21f807a88bc5217d89e64a
Change-Id: Ia0b6a56859889d538e21f807a88bc5217d89e64a
Move the logic related to navigation bar out of CarStatusBar into
StatusBar.
Note that some navigation bar logic related to notifications and
keyguard needs to stay in StatusBar for now. Will be refactored out in
separate CLs.
Bug: 142787842
Test: manual
Change-Id: Ie6bc5bccbc30aa53ea15e3f2ce19fd793bd6b38a