459 Commits

Author SHA1 Message Date
Jian-Yang Liu
962b460f1c Merge "Added boolean flag to allow showing notification on the bottom of the screen rather than on the top." into rvc-dev 2020-03-18 17:07:41 +00:00
Jian-Yang Liu
96d70f138e Merge "Updated CarSysUI proguard flags to include the HeadsUpNotificationAnimationHelper since those are used via reflection." into rvc-dev 2020-03-18 17:07:30 +00:00
JianYang Liu
96cf38e427 Added boolean flag to allow showing notification on the bottom of the
screen rather than on the top.

Bug: 146901563
Test: Manual
Change-Id: I493dd41190c487e00acd783fa02361afd3380188
2020-03-17 11:11:34 -07:00
John Li
4e3dddce35 Provide QSFactory
Bug: 145892579
Test: atest SystemUITests:CustomTileTest SystemUITests:QSTileHostTest
Change-Id: I3b676e6fc2ec3f3b779c13b7dc8214569cc427e5
Merged-In: I3b676e6fc2ec3f3b779c13b7dc8214569cc427e5
(cherry picked from commit 6fa10209d75388c8b635224b08adae6486f5f539)
2020-03-17 08:12:51 +00:00
JianYang Liu
d797b2a1fc Updated CarSysUI proguard flags to include the
HeadsUpNotificationAnimationHelper since those are used via reflection.

Bug: 146901563
Test: Manual
Change-Id: Icdbf9cc2da2be1ae9188a2c398fbb823c08c53e0
2020-03-16 14:38:19 -07:00
JianYang Liu
4fbd981ab0 Fixed navigation bar to show itself after creating a new user through
keyguard ui.

When going through keyguard ui, the provisioned navigation bar is
hidden. When we then create a new user, we switch to using the
unprovisioned navigation bar, so we don't reset the state for the
provisioned navigation bar.

Bug: 150318502
Test: Manual
Change-Id: Ie7cbdba2449f44714f1970b309363e8ea6e4771c
2020-03-16 10:54:55 -07:00
TreeHugger Robot
3604fffbff Merge "Create interface for NotifInterruptStateProvider" into rvc-dev 2020-03-11 23:08:53 +00:00
Beverly Tai
d1e175c407 Create interface for NotifInterruptStateProvider
Take #2
Original CL disabled HUNs because NotificationAlertingManager was
removed from the StatusBar constructor (but never injected elsewhere;
therefore it was never instantiated).

bcb499478af43fa6bd7626da45f5ba937e8abf2e

Test: atest SystemUITests
Bug: 151050224
Bug: 150797570
Change-Id: I601d58bfff4422bd0c52e56ebdb4192ce9a8f880
2020-03-11 21:11:18 +00:00
Lucas Dupin
538209843b Merge "Add interfaces for reverse to BatteryController" into rvc-dev 2020-03-10 17:13:33 +00:00
TreeHugger Robot
ab3f32b346 Merge "Revert "Create interface for NotifInterruptStateProvider"" into rvc-dev 2020-03-09 20:25:28 +00:00
Beverly Tai
bcb499478a Revert "Create interface for NotifInterruptStateProvider"
Revert "Move HUNs and pulsing to interrupt package"

Revert submission 10548462-hun_interrupt_package
Fixes: b/151050224

Reason for revert: broke HUNs
Reverted Changes:
I5ad5546d6:Move HUNs and pulsing to interrupt package
I13be75809:Create interface for NotifInterruptStateProvider

Change-Id: I421a7906a87236fb18fc3d434d654fb18c35e6a2
2020-03-09 16:17:53 +00:00
John Li
8360e4e380 Add interfaces for reverse to BatteryController
Bug: 146984142
Test: manual
Change-Id: Ie8f6c0aedb89069a9b33719834e767df179acdef
Merged-In: Ie8f6c0aedb89069a9b33719834e767df179acdef
(cherry picked from commit 733162cc1607f0f6c346dc98879bd1cae6567f76)
2020-03-09 07:57:29 +00:00
TreeHugger Robot
bea69abe17 Merge "Fix instances of ContentObserver#onChange in SystemUI" into rvc-dev 2020-03-07 01:04:08 +00:00
TreeHugger Robot
9283fb54a7 Merge "Updated Fullscreen user switcher to not use fitsSystemWindows." into rvc-dev 2020-03-07 00:14:04 +00:00
TreeHugger Robot
07c394926f Merge "DO NOT MERGE Move Heads Up Notifications to their own window" into rvc-dev 2020-03-06 23:48:19 +00:00
Fabian Kozynski
caf76d25e3 Fix instances of ContentObserver#onChange in SystemUI
Fix instances due to change in signature.

