2229 Commits

Author SHA1 Message Date
Sergey Nikolaienkov
5b514ee61c Update AudioRecordingIndicator appearance
Updating AudioRecordingIndicator in accordance with UX mocks

Change-Id: I8701c27d13779e8cfc9538588a0bc72d5fae006e
Bug: 142228704
Test: make, run audio recording app
2019-12-10 11:17:58 +01:00
Aran Ink
aa4dfa7991 Create a long-press menu for sending screenshots to bubbles.
Test: Manual. Enable the long-press bubble menu with "adb shell settings set secure allow_bubble_menu 1". Then, long-press on a bubble to show a menu and tap the screenshot button to send a screenshot to the selected bubble. This won't work when the bubble is expanded.
Change-Id: I35380a8a4775e568699cf4527c6071bf932eb715
2019-12-06 17:26:57 -05:00
Mady Mellor
b8aaf97e04 Move BubbleView methods into BadgedImageView; remove BubbleView
* Removed BubbleView
* Moved the icon / badge logic into BubbleIconFactory
* Moved everything else into BadgedImageView

* Introduced dot states in BadgedImageView which hopefully makes that
  easier to read
* Altered Bubble#setShowDot to also animate the dot visibility
* Altered BubbleFlyoutView to be able to animate the dot away for
  DND scenario

