Commit Graph

1917 Commits

Author SHA1 Message Date
Aaron Heuckroth
184af56de9 Merge "Extract GlobalActionsLayout to an abstract class." 2019-01-17 15:31:38 +00:00
Aaron Heuckroth
f708d47e4b Extract GlobalActionsLayout to an abstract class.
Test: Automated tests pass.
Change-Id: I5898723737e8c4355ff2de2c6535f6c81df9136f
2019-01-16 13:45:57 -05:00
TreeHugger Robot
8eb6be8133 Merge "Fixes styles of App Ops dialog" 2019-01-15 18:44:13 +00:00
Mady Mellor
344731a8aa Merge "Closer to notification model & updates on bubbles" 2019-01-14 17:28:31 +00:00
TreeHugger Robot
5955be84ae Merge "Move battery % down in QS, fix a lot of things" 2019-01-12 02:00:25 +00:00
Fabian Kozynski
ba2197280f Fixes styles of App Ops dialog
* Changes color and size of "+" sign.
* Adds shadow to icons

Test: manual, layout inspector & HotDog overlay
Bug: 122472385
Change-Id: I116f5a62d7f182717b5d850e338f1fbe27c4feaa
2019-01-11 16:35:02 -05:00
Mady Mellor
3f2efdbf5d Closer to notification model & updates on bubbles
* Introduces BadgedImageView / BadgeRenderer for icon & badging
  -> These are both semi-temporary until I move things over to using
     icon library

* Introduces "shouldShowInShade" bit on NotificationData, this is used
  to indicate whether a bubble's notification should display in the
  shade or not
* BubbleController uses NotificationEntryListener to annotate notifs
  bubble state & add / update / remove bubbles
* Cleans up expansion / dismissing / visibility in BubbleController

General notif / dot / bubble behaviour:
* When a bubble is posted, the notification is also in the shade and
  the bubble displays a 'dot' a la notification dots on the launcher
* When the bubble is opened the dot goes away and the notif goes away
* When the notif is dismissed the dot will also go away
* If the bubble is dismissed with unseen notif, we keep the notif in shade

go/bubbles-notifs-manual has more detailed behavior / my manual tests

Bug: 111236845
Test: manual (go/bubbles-notifs-manual) and atest BubbleControllerTests
Change-Id: Ie30f1666f2fc1d094772b0dc352b798279ea72de
2019-01-11 12:53:32 -08:00
Evan Laird
a5a73c5a9e Move battery % down in QS, fix a lot of things
- Move the battery percentage next to the system icons in quick settings
- Always show the percentage, and optionally show the estimate text
based on battery settings
- Move the estimate text into the BatteryMeterView
- Move the fetching of the estimate off of the main thread

Test: visual
Change-Id: Ie37952079b2394c67464f69eb8a2f0089b08875d
Fixes: 119799219 - padding
Fixes: 120996084 - moving estimate fetch off main thread
Bug: 116481529
2019-01-11 15:20:37 -05:00
Wu Ahan
1153b78033 Merge "Enable AOD image wallpaper and apply aod mask view." 2019-01-11 08:21:59 +00:00
TreeHugger Robot
959468ca6e Merge "Remove SignalClusterView and signal_cluster_view" 2019-01-11 00:07:51 +00:00
Fabian Kozynski
959d407aa0 Merge "Sets clickability of QuickStatusBarHeader" 2019-01-10 19:58:30 +00:00
Evan Laird
e626cdac2e Remove SignalClusterView and signal_cluster_view
These are unused since P, when the icons all moved into the same icon
container and are all managed by StatusBarIconController

Also remove an unused class StatusBarIconContainer

Test: atest SystemUITests
Change-Id: I636449b51c009ccfaeebc559b1f7fb31487cc5fe
2019-01-10 13:44:04 -05:00
Fabian Kozynski
18464087a5 Merge "Changed style in Device Management Dialog" 2019-01-10 17:12:55 +00:00
Fabian Kozynski
9a15b7c5ae Sets clickability of QuickStatusBarHeader
Sets the clickability based on QS expansion. Then, when it's expanded,
it is not clickable as QSPanel captures clicks. The top status bar is
always clickable