Test: atest SystemUITests
Test: atest TileServiceTest BooleanTileServiceTest
Bug: 150939131
Change-Id: Ie5903231eb7dd22553803c6a65994ef3dc957708
2020-03-06 18:10:03 -05:00
JianYang Liu
05649fcf17 Updated Fullscreen user switcher to not use fitsSystemWindows.
fitsSystemWindows="true" has default behavior of setting padding of the
view to ensure contents don't overlay system windows. In the case of the
fullscreen user switcher, we don't need this behavior.

Bug: 150302361
Test: Manual (set lockscreen, restart, click "Cancel")
Change-Id: Ifc597c2b96862abc3283d6af1a0c2765431c71af
2020-03-06 14:04:37 -08:00
TreeHugger Robot
91d9afcb98 Merge "Create interface for NotifInterruptStateProvider" into rvc-dev 2020-03-06 21:45:54 +00:00
Eric Berglund
89edc87971 DO NOT MERGE Move Heads Up Notifications to their own window
Bug: 146901166
Test: manual, unit test
Change-Id: I064cdf9cf2a8dd6844ec0daccdac909a85f6f73e
2020-03-06 13:19:35 -08:00
Youngjun Kwak
91b4f26c5b Merge "DO NOT MERGE Create KeyguardViewController that extracts view-related logic in KeyguardViewMediator and re-wire Dagger accordingly." into rvc-dev 2020-03-06 20:55:29 +00:00
Beverly
e73aea2e48 Create interface for NotifInterruptStateProvider
- Remove calls to Dependency.get(NotificationInterruptStateProvider)
- Fix style errors in touched kt files
- Remove some unused injects
- Adjust Car components to match new interface

Bug: 150797570
Test: atest SystemUITests
Change-Id: I13be75809831656bf7eaf136f18aaa8b9b6225d2
2020-03-06 13:49:18 -05:00
kwaky
198b5dc318 DO NOT MERGE Create KeyguardViewController that extracts view-related logic in KeyguardViewMediator and re-wire Dagger accordingly.
Prior to this change, KeyguardViewMediator used StatusBarKeyguardViewManager for making view-related changes.
This meant that KeyguardViewMediator could only be used with a specific Keyguard view that is mounted to the StatusBar.
This change makes KeyguardViewMediator compatible with any Keyguard view no matter where it is mounted, as long as it implements
the methods defined in the KeyguardViewController interface.

For AAOS, This refactorization allows us to implements our own Keyguard View and its Manager as the next step.

Bug: 150467593
Test: Build and Manual Test -- Android builds successfully on Hawk and Pixel 2 and interacting with Keyguard functionalities works.

Change-Id: Idda93514eac030f1d92523aebc9444a4d55b21d2
2020-03-05 16:03:51 -08:00
Abhijoy Saha
84590ea25a Use abstractions to allow FullscreenUserSwitcher take advantage of SystemUIOverlayWindow.
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
2020-03-05 14:39:59 -08:00
kwaky
371e62126a Apply the selection state that reflects the current task stack upon restarting the Navigation Bar.
Previously, while restarting the Navigation Bar, we omitted the step where we
apply the selection state that reflects the current task stack.

This omission caused CarFacetButtons to lose their selection state on
certain events.

Bug: 148211695
Test: Unit Test
Change-Id: Icfa845b87ca7456d3765602b3daacd589a94f309
2020-03-04 15:18:41 -08:00
Dave Mankoff
a40c4b47ef Merge changes from topic "b150393918-lock-icon-controller" into rvc-dev
* changes:
  Move SB.StateListener from LockIcon to Controller.
  Remove the OnUserInfoChangedListener implementation from LockIcon.
  Pass LockscreenIconController around instead of LockIcon.
2020-03-04 15:54:37 +00:00
Dave Mankoff
c0d9a7d889 Pass LockscreenIconController around instead of LockIcon.
This also makes KeyguardIndicationController properly injectable, and
moves some of the LockIcon touch-handling that was happening inside
of it into the LockscreenIconController.

