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
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
- 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 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
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
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
This change removes the hardcoded colors from the biometric dialog
layout, and recreates the dialogs in response to a configuration change.
Change-Id: I20459781570a6d223464b6cbf8ca516994710b3e
Fixes: 117504007
Test: manually
- Fix a bug where the notifications weren't being posted
- Add attribution to the notification guts
Bug: 111452544
Test: atest
Change-Id: I58d104fe0ad8450a4722585335011ea633fee52a
- Move all legacy recents code out of the core sysui code
- Add separate target for products which still depend on it
- Move overview proxy implementation into another implementation of the
recents interface
Test: atest SystemUITests
Test: Push SystemUiWithLegacyRecents to the system image
adb shell pm disable com.google.android.apps.nexuslauncher/com.android.quickstep.TouchInteractionService
and ensure that the old recents implementation still works (and split
screen)
Change-Id: Iad67218ec37c13c79b6393d87f6bdc4f3996e2c6
Signed-off-by: Winson Chung <winsonc@google.com>
The title of heads-up notification was shown incompletely
because it's covered by operator name.
To fix this issue, the operator name should be hidden
when a heads-up notification is shown.
Fixes: b/116533819
Test: atest SystemUITests
Test: manual - enable config_showOperatorNameInStatusBar
and show a heads-up notification
Change-Id: Id3318cd7cb2c9b6950392fadd11d02ab873d84c5
Clipping of PagedTileLayout is done independent of padding so no
measurement corrections are needed. Padding in TilePage fixed so
the pages are centered (they use all the width).
FrameLayout in qs_paged_tile_layout removed as not used.
Change-Id: If8cd95855ebcddf533e87b9203c4ee3d831bdf2c
Test: atest && visual
Fixes: 117452733
Bug: 117401270
Bug: 117096186
This change adds plumbing from <Biometric>Service to SystemUI for requiring
user confirmation (or not). This change also fixes some layout bugs
that were hard to notice.
Bug: 111461540
Fixes: 113130114
Fixes: 116135579
Test: With confirmation, crypto operation does not work until token
is added to Keystore
Test: Without confirmation, crypto operation works when biometric is
authenticated
Test: BiometricPromptDemo works, UI elements are all correct
Test: Talkback messages are correct
Change-Id: I2c05577699a29c09777cae4db6c7334c1e6bc179
PagedTileLayout respects MeasureSpec mode for height to decide on how many
rows to show. TilePage and PagedTileLayout only show as many rows as
they can up to the height of the screen. TileLayout can calculate the
maximum number of rows given a height limit.
Fixes: 113082314
Test: Visual, atest
Change-Id: I2860d71c9aeb2a8ac62fcdbc71a3041a91605bcb
Updates the height of the transparent view that overlays the status bar
when the QS Customizer panel is expanded whenever the configuration
changes.
Change-Id: Ic0dd4d07f8149ac8434495d2d0c5373329e034a6
Fixes: 115999397
Test: Visual & atest
Reverted ag/4731597 since it was causing issue and instead hides the
menu container when none of its children are visible.
Change-Id: Ie48ef32f8a66392796cb0330faed6dff499bc1b1
Fixes: 114099654
Test: tap around the right edge
In StatusBar, there are no spaces between Operator name and Clock,
so leaving spaces to improve design.
Bug: 114133664
Test: Manual, enable operator name in status row
config_showOperatorNameInStatusBar, insert sim card with operator name,
watch status row.
Change-Id: I1a2e33436ed50d429ae4b1769d0a72d501233a22
Race condition caused by setting the container to INVISIBLE regardless
of new status.
Change-Id: I28b2d8bf5ae6587ac8aa5ab807e835a7fd2a97f9
Fixes: 111137359
Test: Visual and runtest
The NearestTouchFrame spanned the entire nav bar that took any tap to
hit the nearest button such as the back button. Reducing it prevents
taps from the edge of the nav bar. Related: ag/4179853
Change-Id: I25a73cc995ed8d479ca9d5da85ec8a7cb629769d
Fixes: 112298917
Test: tap the left side of the nav bar
(cherry picked from commit 9e90f24dc5)
Created new style with same parameters as before but using
placeholder for Google Sans.
Fixes: 79166531
Test: Manual
Change-Id: I12cc34c4fa8e0eeb4e94dafe64f0d6664c8d0da0