Commit Graph

371 Commits

Author SHA1 Message Date
Hongming Jin
e0ab6b1aa1 Add a boot time service in sysUI to register system actions with accessibility
registration API.

Bug:136286274
Test: manual test with talkback
Change-Id: I0fcccc1f2e6377dec97efdf7b226e6f2d18f7eb9
2020-01-23 11:05:33 -08:00
Jian-Yang Liu
452f8d67a1 Merge "Updated StatusBarIconController and StatusBarSignalPolicy to check icon blacklist from config value, config_statusBarIconBlacklist." 2020-01-17 18:20:54 +00:00
JianYang Liu
e8df04cc11 Updated StatusBarIconController and StatusBarSignalPolicy to check icon
blacklist from config value, config_statusBarIconBlacklist.

Bug: 118675475
Test: Manual
Change-Id: I44dd1d007d3f7b9b435eceb273ecf333aef7cef4
2020-01-16 18:47:06 +00:00
Beth Thibodeau
77c2545dd9 Add screen recording QS tile
Currently defaults to no taps, no audio. This adds a 3s countdown before
actually launching the recording, which can be stopped from either the
notification or the tile.

Bug: 137153302
Test: manual
Change-Id: I0e194dc8d43d8834e07e1f6d8de90a2c703a4c3a
2020-01-10 15:05:49 -05:00
chaviw
4ce1ddff79 Added WindowMagnification for Accessibility in System UI
Added support for window magnification as an accessibility feature. The
UI can either be dragged to a new a location or arrow controls can move
the window around.

Test: adb shell settings put secure window_magnification 1
Bug: 136250281
Change-Id: If3098df098f2a1b88b2170e773dccc8f86946abf
2019-12-16 13:49:53 -08:00
Fabian Kozynski
fc94a3523c Merge "Remove all Privacy chip classes." 2019-12-04 16:34:58 +00:00
Robert Horvath
022be6f3ed Merge "Move InattentiveSleepWarningController callbacks to PowerUI" 2019-11-27 08:15:00 +00: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
Christine Franks
2e28a9aff2 Update QS tiles in retail demo mode
Bug: 140823330
Test: manual
Change-Id: I5a22f41cbb9557716a5bb9c74706116e9f046b95
2019-11-19 22:46:59 +00:00
Robert Horvath
121e025664 Move InattentiveSleepWarningController callbacks to PowerUI
The inattentive sleep warnings are related to the power state of the
deivce, and by keeping the inattentive sleep warning callbacks inside
PowerUI, we reduce the number of components that have to be configured
across the different SystemUI packages.

Bug: 137633812
Test: adb shell settings put secure attentive_timeout 32000
      Check overlay appears

Change-Id: I7896c395a26eb5bdd67bb3ab48fc590beef8cec3
2019-11-19 14:59:15 +01: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
Dave Mankoff
bcaca8a6cd Remove all calls to getComponent(CommandQueue.class).
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
2019-11-01 14:59:11 -04:00
Fabian Kozynski
4ca00016c5 Use an external GlobalActionsPanelPlugin if available
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
2019-10-30 14:40:41 -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
bb9575f5b5 Move StatusBar to constructor injection.
Bug: 141882822
Test: atest SystemUITests
Change-Id: I385ccd8e96b3e131b095db5adfca93389905d030
2019-10-03 22:55:35 -04:00
Evan Laird
25f0275db4 Add a third notification section
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
2019-09-16 16:25:42 -04:00
Kevin Chyn
b63ff32f53 Merge changes from topic "biometric-ui-refactor"
* 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
2019-09-03 17:49:46 +00:00
Hyunyoung Song
8f9d34cb5f [DO NOT MERGE] qt-qpr1-sysui-dev @ build 5814791
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
2019-09-01 00:31:47 -07:00
Kevin Chyn
f8688a0a1e 4/n: Rename files to make more sense
Also flatten the directory, there isn't much point in having a sub package
right now.

Bug: 123378871
Test: atest com.android.systemui.biometrics

Change-Id: I598f1909f6e6940d73da37921d9b5cd2c02f4331
2019-08-30 18:41:41 -07:00
Lucas Dupin
f40bd8fbb6 Assume sensors perform prox check
Assume that doze sensors will be prox gated.
Not doing so would be a bad idea anyway since the device would wake
up way more often than it should and drain battery.

Another improvement on this CL is that regular DozeSensors prox
checks are trying to use a binned brightness sensor instead.

Fixes: 138765669
Test: atest DozeSensorsTest DozeTriggersTest
Test: single tap from AOD (observe no re-registration of lift)
Test: 'reach' from AOD (observe no re-registration of lift)
Test: receive notification with prox covered or unobstructed
Change-Id: I1961ff9b16480ba1a60c397570494dd7acb4802d
2019-08-08 14:52:53 -07:00
Lucas Dupin
e25c487141 Switch preffered display mode on lock screen
To save power, now it's possible to specify a preferred refresh rate for
the lock screen. It's -1 by default, and should be configured on a
device overlay whenever required.