To make KeyguardIndicationController injectable, a new
WakeLock.Builder was added that can be injected and used to create
new WakeLocks as needed.

Bug: 150393918
Test: atest SystemUITests && manual
Change-Id: I3ad871164a822c0c63c0e32da777beb287144a35
2020-03-03 20:52:06 -05:00
Babak Bostan
a860012413 Add toast message when bluetooth connects to voice recognition.
Bug: 143531081
Test: Manual
Change-Id: I342a1e5eefc59d25a8bea1c0fe72b8669bfdbe84
(cherry picked from commit d0555bba57fc8b2510a458cf07757e0db07e3aa6)
2020-03-03 12:14:28 -08:00
Hayden Gomes
574bb77823 Merge "Adding system usages to car volume settings" into rvc-dev 2020-03-02 18:09:34 +00:00
Hayden Gomes
e1000392e7 Adding system usages to car volume settings
(Cherry-picked from 353ef627803f7b9e5417c7c07659edadf4e8846c)

Bug: 144872669
Test: Build, manually play around with volume settings
Change-Id: Ia5589689e5c37be3898ac1edb2df00b84280cb7d
Merged-In: Ia5589689e5c37be3898ac1edb2df00b84280cb7d
2020-02-28 12:37:33 -08:00
Heemin Seog
dfb1fe98af Merge "Generalize AutoHideController to be shared" into rvc-dev 2020-02-28 16:55:28 +00:00
Heemin Seog
e67cefea27 Generalize AutoHideController to be shared
Bug: 147427386
Test: atest SystemUITests for sdk_gphone_x86 and atest
CarNavigationBarControllerTest HvacControllerTest for hawk-userdebug

Change-Id: I9d0ee8135c1a53abaeb64f4b7b2aebd9208c0160
2020-02-26 16:54:14 -08:00
Dave Mankoff
3c6aaab6c4 Make PhoneStatusBarPolicy injectable.
Add DateFormatUtil that makes DateFormat methods non-static,
(is24HourFormat specifically).

PhoneStatusBarPolicy no longer needs a context.

Bug: 147505562
Test: atest SystemUITests
Change-Id: I7b272441971f5a74f2736cd545498b8b4077fca6
2020-02-25 15:46:28 -05:00
Abhijoy Saha
ec95199f43 Have volume UI dismiss on home button press.
Register a receiver that listens for Intent.ACTION_CLOSE_SYSTEM_DIALOGS
and dismisses the volume UI when such an intent is received.

Bug: 149228466
Test: Manual
Change-Id: Iabb706b1d4cc54cb84f228aad95bfdb7e6f75851
2020-02-19 13:48:58 -08:00
TreeHugger Robot
65ac963706 Merge "Move SBTouchableRegion out of HeadsUpManagerPhone" 2020-02-18 22:16:39 +00:00
Beverly
95a0802acb Move SBTouchableRegion out of HeadsUpManagerPhone
Move the StatusBarTouchableRegionManager to StatusBar where it will be
recreated whenever new views are created (instead of within
HeadsUpManager)

Test: atest SystemUITests
Change-Id: I802ec8ea122a2cede234ec7536f1177f7b261fd0
2020-02-18 14:49:33 -05:00
TreeHugger Robot
f5737faff9 Merge "Remove final call to Dep.get(FalsingManager.class)" 2020-02-18 16:38:44 +00:00
Dave Mankoff
c43a9482b5 Merge "Provide PipManager through injection." 2020-02-18 16:14:53 +00:00
Sergey Nikolaienkov
5cb6e52e81 Introduce BubbleModule and KeyguardModule
This CL is the 4th in the series of CLs which intend to "unbind" StatusBar on TV.
In order to make StatusBar really optional and thus to allow us to unbind it, we also need to make some of the classes that depends on it optional as well. For all these cases we need to move from @Inject-annotated contructors to @Provides annotated methods. For this we are introducing BubbleModule and KeyguardModule.