Test: manual, including brightness slider
Change-Id: Id41473f823285f115240effbea7a2d52596b9bfe
Fixes: 120873445
2019-01-10 11:13:27 -05:00
TreeHugger Robot
ccfc793fe2 Merge "Enable ActivityView in bubbles" 2019-01-10 16:03:24 +00:00
Fabian Kozynski
217e435223 Merge "Battery Percentage uses same font as clock" 2019-01-10 14:04:11 +00:00
Fabian Kozynski
9ec687ac0f Battery Percentage uses same font as clock
Test: visual
Change-Id: I657a99204b9620bd1175a50c726cc81ee312d9d5
Fixes: 122504829
2019-01-09 16:44:05 -05:00
Fabian Kozynski
058155f2af Changed style in Device Management Dialog
Test: visual (VPN and forced subtitle)
Change-Id: Ia212b27c5890d700062397c4dc2d1acd316e7d5a
Fixes: 122374864
2019-01-09 16:25:58 -05:00
Mark Renouf
89b1a4af26 Enable ActivityView in bubbles
Test: manually
Bug: 111236845
Change-Id: I9ed749c2bfe0c883c85a32514f087785b9d63719
2019-01-09 16:17:00 -05:00
TreeHugger Robot
3b20f73b80 Merge "Revert "Sets views clickable according to their visibility"" 2019-01-09 18:22:35 +00:00
Fabian Kozynski
f3a770104b Revert "Sets views clickable according to their visibility"
This reverts commit 1c36a5c708.

Reason for revert: This CL added bugs b/122371174, b/122035663

Change-Id: Id7f68ecab60f47fbf481601c5dc6c12093d78cda
Fixes: 122371174
Fixes: 122035663
2019-01-09 15:37:30 +00:00
Ahan Wu
723a80e4fd Enable AOD image wallpaper and apply aod mask view.
1. Enables image wallpaper in AOD.
2. Enables a mask with 70% black scrim and vignette effects.
3. Add feature flag in developer options which is default disabled.

Bug: 111861907
Bug: 118470430
Test: Manually test the flow
Test: runtest systemui
Test: atest ImageWallpaperTransformerTest
Test: atest AodMaskViewTest