Test: manual
Test: atest StatusBarWindowControllerTest
Fixes: 138303350
Change-Id: I4d1ca210b50d32d937b0fea2fcb9e28a7c50c0b3
2019-07-30 09:47:18 -07:00
Lucas Dupin
d534c1235c Reduce duration of AOD headsup
Test: manual
Fixes: 134649305
Change-Id: If8b49e2b3905c463eeab7bb66568b98f708448e2
2019-07-17 11:09:03 -07:00
Miranda Kephart
3d92c138d5 Merge "Allow path specification for rounded corners" into qt-r1-dev 2019-07-09 19:35:29 +00:00
Miranda Kephart
5393915d75 Allow path specification for rounded corners
Parses a path string and uses that for the corner paths.

Bug: 136182248,136270071
Test: manual

Change-Id: Ic34bee5f63959f65af6b2d2afb917ff4282f1d5b
2019-07-03 15:04:05 -04:00
Zhen Zhang
788232785d Merge "Change quick setting min_num_tiles number and text to resources value." into qt-dev
am: bc058faaa3

Change-Id: I329be5dee77d6f45b4bd5314971655df52525294
2019-07-02 11:21:48 -07:00
Selim Cinek
a0aa088c9f Merge changes I089fa8ff,I8db745c1,I6fa83189 into qt-r1-dev
* changes:
  Showing heads up for music when bypassing
  Not rendering background when bypassing
  Made sure the lock icon is invisible while hunned
2019-06-29 23:11:43 +00:00
Selim Cinek
e3c6e46e95 Showing heads up for music when bypassing
Users where missing the music controls so
we are showing a headsup for them on the
lockscreen.

Fixes: 	134543453
Change-Id: I089fa8ff35b918f485f79e09393173f05971a73e
2019-06-28 19:14:55 -07:00
Lucas Dupin
fac2e8e328 Do not unregister lift when prox is covered
The lift sensor won't receive all the data that it needs otherwise.

Test: atest DozeParametersTest
Test: lift while prox is covered
Test: lift while prox is covered, uncovering before end of gesture
Test: lift while prox is not covered
Fixes: 134685251
Change-Id: I0938baba6ccaaf04c40fe30b3f4f59293179dc2a
2019-06-28 11:24:21 -07:00
Lucas Dupin
e90feadd88 Shortened and adjustable screen timeouts
- Display flickering timeout slightly shortened
- Lock screen timeout now can be configured in config_lockScreenDisplayTimeout

Test: pressing power and waiting for timeout on LS
Test: pressing power and waiting for timeout on bouncer
Bug: 134781705
Change-Id: Idd96514b01c719ad6df7cd4674af9b78b626e0e4
2019-06-12 16:27:17 -07:00
Zhen Zhang
ea2d2267be Change quick setting min_num_tiles number and text to resources value.
Bug: 130030850
Test: manually test by removing quick setting tile until we have 6. The
system will stop them at 6 and showing message "You need at least 6
tiles".

Change-Id: If2a4a42a4d3859908a2b529e2faae214fe6cebb6
(cherry picked from commit ad0a6fdbb1)
2019-06-12 16:09:45 +00:00
Selim Cinek
c3fec68900 Removed the AmbientPulseManager
We only want a single pulse manager since notifications
need to dynamically switch from pulsing to heads up
in the future.

Bug: 130327302
Change-Id: I0cbf23a69f33850776df81c4616932409670fe67
2019-06-11 13:58:02 -07:00
Lucas Dupin
1b883b4858 Move bypass default value to framework
It also needs to be read from Settings

Bug: 130327302
Test: make
Test: toggle setting on Settings app
Change-Id: I46b7e61764e4bc9a07110e4b0b25deb7bc0b88f1
2019-05-28 19:48:21 -07:00
TreeHugger Robot
7692d97543 Merge "Move config for inflateSignalStrength" into qt-dev 2019-05-28 21:54:12 +00:00
Antony Sargent
c026de3dbf Move config for inflateSignalStrength
This moves the config files for determining the inflateSignalStrength
boolean into frameworks/base/core/res, and adds a utility method in
SettingsLib for retrieving it. This is needed so we can display
per-subscription signal strength icons in the DSDS header on the
Settings Network & internet page that match what SysUI shows.

Bug: 128855095
Test: manual, existing tests should pass
Change-Id: I57032f022439b2de3f7bf57757b2a49dc7eccfe1
2019-05-28 09:31:19 -07:00
Tracy Zhou
24fd028ea4 Refactor how we show rotation button in fully gestural mode.
Fixes: 132201048
Test: manual
Change-Id: I56d04dfabb4db741cd5dce72f01439c777d668c5
2019-05-27 06:07:13 +00:00
Tracy Zhou
b617827fe6 Merge "Move rotation button closer to the edge of the screen." into qt-dev 2019-05-06 18:28:28 +00:00
Tracy Zhou
9564138ad8 Move rotation button closer to the edge of the screen.
Will take care of ripple color in the next change. Right now the ripple is more on the subtle side and doesn't show when the background is dark.

