Must edit the QS area to add the new Controls tile and have set:
adb shell settings put system qs_controls_tile_enabled 1
Test: visual
Change-Id: I7359d394d6d0a5eb408de7049bf0b3051c83e361
This moves most of the logic out of the view and into
StatusBarWindowViewController. It is not beautiful, but
it is cleaner than before.
This removes the final call to Dependency.get(FalsingManager.class).
This also fixes a small, old bug in
StatusBarWindowView.onInterceptTouchEvent where the results
of calling hte super method were being unintentionally ingored.
(This bug would have been introduced nearly seven years ago.)
Bug: 141751146,136279712
Test: atest SystemUITests
Change-Id: I5e09c1c0f2a3098db1a47837ddce3d382099f483
* changes:
Animate panel to transparent if profile is managed
17/n: Show credential UI if setDeviceCredentialAllowed(true) and no biometrics
16/n: Add PIN/Password
15/n: Allow Auth UI to start in credential UI
14/n: Animate to device credential UI when lockout occurs
13/n: persist device credential across configuration changes
12/n: Add LockPatternView for setDeviceCredentialAllowed(true)
11/n: Animate panel to full-screen when "Use Password" is pressed
Removing old confirm device credential logic
Bug: 140127687
Make AuthCredentialView abstract, and have the following subclasses
1) AuthCredentialPatternView
2) AuthCredentialPasswordView
Back button cancels password authentication
Test: manual test with pattern, pin, password
Test: atest com.android.systemui.biometrics
Change-Id: I95e42144616a59827da25d10d063990452714f76
1) AuthContainerView can be started in either `biometric` or `credential`
views. This is to potentially support an API where only credential
is allowed/requested.
2) When onSaveState, AuthContainerView saves both the states of
`biometric` and `credential` visibility. In the case of configuration
change, AuthController is responsibile for checking the visibility
and creating a AuthContainerView with the correct initial view.
3) When AuthCredentialView is the initial view, it owns the panel
expansion.
4) Added landscape layout
Bug: 140127687
Test: atest com.android.systemui.biometrics
Test: BiometricPromptDemo, use pattern, rotate device. auth, cancel,
demo logs are correct.
Change-Id: I1f501cf13b924353f251a69757fdb9d7e0bf1d21
Includes lock icon, title, subtitle, description, lock pattern view.
Corner radius and padding animates nicely from !=0 --> 0.
Support for password/pin will come in a subsequent CL.
Unit tests for AuthCredentialView will be added when
password/pin are implemented.
Support for persisting across configuration changes
and landscape view will also be added in a subsequent
change.
Test: BiometricPromptDemo with the following:
1) Confirm pattern, callback received
2) Rejected, error string shown
3) Lockout (5 attempts), countdown string shown,
pattern view disabled until countdown is over
4) Cancel pattern auth, callback received
Test: atest BiometricServiceTest
Test: atest com.android.systemui.biometrics
Change-Id: Idc01e33be0074a6c8a43f60b172a4391bfbe5e8a
To support, adding members to UsbDevice to mark devices as having audio
playback and audio capture capabilities.
Bug: 136080195
Test: Run "UsbAccess" test bed. Connect audio and non-audio USB devices
and see the additional prompt shown/not-shown.
Change-Id: Ie7c614d9ed30a163c350b18a54b8a9115698779d
When flashlight is disabled, specify that it's because the camera is in
use.
Fixes: 138872957
Test: manual
Change-Id: I40836d8a51fca625d2a4391ba6a7315dd9d895eb
Implementing a piece of SystemUI (TvStatusBar) for notifying users when
audio recording is conducted by applications (other than Assistant,
which is the only exception for now).
Bug: 134942150
Change-Id: I57b50816e9b4379c22e4281568ef990d96fd2498
Test: build, flash, run any app that records audio
Set the offset to the size of the QS area and add margin after that to
visually separate the QS and NPVPlugin areas
Test: visual
Change-Id: I9dc676eef0a49f1648723cdd91043b839c880ee5
To improve the performance of display cutouts, we need to first move the
assist handles out of ScreenDecorations so that we can remove the layer
of ScreenDecorations later.
Bug: 140781914
Test: atest ScreenDecorationsTest, atest AssistHandleBehaviorControllerTest
Change-Id: I7c7cf8e0590d92aa32758c2983fc49387d18f7ad
Also, move the padding to the icon so it's not dependent on an optional
view.
Bug: 123378871
Test: Do not set subtitle/description. Dialog layout looks normal now.
Change-Id: Ia6ae768660442aeaadeb09aa7117780b8a97d56f
A bunch of things, but they are (mostly) hidden behind a flag:
- Made the NotificationEntry#bucket concept more generic
- Added logic to NotificationData to set a bucket int on each entry
- Flag config_usePeopleFiltering in systemui.config turns on new behavior
- Reduced the number of hacks in NotificationData to 1. Now it sets the
buckets n the entries only once post-sort
- NotificationEntry has a basic check for "people"
- NSSL delegates to NotificationData/NotificationSectionsManager for
creating sections
- NotificationSectionsManager can now manage any number of sections
The basic gist of this change is to enable and partially implement a
"people" notification section. In order to do that, we have to do a
little bit of cleanup to make NotificationSections more generic, then
find a way to differentiate "people" notifications.
To generify the sections logic, this change furthers the concept of
notification "buckets". A bucket is entirely a concept shared between
NotificationData and NotificationEntry, but with the intention that each
bucket will get its own section. Once a set of buckets is decided upon,
NSSL tells NotificationSectionsManager to create the necessary sections.
NSSL also will need to ask the sections manager to check the entire list
of view in the panel for section boundaries, since they can be anywhere
and there can be any number of them.
The people filtering is currently straightforward. NotifiationEntry
checks for EXTRA_PEOPLE_LIST or EXTRA_MESSAGES and checks for people
information on a notification. If it exists, then that entry gets sorted
to the top and will get its own bucket set (if the setting is on).
Test: visual
Bug: 140232781
Change-Id: I7fa5c4d7509f2ca5f485216f2de0160c91802235
There's duplication and the persistent field is already on quick
settings, it's also taking up space and confusing users, since
it's too close to where we put error messages.
Fixes: 140939386
Fixes: 139966195
Fixes: 140053632
Test: visual
Change-Id: I06100e0e44db03e4998885ecfa0ffa301d1f5c65
Builds on ag/9335278 to show "..." below tiles that support direct to
detail view on touch.
Test: manual
Change-Id: I1c192656505bac228a3935f0aa498c37a468d973
* changes:
9/n: Add work profile background, enable new dialog by default
8/n: Ensure accessibility works on new implementation
7/n: Gracefully handle configuration change during animations
6/n: Add fingerprint support to the refactored UI
Protoype for modifying color of tiles. Provides 2 modes:
qs_color_enabled: allows changing background of tiles
qs_color_icon: allows changing color of icon (only use with
qs_color_enabled)
Enable using:
adb shell settings put system <name> <value>
where name is one of (qs_color_enabled|qs_color_icon) and value is (0|1)
With qs_color_enabled, color of individual tiles can be changed using
adb shell settings put system qs_color_enabled/<spec> <color>
where spec is as defined in QSFactoryImpl and color is one of
(red|green|blue|yellow|accent).
Test: manual
Change-Id: I66096cfa5cb8570074b1547ca3e41bd0888973fa
Only generate missing sim text if there are no CarrierName present AND
no sims READY. This was an issue when airplane mode with WFC.
Also, replace using mCarrierGroups[0] for its text when the sims are
missing. Instead use a different view that is made visible when all the
QSCarrierGroups should be invisible.
Test: manual, using APM
Test: atest
Fixes: 139556559
Change-Id: I9d83b0eb2a21b786d50c243903bf32b6e761dc77
* changes:
4/n: Rename files to make more sense
3/n: Tapping outside of the dialog should cancel authentication
2/n: Start plumbing authentication signals to the UI
1/n: Refactor BiometricPrompt UI hierarchy
Test: presubmit setup on source branch
Bug: 130289146 Create a Gradle build for SystemUI
Bug: 136279712 Daggerize FalsingManager
Bug: 137324767 "Unable to instantiate service com.android.systemui.doze.DozeService" exception breaks launcher tests
Bug: 137563419 Remove Bouncer reveal delay from bypass flow
Bug: 138787339 Allow Services and Activities to be injected into directly.
Bug: 139128921 [AS 3.5 RC2, SDK API 29 rev 2] Overload resolution ambiguity: while removing element from HashMap
Bug: 64712476 Import translations for dev branches
Change-Id: Ib7fd4706c070907fd556c3532957f3b1b046de6d