Test: atest SystemUITests (existing bubble tests pass)
Bug: 144719337
Bug: 145245204 (fixes the bit where tapping on bubble in expanded state
                doesn't animate the dot away but jump cuts instead)
Change-Id: I8cebf3e7f93db1920ede95eb6f7392560270767f
2019-12-04 17:04:05 -08:00
Fabian Kozynski
fc94a3523c Merge "Remove all Privacy chip classes." 2019-12-04 16:34:58 +00:00
Fabian Kozynski
4f0606364a Merge "Replace QSDetail Switch with ViewStub" 2019-12-04 15:38:12 +00:00
Fabian Kozynski
51ac26d87d Merge "QS Talkback bug fixes" 2019-12-04 15:37:39 +00:00
Beth Thibodeau
fd51bb2d5c Handle destroyed sessions and fix color issues
When a media session is destroyed,
- Replace buttons with a single "restart" button that attempts to
restart the app (using media key event if we found a receiver for it, or the
session activity if not)
- For the carousel, give user the option to remove the card on long-press

Also fixes color issues when transitioning between tracks

Fixes: 143235163
Fixes: 144033638
Test: manual
Change-Id: Ie859aeb2fabfb1fc3eecf12fc1c19bb4cfa792d3
2019-12-04 00:28:11 +00:00
Fabian Kozynski
6f5e82d9fc QS Talkback bug fixes
Fixes a couple of Talkback bugs in QSCustomizer:
* List scrolling
* Focusing on correct element when "move" is selected.
* No reading "double tap and hold for long press".

Also, Dark Mode tile made a switch

Fixes: 145259342
Fixes: 145257223
Test: manual using TB
Change-Id: I782dad4e1a411972c40e37abc31eabb3fd1f8ea2
2019-12-03 13:13:22 -05:00
Fabian Kozynski
8a86795422 Replace QSDetail Switch with ViewStub
Most of the time this switch is not needed. In particular right now, no
view is using it so make it lazy.

Bug: 133504338
Test: layout inspector
Test: reenable details and see that Switch appears and works
Change-Id: I4cc338a7bff7f8508c37be3a86798ae1d661aa9b
2019-12-03 15:29:54 +00:00
Austin Wang
25fc3fd49f Remove keyguard_indication_area_overlay
The overlay was introduced for SysUIGoogle to customize two icons on
docking UI besides charging text, and is no longer needed.

Fixes: 145250100
Test: atest SystemUITests:KeyguardBottomAreaTest
Test: atest SystemUIGoogleTests:DockIndicationControllerTest
Change-Id: If836fe97c3e394cc98f1a05270bd0023e5b57bed
2019-11-27 06:08:43 +00:00
Miranda Kephart
d4edbdcb14 Merge "Add action chips to corner screenshot flow" 2019-11-26 20:36:17 +00:00
Miranda Kephart
0148b28e4f Add action chips to corner screenshot flow
In the corner screenshot flow, add a LinearLayout with action chips
(share/edit/scroll) that pops up once the actions are available.

Note that the 'scroll' button currently does nothing.

Bug: 144918886
Test: manual; tested that 'edit' and 'share' chips open the
appropriate apps and make the screenshot disappear; tested that
current notification flow is unchanged.

Change-Id: I6952b76aa3bb479c49b1905275d5fcdc0eeaf2df
2019-11-26 13:48:28 -05:00
Fabian Kozynski
228e310d19 Remove all Privacy chip classes.
Test: atest SystemUITests
Test: atest HistoricalAppopsTest
Test: adb shell device_config privacy permissions_hub_enabled true
Fixes: 144801684
Change-Id: I9c79ac6ac75b0197af0bfb6595b99a458916b761
2019-11-25 15:38:38 -05:00
TreeHugger Robot
daa5ac49ac Merge "Make taps on the row toggle switches" 2019-11-22 18:26:37 +00:00
Robert Horvath
993e82eec7 Merge "Add setting to go to sleep after long user inactivity" 2019-11-15 15:05:15 +00:00
Mady Mellor
53162c13a3 Add Bubble as an option in NotificationInfo longpress menu
- 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
2019-11-11 16:29:37 -08:00
Robert Horvath
5560f38654 Add setting to go to sleep after long user inactivity
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
2019-11-08 15:18:28 +01:00
Matt Pietal
5a19cb6115 Home Controls: Consolidate flags for QS media player/NPV
Use 'adb shell settings put system npv_plugin_flag X' to
enable/disable media player as well as NPV

Test: visual
Change-Id: I0d889300b4b08c2d89ab75983e77ec3ba739783e
2019-10-30 12:33:33 -04:00
Matt Pietal
8d4a635cc3 Reuse NPVPlugin for QS Controls Tile
Enabled reuse for better support/easier flow for user.

adb shell settings put system npv_plugin_flag 3

Test: visual
Change-Id: I9e3e2b02e60bf732ab6e6c1f184b4bdfcf368934
2019-10-24 13:33:32 -04:00
TreeHugger Robot
f1f26c2cad Merge "Plugin interface for PeopleHub" 2019-10-23 16:30:20 +00:00
Steve Elliott
984cfec745 Plugin interface for PeopleHub
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
2019-10-23 11:23:59 -04:00
Beth Thibodeau
07d20c3243 Add QS media player options
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
2019-10-22 10:47:30 -04:00
Steve Elliott
58adc21f3c Add PeopleHub to the notification shade
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
2019-10-18 17:14:27 -04:00
Matt Pietal
b6da00e69a Home Controls: Add a new Controls tile for prototyping
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
2019-10-16 11:18:49 -04:00
Dave Mankoff
0cf8dfce9b Create controller for StatusBarWindowView.
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
2019-10-07 11:05:40 -04:00
Kevin Chyn
8110ebb57c 16/n: Add PIN/Password
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
2019-10-04 13:13:12 -07:00
Kevin Chyn
8cbb488b9a 13/n: persist device credential across configuration changes
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
2019-10-03 14:00:16 -07:00
Kevin Chyn
ff168dc49d 12/n: Add LockPatternView for setDeviceCredentialAllowed(true)
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
2019-10-03 14:00:16 -07:00
Sergey Nikolaienkov
976722f373 Merge "Add audio recording disclosure plate on TV" 2019-10-01 13:38:32 +00:00
Evan Laird
1c4b21071c Make taps on the row toggle switches
Test: manual; systemUI tests
Fixes: 138948956
Change-Id: I6a654ce959871e7286bc45b50b4e9a9499f8e401
2019-09-30 13:32:09 -04:00
Fabian Kozynski
71428f7944 Merge "Fix size and gravity of carrier text" 2019-09-30 15:02:31 +00:00
Sergey Nikolaienkov
c7a95ac67f Add audio recording disclosure plate on TV
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
2019-09-30 14:41:55 +02:00
Fabian Kozynski
082aaf91c4 Fix size and gravity of carrier text
Test: manual
Fixes: 141654596
Change-Id: If5a4d794c6316149e752a94f7eed83a10d15b3b8
2019-09-27 08:59:24 -04:00
Matt Pietal
d43e133a08 Use proper margins for NPV plugin and set the offset
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
2019-09-26 11:11:06 -04:00
shawnlin
87af538d38 Move assist handles from ScreenDecorations to navigation bar
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
2019-09-24 21:35:03 +08:00
Kevin Chyn
62db716f7f Merge "Take optional fields into consideration when measuring" 2019-09-19 00:27:03 +00:00
Kevin Chyn
c2ea8f264f Take optional fields into consideration when measuring
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
2019-09-18 11:47:36 -07:00
Kevin Chyn
4266d333eb Merge "Remove lingering resources from old BiometricPrompt" 2019-09-17 16:35:27 +00:00
Kevin Chyn
d6aae0f528 Remove lingering resources from old BiometricPrompt
Bug: 123378871

Test: Builds
Change-Id: Ib9ec339110c166619310371a269a4295aabd1d09
2019-09-16 18:34:48 -07:00
Lucas Dupin
5ef1f82919 Merge "Remove enterprise disclosure from lock screen" 2019-09-16 15:52:04 +00:00
Lucas Dupin
f955a2fe90 Remove enterprise disclosure from lock screen
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
2019-09-12 22:49:11 +00:00
Matt Pietal
b3e8cbd2a6 QS - Prototype visual affordance for detail panels
Builds on ag/9335278 to show "..." below tiles that support direct to
detail view on touch.

Test: manual
Change-Id: I1c192656505bac228a3935f0aa498c37a468d973
2019-09-12 12:09:31 -04:00
Fabian Kozynski
053c2ebeaa Merge "Fix incorrect text when on Airplane Mode" 2019-09-12 12:59:25 +00:00
Kevin Chyn
e9744e406e 8/n: Ensure accessibility works on new implementation
Bug: 123378871
Test: manual test with talkback enabled

Change-Id: I7f4da76ef7ebcbb74f1984b2859b85aa72e8d946
2019-09-11 15:54:09 -07:00
Kevin Chyn
889de4c680 6/n: Add fingerprint support to the refactored UI
Bug: 123378871

Test: atest com.android.systemui.biometrics
Test: manual test of fingerprint auth

Change-Id: Iac308557d5715c2450a2486d84a5a8292e4d3e42
2019-09-11 11:17:38 -07:00
Fabian Kozynski
0f49f207c6 Fix incorrect text when on Airplane Mode
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
2019-09-10 17:00:34 +00:00
Fabian Kozynski
ab2c31a31f Merge "Adding a Plugin to attach things under QQS" 2019-09-06 13:05:32 +00:00
Kevin Chyn
90df5c81ac Merge "5/n: Restore biometric dialog state across configuration changes" 2019-09-06 02:41:10 +00:00
Kevin Chyn
9cf899162e 5/n: Restore biometric dialog state across configuration changes
Bug: 123378871

Test: manual test, rotating device during various stages of
      authentication
Test: atest com.android.systemui.biometrics

Change-Id: I4130f79975f58e5141c9d69e2689680ceaa419ed
2019-09-05 17:48:40 -07:00
Fabian Kozynski
3bf518dd98 Adding a Plugin to attach things under QQS
This plugin responds to expansion and changes in theme, ui, etc.

Test: manual

Change-Id: I5d866a4fff491aa6273edfb765e538864b270534
2019-09-05 12:26:13 -04:00