Change-Id: Iff2642d52264e88012f4759842a59aaf5bc45b38
2019-01-08 15:17:53 +08:00
Fabian Kozynski
0bdf01888f Merge "Sets views clickable according to their visibility" 2018-12-20 22:36:50 +00:00
Robert Snoeberger
6a0140ab95 Add container for big clock behind NSSL and KeyguardStatusView.
Bug: 120497585
Test: Added tests to KeyguardClockSwitchTest, pass locally.
Change-Id: Icc1199a67b9a4728e4d0f0b50ea98f5221de904d
2018-12-20 13:20:39 -05:00
Fabian Kozynski
1c36a5c708 Sets views clickable according to their visibility
Captures clicks on QuickStatusBarHeader so they don't go through and
collapse QS (broken in ag/4773943). This includes the black status bar
(therefore, it's independent of expansion).

Small targets in QSFooterImpl that were obscured were registering
clicks, as QSFooterImpl is VISIBLE even if its elements are not.

Test: Manual
Change-Id: Ie36096355c8a0e8417194ef0f123d5e7b95a7e95
Fixes: 120873445
Fixes: 120677657
2018-12-14 15:12:39 -05:00
Fabian Kozynski
d47ea36181 Set importantForAccessibility NO on QSDetail
Test: Manual (Talkback)
Change-Id: I0515290dc8073a131c5ee2921d9dd0d0a2c0bb61
Fixes: 120819343
2018-12-13 12:26:21 -05:00
Mady Mellor
dea7ecf04b Add a triangluar pointer to indicate the currently expanded bubble
Introduces BubbleExpandedViewContainer to wrap the currently expanded
view and render the triangle
   * This view should also handle rendering the header
   * ActivityView will live here too eventually maybe

Test: visual - enable bubbles, open a bubble, note the pointer
Bug: 111236845
Change-Id: I49569a0355eab29c9f1b6bb9abe1cd2d10b9b27b
2018-12-10 15:59:34 -08:00
Brad Stenning
8d1a51c4da Move car related code from SystemUI to CarSystemUI
Test: Emulator phone and Car
Change-Id: Ia64a23c1d3643899118e578b82c665c034af1c8e
2018-12-04 09:19:36 -08:00
Kevin Chyn
3d9b0fc963 Merge changes from topic "biometric-refactor"
* changes:
  3/n: For passive modalities, add plumbing for "try again"
  2/n: Multi-modal support for BiometricPrompt
  1/n: Move BiometricDialog management to BiometricService
2018-12-01 05:04:02 +00:00
Kevin Chyn
23289ef7b6 3/n: For passive modalities, add plumbing for "try again"
When "try again" is showing, authentication is canceled internally.
BiometricService caches the client's info so that authentication can
be restarted when "try again" is pressed. Because authentication
is not running when "try again" is showing, BiometricService also needs
to have a TaskStackListener so that BP can be dismissed and an error can
be sent to the client when the app loses focus.

IBiometricServiceReceiver has been split into two. One for BiometricPrompt
to receive messages from BiometricService, and another for BiometricService
to receive messages from SystemUI/<Biometric>Services.

When we get locked out, don't send the last onAuthenticationFailed
to the client, since "Authentication failed" will be shown briefly
and be replaced by "Device locked out" which is janky

Bug: 111461540

Test: Tested with requireConfirmation enabled/disabled
Test: Tested onConfigurationChange corner cases, e.g. when "try again"
      or "confirm" buttons are showing, rotate the device. Buttons
      persist correctly and don't appear when unexpected
Test: Tested task stack corner cases, e.g. when "try again" is showing,
      press home button. BP dismisses and client receives ERROR_CANCELED
Test: BiometricPromptDemo receives all callbacks

Change-Id: I62126708ce8db8b358c666a07aa7c39607642c9d
2018-11-30 11:34:35 -08:00
Gus Prevas
82ad059b13 Updates NotificationInfo layout/buttons.
This change modifies the UI displayed when the new interruption model is
enabled after long pressing a notification or tapping the settings icon
in the notification side menu.  The text links for blocking the channel,
toggling its importance, or canceling out of the dialog are replaced
with buttons with icons and clearer text descriptions.

Test: atest NotificationInfoTest
Bug: 116622974
Change-Id: I06ead5c4da77319df3ebe4c48d863dede37bf2f4
2018-11-30 11:30:51 -05:00
Fabian Kozynski
cc64dadb05 Merge "Adjusted margins of Ongoing App Ops Dialog" 2018-11-27 22:37:46 +00:00
Fabian Kozynski
bb68be0ccf Adjusted margins of Ongoing App Ops Dialog
Margins adjusted according to updated mocks

Test: Visual (show layout bounds)
Fixes: 120027803
Change-Id: I052a5711f41087427833b1b6341e8d09b808a531
2018-11-27 15:38:15 -05:00
Julia Reynolds
268647a748 Proxy notification improvements
- Fix a bug where the notifications weren't being posted
- Add attribution to the notification guts

Bug: 111452544
Test: atest
Change-Id: Id19e58cf66a62b179cb684783b264dad8a5371b0
2018-11-26 11:13:16 -05:00
Gustav Sennton
fa830752aa Merge "Add smart actions to message notifications." 2018-11-22 00:58:46 +00:00
Gustav Sennton
eab5368d4f Add smart actions to message notifications.
Smart Action look similar to Smart Replies with an icon next to the
button text.
Smart Actions can be added either by an app, or by the framework itself
(through NotificationAssistantService).
The idea is that Smart Actions are really actions relating to the
content in the notification message.

The priority order of smart replies vs. actions will be dealt with in a
follow-up CL (i.e. whether we should prioritize showing smart actions
over smart replies).

Example notifications:
System generated:
https://screenshot.googleplex.com/f6p8uOMygeT.png
App generated:
https://screenshot.googleplex.com/VR6On1eh4CW.png
2 app generated actions:
https://screenshot.googleplex.com/QuM5e792xhb.png

Bug: 111406942
Test: manual tests = add custom actions directly in sys ui and ensure
they're shown in message notifications.
Test: atest SystemUITests

Change-Id: I0ce959b74e89bcabc69b76c50c1877e70d6f06df
2018-11-21 15:35:43 +00:00
Fabian Kozynski
ef12449cf8 Version 2 of Ongoing Privacy Dialog
Minor changes to colors and layout of chip.

Redesign of dialog using new mocks.

Dialog launches Permission Hub

Test: visual & atest PrivacyDialogBuilderTest
Fixes: 117646163
Bug: 112331475

Change-Id: Ic8008f05fcb139c2581794abbb47c00819c20d7f
2018-11-16 09:16:25 -05:00
Fabian Kozynski
e0abce035f Change font in QS to Google Sans
Test: Visual
Change-Id: I911bdee9b72afe619b830ac762b7820804a45b1f
Bug: 117672345
2018-11-15 12:56:42 -05:00
TreeHugger Robot
b8bb293e72 Merge "Use display context to inflate navbar on external display" 2018-11-14 08:35:32 +00:00
Riddle Hsu
19607774dd Use display context to inflate navbar on external display
- Disable rotation suggestion button if the navbar is on
  non-default display because there is no accelerometer sensor.
- Avoid leakage by removing navbar fragment from fragment
  host when display is removed.

Bug: 117746225
Bug: 117744614
Test: atest SystemUITests
Test: manual - create a virtual display with system decoration.
      The navbar on the virtual display should not change when
      rotating or changing density of default display.
      And after releasing the display, use command "dumpsys
      activity service com.android.systemui/.SystemUIService |
      grep NavigationBarFragment" to check the number of instances.

Change-Id: Icdc8634628ace21395b7eb9d77c6b1067850d1b2
2018-11-14 15:04:44 +08:00
Kevin Chyn
d60f2b049c Merge "Add work background/color to BiometricPrompt for managed profiles" 2018-11-13 21:51:28 +00:00
Evan Laird
4bf21dffaa Add estimated time remaining text to QS
- Add an API to BatteryController to get an estimated time remaining
string.
- BatteryController will now check up to once per minute what the
estimated time will be and builds the string using PowerUtil.
- If the "show percentage" setting is on, the estimated time remaining
string (and battery icon) will show next to the system icons in QS
- Also make the battery percent in QS obey the setting

Test: visual
Bug: 116481529
Change-Id: Iaafa00127c8b8baae40956254a1237c8b7ac079b
2018-11-13 10:47:14 -05:00
Kevin Chyn
1b9f8dfb36 Add work background/color to BiometricPrompt for managed profiles
Bug: 117347671

Test: Followed steps in b/119296586#comment1
Test: Background/color changes properly when launching BP from
      managed / unmanaged profiles

Change-Id: Ia0368041540b65b41957d2adbcaa75c0739f62f1
2018-11-12 22:39:29 -08:00
Fabian Kozynski
8d06c71096 Separates logic from Chip. Chip is notch-aware.
Logic extracted from chip view into its own controller.
QuickStatusBarHeader is called when there are changes and sets the
visibility for the chip

Changed behavior when there is a top notch. When the chip is
visible and there's a notch the BatteryMeterView is set
to GONE.

Test: Visual & atest (PrivacyItemControllerTest)
Fixes: 119309613

Change-Id: Iab04a8da3f81e81bf6558d63650740b118809359
2018-11-12 16:02:54 -05:00
Gus Prevas
9abc50646f Adds silence toggle to notification settings.
This change modifies the UI that appears when a notification is
long-pressed to include a third option when the notification could
potentially buzz or make sound, allowing the user to promote or demote
the notification's channel such that it will not alert (or will start
alerting) for future notifications.