Change-Id: I57009153e2279078ac88c42a53d3963a96eb8452
Test: make SystemUI; atest SystemUITests
Bug: 146188087
2020-02-14 07:16:34 +01:00
Sergey Nikolaienkov
3d84cb4a45 Introduce StatusBarModule
This CL is the 3rd in the series of CLs which intend to "unbind" StatusBar on TV.
In order to make StatusBar really optional and thus to allow us to unbind it, we also need to make some of the classes that depends on it optional as well. For all these cases we need to move from @Inject-annotated contructors to @Provides annotated methods. For this we are introducing StatusBarModule, as well as StatusBarPhoneDependenciesModule and StatusBarDependenciesModule - these two provide dependecies needed to build StatusBar, but not the StatusBar itself

Change-Id: Ie3551bda7056465159f2c7fde4989e009f277304
Test: make SystemUI; atest SystemUITests
Bug: 146188087
2020-02-14 07:16:34 +01:00
Sergey Nikolaienkov
6f157bd670 Introduce StatusBarPhoneModule
This CL is the 2nd in the series of CLs which intend to "unbind" StatusBar on TV.
In order to make StatusBar really optional and thus to allow us to unbind it, we also need to make some of the classes that depends on it optional as well. For all these cases we need to move from @Inject-annotated contructors to @Provides annotated methods. For this we are introducing StatusBarNotificationModule.

Change-Id: Id56f970d21323f49e859715b6874f5cd773aa62a
Test: make SystemUI; atest SystemUITests
Bug: 146188087
2020-02-14 07:16:34 +01:00
Sergey Nikolaienkov
f6ad63293a Expand NotificationsModule
This CL is the 1st in the series of CLs which intend to "unbind" StatusBar on TV.
In order to make StatusBar really optional and thus to allow us to unbind it, we also need to make some of the classes that depends on it optional as well. For all these cases we need to move from @Inject-annotated contructors to @Provides annotated methods. For this we are expanding NotificationsModule.

Change-Id: Icccafd2170f2fdffb8412370056aab7042ffd580
Test: make SystemUI; make CarSystemUI; atest SystemUITests
Bug: 146188087
2020-02-14 07:16:34 +01:00
Dave Mankoff
30a66e364f Remove final call to Dep.get(FalsingManager.class)
CarStatusBar had one last reference in its dump method.
FalsingManager, however, directly registers itself with the
DumpController, so this call is redundant.

Bug: 136279712
Test: atest SystemUITests
Change-Id: I3731e7ecac2f147e5d3967d4219f22d17e810843
2020-02-12 13:59:12 -05:00
Dave Mankoff
f50191441a Provide PipManager through injection.
Adds a controller for PipControlsView so that depdencies can be provided
via injection.

Adds a TvPipComponent to allow injection of PIP related views into related
classes.

Bug: 146660939
Test: atest SystemUITests
Change-Id: Ic1a8f8f0f8e5506f354bb1f07b179db1d7e89577
2020-02-12 11:12:02 -05:00
Ned Burns
46597ba6c0 Remove subclasses of NotificationEntryManager
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
2020-02-03 01:06:55 -05:00
Heemin Seog
a2968105b2 Merge "Move test mapping to cover whole Car Sysui" 2020-01-27 22:54:15 +00:00
Heemin Seog
5b5b028e7d Move test mapping to cover whole Car Sysui
Bug: 148395487
Test: none
Change-Id: I9e0dd732c478ed301e20afc1c453ab839b100bb3
2020-01-27 11:58:37 -08:00
Bernardo Rufino
6408cbc906 Add ToastUI to CarSystemUIBinder
This was lacking from ag/10097974.

Bug: 148388531
Test: HomeHelperTest is included in TEST_MAPPING
Change-Id: I73e9d9bbf6499e4d0c3dc7654118e52f6b3a2950
2020-01-27 18:48:03 +00:00
Bernardo Rufino
ab338ac42c Move text toast creation to system UI
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
2020-01-27 11:13:27 +00:00
Jian-Yang Liu
acf1345d01 Merge "Fixed CarStatusBar to use Car's implementation of navigation bar." 2020-01-23 20:16:21 +00:00
Tiger Huang
527244459c Window Manager Flag Migration (12/n)
- Unhide new APIs
- MaxInsets -> InsetsIgnoringVisibility
- Deprecate SystemUI flags
- Deprecate some other stuff

Bug: 118118435
Test: Build, CTS coming soon
Change-Id: I0a0cbdb48258b3779d536668b59e8c88f3c96d18
Exempt-From-Owner-Approval: Trivial rename
2020-01-23 14:11:39 +01:00