- If the content is able to bubble, the bubble option will show in
the menu
- If that notif is able to bubble (either via bubble metadata or via
notification contents), then show the menu
- Adds tests for the bubble menu option, also tests selection for alert
and silence buttons; removes unused test code
Test: atest NotificationInfoTest NotificationGutsManagerTest
Test: manual - post a bubble with bubbles test app, longpress on notif
and demote it via menu => bubble is gone
- long press on notif and promote it via menu => bubble is
created
Bug: 138116133
Bug: 143173197
Change-Id: I2f2767ec12c49e5d3a8d2a7b86db5457d062275c
The European Commision prescribes an auto-standby feature for TV panels:
After some hours of inactivity, the device has to go from on-mode to
standby-mode or off-mode, or another condition not exceeding the
applicable requirements for standby-mode or for off-mode.
After a long time of no user activity the device should go to sleep,
even if wakelocks are held (eg. during video playback).
Test: 1. Set attentive timeout low, to 35s:
`adb shell settings put secure attentive_timeout 35000`
2. Play a YouTube video
3. Observe warning dialog appearing after 5s
4. Verify: Clicking a remote button or changing the setting higher hides
the warning. Remote button press is consumed.
5. Verify: After 35s of not pressing a button the device goes to sleep
6. Verify: If "Stay awake" developer option is enabled, then
warning is not displayed and device does not go to sleep after 35s
7. Verify: No warning or sleep if setting is set to -1
Test: `atest frameworks/base/services/tests/servicestests/src/com/android/server/power/PowerManagerServiceTest.java`
Bug: 137633812
Change-Id: I551b6cffc336437fb1c5a00b4102f68ae0e003e9
Makes AuthController, GlobalActionsComponent, InstantAppNotifier,
SizeCompatModeActivityController, and TvStatusBar all injectable.
Prior to this CL, CommandQueue contained within it a SystemUI object
that it used to start itself up and add itself to components. With
this change, the SystemUI object is no longer necessary, as Dagger
will ensure that a CommandQueue is available to those who need it.
Bug: 143702229
Test: atest SystemUITests
Change-Id: I2763a6d918b41fe27a2370fdd820da476654e14f
* The tinting logic isn't good for developers, this change removes that
logic and respsects whatever icon they provide, HOWEVER, if it is not
adaptive it gets put on an adapative shape, consistent with launcher
* Updates the dot colour to be based on colour sample from the app icon
bitmap rather than the notification colour, consistent with launcher
* Updates Notification documentation to reflect changes
Test: manual with Bubbles test app (options for all the icon types)
Bug: 138943209
Change-Id: I8abfcef9ac1dcdd9f74643e84ef40a97385b744b
If there is any plugin that implements GlobalActionsPanelPlugin
with package name as defined in the config,
SystemUI will use that instead of the wallet plugin.
Test: manual
Change-Id: I63db81287ef40f085d5b542fe01eff29adeb1477
Use 'adb shell settings put system npv_plugin_flag X' to
enable/disable media player as well as NPV
Test: visual
Change-Id: I0d889300b4b08c2d89ab75983e77ec3ba739783e
Enabled reuse for better support/easier flow for user.
adb shell settings put system npv_plugin_flag 3
Test: visual
Change-Id: I9e3e2b02e60bf732ab6e6c1f184b4bdfcf368934
This allows for plugins to add additional "people notification"
detection logic, useful for prototyping against apps which do
not post MessagingStyle notifications.
Test: manual
Change-Id: I8b7b824beed50dfb86689f41ff151b3014737ffb
This adds a mini player in the QQS, and media carousel in QS
Incorporates the WIP layout changes from ag/9415169
To enable: adb shell settings put system qs_media_player 1
then toggle dark mode, or adb shell stop && adb shell start
Known issues with color overlays not updating until you press a button,
and old sessions do not get automatically removed from the carousel.
Test: manual
Change-Id: Iaeda470a920cb115c28ec98f04d74f255e1d5a12
When the people section of the shade is enabled, an additional entry
will appear at the bottom of the section that contains shortcuts to
recent conversations that have appeared as notifications.
Test: manual
Change-Id: Iac94cabe3dd4233510ddc50b3a1923ed42c552e0
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
This CL implements a (somewhat hacky) way to enable HTML attributes in
the mobile data type content description strings. This way we can use
some basic styling in the Quick Settings cellular data tile which uses
it in a TextView.
We do this by assuming that the content description is valid, escaped
HTML, and send two separate CharSequences to all of the listeners, all
of which can then decide if they need the regular content description or
the prettified version.
Test: atest SystemUITests; system ui demo mode
Bug: 141177147
Change-Id: Idf387111b0cdc34ad3762eac0ec6c2b484b393e3
Merged-In: Idf387111b0cdc34ad3762eac0ec6c2b484b393e3
This CL implements a (somewhat hacky) way to enable HTML attributes in
the mobile data type content description strings. This way we can use
some basic styling in the Quick Settings cellular data tile which uses
it in a TextView.
We do this by assuming that the content description is valid, escaped
HTML, and send two separate CharSequences to all of the listeners, all
of which can then decide if they need the regular content description or
the prettified version.
Test: atest SystemUITests; system ui demo mode
Bug: 141177147
Change-Id: Idf387111b0cdc34ad3762eac0ec6c2b484b393e3
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