Before this CL we would calculate the size of smart action icons by
inflating a new button (to make sure the icon wouldn't make the button
larger than necessary). With this CL we instead use a fixed size for the
icon.
Bug: 119858891
Test: Turn on Smart Actions in cinek@'s Notify app to ensure the icons
have the same size as before this CL.
Change-Id: I596ae3c314770663d9987f80216f368d1eb0007c
* 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
When the current device is a hearing aids, display the name under the
tile.
Bug: 117423826
Test: Manual testing on phone with hearing aids connected
Change-Id: I98cfda7905763a3da3dbc1fbed13fee881da7bb2
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
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
- Fix a bug where the notifications weren't being posted
- Add attribution to the notification guts
Bug: 111452544
Test: atest
Change-Id: Id19e58cf66a62b179cb684783b264dad8a5371b0
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
It wasn't used anymore. Additionally are we also removing the
drag animation events that were originally created for the shadow
alpha animations.
Test: runtest systemui
Change-Id: Ia5cbf7ecb2728fc1298c1b22f3f37bac6b531803
Fixes: 119791828
* changes:
Update scrim controller to bubble state when bubbles are expanded
Introduce scrim state for bubbles
Update PIP dismiss to work a little better for bubbles
Make status bar full screen when bubbles are present
Auto bubble some notifications (behind debug flag)
Introduce bubble controller & friends
* BubbleController manages adding / removing / state of the bubbles,
this is what other things should use to check what the state is.
* BubbleStackView renders the stack and deals with expanding / collapsing
and any view stuff
* BubbleView creates the circular bubble representation and holds the
notification entry for the bubble. BubbleStackView manages the
BubbleViews.
* BubbleTouchHandler is where all the touch logic is, BubbleStackView
uses and so do BubbleViews if you're dragging out a BubbleView from the
stack to dismiss
* Adding bubbles to the screen and dismissing them are not included in
this CL, there are later CLs including this logic
Test: manual / working on proper ones
Bug: 111236845
Change-Id: I07ae1202cc7019fcd7e00151ad3ca4a48e2e1350
These are temporary flags that let our UX team test various
interaction patterns. This CL will be reverted once we decide
how to move forward.
Bug: 111405682
Test: manual with setprop
Change-Id: I9235e1e56b0e355c32e808beb32ebd21538ca89d
This change adds buttons as needed to the menu on the right side of a
notification to block the notification's channel and to toggle the
channel's priority.
Bug: 116622974
Test: atest NotificationMenuRowTest
Change-Id: I8179f4893bb86496ee4da718824a263e736ee5a6
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
Adds PrivacyItemController to PhoneStatusBarPolicy so that we can show
microphone and camera privacy icons in the status bar.
Test: open camera to show the camera icon
Test: open a recording app to show microphone
Bug: 112331475
Change-Id: Ia14f838d715a2808db595c9da3be236d36cc6589
- 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
- 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
Bug: 117347671
Test: Followed steps in b/119296586#comment1
Test: Background/color changes properly when launching BP from
managed / unmanaged profiles
Change-Id: Ia0368041540b65b41957d2adbcaa75c0739f62f1
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
This change adds a gap between notifications of IMPORTANCE_DEFAULT or
higher and all other notificaitons. The position of the gap is
recalculated from NotificationPanelView.updateNotificationViews() and
the various components which handle the rounded corners of the
notification shade (NotificationRoundnessManager, the shelf, and the
drawBackground() method in NotificationStackScrollLayout) are updated to
handle rounding the corners on either side of the gap.
Change-Id: Ib8d875d4b82184c9c4d363669606261030a467c8
Bug: 116622974
Test: atest SystemUITests
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