Test: manual
Bug: 131706959
Change-Id: Ie8a9943f17323a8ae9f6f25d69f022091196e451
2019-05-03 03:56:14 +00:00
TreeHugger Robot
2c09b3be23 Merge "Add icon packs for themepicker." into qt-dev 2019-05-02 18:52:25 +00:00
Tracy Zhou
efc346677b Add rotate suggestion button to gestural nav.
Fixes: 128942468
Test: 1. In fully gestural mode, rotation/back button is moved to the
bottom left corner and keyboard button is moved to the bottom right.
When the keyboard is up, rotation button does not show. The rotation
button in this setting has an oval background that matches the home
handle color.
2. In 2-button and 3-button mode, the rotation button stays the same.
Screenshot: https://screenshot.googleplex.com/or2GbOzmZTX

Change-Id: I32f2f11d33bf6881a67770679db2118917d2123b
2019-04-30 02:10:45 +00:00
Amin Shaikh
0974b88769 Add icon packs for themepicker.
- Add 3 icon packs targetting the themepicker package
- Add support in systemui to enable packages in that category

Fixes: 130788873
Test: make; switch themes
Change-Id: I414c882410fc92c6320785ddf858bdf95f37053e
2019-04-29 15:11:39 -04:00
TreeHugger Robot
8daf5927ff Merge "Block clicks on smart actions and replies just after creation/update." into qt-dev 2019-04-20 22:15:21 +00:00
Lucas Dupin
4fc7153e65 Move dark theme tile to the right
Test: visual
Bug: 130253100
Change-Id: I833fbd13624b93c5b2318b19a30a270941d9bcae
2019-04-18 09:21:15 -07:00
Gustav Sennton
8a52dc3af4 Block clicks on smart actions and replies just after creation/update.
To avoid accidental clicks on smart actions and replies we here block
clicks on those buttons just after they are created. We block clicks
on those buttons when a notification is updated - but only if the
buttons are new, or different from previous buttons shown in the
notification. I.e. if the notification is updated but the smart
suggestion buttons stay the same we don't block clicks on them.

Bug: 128683184
Test: manually ensure clicks are blocked within the initialization
delay (for new / changed buttons), and ensure the delay changes
when calling
adb shell device_config put systemui ssin_onclick_init_delay X
where X is the delay in ms.
Test: SmartReplyConstantsTest, SmartReplyViewTest
Change-Id: I9a44eb6ade6579a42e35b36cce4bd5863332c60e
2019-04-18 15:31:32 +01:00
Lucas Dupin
046282eabd Dark Theme QS tile
Creates Dark Theme tile and adds it to the default config,
under the fold.

Test: manually toggle tile
Fixes: 130253100
Change-Id: I2859d2eb20db1c6d9dd8e8e24979294316b905bb
2019-04-11 09:58:11 -07:00
Amin Shaikh
fd6402ed45 Create ThemeOverlayController in SystemUI.
This service runs as user 0 and applies the current users' theme
customization overlay settings to user 0, associated work profiles, and
user 0 for packages that affect systemui

Bug: 126238021
Bug: 124426955
Test: unit tests; switch to secondary user and guest user and change overlays
Change-Id: I35dd9113eab1b1c1cfc81f0b38aa04900fa740dd
2019-04-04 10:49:24 +00:00
Matthew Ng
f03c3a6398 Ime in gestural mode will have ime switcher and down arrow
When in gestural mode, the navigation bar will inset the ime window
higher to raise up revealing the original height of the navigation bar.
In place will be the (alt) back button (pointing down), the handle and
ime switcher (if should be shown).

Fixes: 128928130
Bug: 113952590
Bug: 112934365
Test: manual
Change-Id: I28cc4def846cb09eb2d7ab00d12561f0c198dbbc
2019-04-04 06:39:26 +00:00
Michael Groover
c9ae45de98 Merge "Remove 'Sensors Off' tile as it is now a developer QS tile" 2019-04-03 20:54:17 +00:00
Michael Groover
ccd8466e12 Remove 'Sensors Off' tile as it is now a developer QS tile
Bug: 122615235
Test: Verified the 'Sensors Off' tile was not displayed
Change-Id: Ie2bf305f3e8f9d77162b4dd88097dc77533336ba
2019-04-02 22:40:04 +00:00
TreeHugger Robot
a71607b7f0 Merge "Changed navigation handle to be longer and removed assistant handle" 2019-03-14 18:20:29 +00:00
Matthew Ng
cdaf56bcdc Changed navigation handle to be longer and removed assistant handle
Bug: 112934365
Test: manual
Change-Id: I502fb8cee4f8e6108fd61a709b273677b0afd3de
2019-03-13 13:54:01 -07:00