Test: atest SystemUITests
Bug: 116622974
Change-Id: Ia070d0ef1b181b4de8b3d49ace9ff2a65fed8deb
2018-11-09 13:19:11 -05:00
Kevin Chyn
bb26914777 Update margin / corners on BiometricDialog
Bug: 111461540

Test: BiometricPromptDemo with multiple orientations

Change-Id: Iaa6c58118662091045229491cee79fbb5a9093d2
2018-11-07 19:34:27 -08:00
Fabian Kozynski
1263824ae5 Dialog and chip for privacy showing
Creates a chip and a dialog to show the current apps using certain app
ops (location, microphone, camera).

Dimens are estimated. Settings button dismisses dialog for now.

Test: atest && visual
Bug: 117646163
Change-Id: Ida5b42acf331d6c9da06141379eadc0da5e72df2
2018-11-02 12:14:10 -04:00
Beth Thibodeau
5898ac47b2 Adding screen recording function.
Screen recording can be launched via long press on screenshot in
the global actions menu if the local feature flag is enabled.
Otherwise, long press on screenshot will also trigger a screenshot.

Demo videos: https://drive.google.com/open?id=1oJzfzJb8aGXSUqn4CZ_Yn7qWmJ2dvRd5

Test: manual
Change-Id: I373d38ad86291ff6f26f7dca3195001bd8f5ee16
Bug: 111395687
Bug: 118826991
2018-11-01 15:56:39 -04:00
TreeHugger Robot
8a57b4d4fa Merge "Revert "Proxy notification improvments"" 2018-11-01 01:21:23 +00:00
Daniel Sandler
d0a52b6013 Revert "Proxy notification improvments"
This reverts commit ac98aea2ed.

Reason for revert: b/118700922 (broken CTS test)

Bug: 118700922
Change-Id: I7d55365b3f64acd82e377dc973e2de5d654cc352
2018-10-31 20:14:02 +00:00