Commit Graph

211 Commits

Author SHA1 Message Date
Heemin Seog
e9f4e96c0a Move dozing related methods out of ShadeController
isDozing is already provided by StatusBarStateController.
wakeUpIfDozing doesn't need to be in ShadeController and can stay in
StatusBar for now (potentially move into a dozing related controller in
the future?)

Bug: 144702768
Test: manual, atest SystemUITests
Change-Id: I8f7d6a452388308de5fdd1adfbcd200fd3076a2f
2019-12-09 12:32:28 -08:00
Andy Wickham
202970155d Adds NavigationEdgeBackPlugin to iterate on different Back implementations.
NavigationBarEdgePanel now implements the new plugin. As part of that,
some of the UI-specific logic from EdgeBackGestureHandler has been
moved to NavigationBarEdgePanel (e.g. Dark region detector and logic
around the arrow position).

Test: Built and manually tested existing back behavior.
Fixes: 143907351
Change-Id: I0e01581d6b69e6a8a03a4338be83ed5ff8b2da65
2019-11-15 13:19:15 -08:00
Beverly
8cf4996fdf Set a good example - don't export ExamplePlugin
Plugins should never be exported because this would allow other
packages installed on the device to attempt to launch it via
Context#startService which can crash SystemUI.

By default, if a service has an intent-filter, exported is set to true.
Therefore, we must explicitly set exported=false.

Test: n/a
Bug: 142012333
Change-Id: Iaf4191ee3006cc07eb0309f068854c103683e99d
2019-10-30 20:39:16 +00:00
Steve Elliott
bfc57f36d8 Finer-grain control of people sorting via plugin
This change allows for NotificationPersonExtractorPlugin implementors
to mark notifications as "people" (to be sorted into the People
bucket) separately from extracting data from them for PeopleHub.

Test: manual
Change-Id: Ieb8a9aeea06bbfe70976ebf46274567347e695d7
2019-10-24 15:35:32 -04: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
Jorim Jaggi
956ca413e3 Window Manager Flag Migration (4/n)
Wire up the appearance and the transient state of system bars between
WMS and System UI. The derived classes of CommandQueue.Callbacks no
longer listen to setSystemUiVisibility, but listen to showTransient,
abortTransient, and onSystemBarAppearanceChanged instead.

Bug: 118118435
Test: atest InsetsSourceProviderTest InsetsStateControllerTest
            InsetsPolicyTest WindowStateTests CommandQueueTest
            RegisterStatusBarResultTest InsetsFlagsTest
            LightBarControllerTest
Test: build on specific target
Change-Id: Ie35f4b4468bce7ef8c76f091e306610c069fba85
2019-10-19 16:59:06 +08:00
Ioannis Ilkos
5a5678d244 Merge "Revert "Window Manager Flag Migration (4/n)"" 2019-10-17 09:49:58 +00:00
Ioannis Ilkos
8cca14103c Revert "Window Manager Flag Migration (4/n)"
This reverts commit cb1b848084.

Reason for revert: Droidcop-triggered revert due to b/142849532

Change-Id: If81eba4e979e21202e78839bb1afbc66691098d2
2019-10-17 09:38:00 +00:00
TreeHugger Robot
0be9fec5c1 Merge "Window Manager Flag Migration (4/n)" 2019-10-17 05:46:19 +00:00
Jorim Jaggi
cb1b848084 Window Manager Flag Migration (4/n)
Wire up the appearance and the transient state of system bars between
WMS and System UI. The derived classes of CommandQueue.Callbacks no
longer listen to setSystemUiVisibility, but listen to showTransient,
abortTransient, and onSystemBarAppearanceChanged instead.

Bug: 118118435
Test: atest InsetsSourceProviderTest InsetsStateControllerTest
            InsetsPolicyTest WindowStateTests CommandQueueTest
            RegisterStatusBarResultTest InsetsFlagsTest
            LightBarControllerTest
Change-Id: I1dcaff47ae57ccee91146fdc042cde5e26fc0b3f
2019-10-17 01:41:34 +08:00
TreeHugger Robot
f3c1c427b2 Merge "Home Controls: Add a new Controls tile for prototyping" 2019-10-16 16:53:46 +00: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
Fabian Kozynski
05843f07cc Add support for BooleanState in CustomTile
Added API for a TileService to declare that they are a boolean tile. In
that case, the tiles behave like frameworks tiles when using TB.

Test: atest CustomTileTest
Test: manual, added to DevelopmentTiles and observe behavior
Test: manual, Grayscale behavior doesn't change
Bug: 138579147
Change-Id: I2f2dae90a49897015138ab9615a4a556da623358
2019-09-23 20:34:15 +00:00
Dave Mankoff
63a1282b03 Make DozeSensors, DozeTriggers use ProximitySensor
This CL takes the features used in DozeSensors and applies
them to the publicly available util.sensors.ProximitySensor class.

It introduces a RateLimiter class for temprorarily suspending the
ProximitySensor as requested.

It introduces a ProximityCheck class for a quick, one time test
of the proximity sensor.

There is some reshuffling of Sensor related code to its own package
as well.

Bug: 141122220
Test: atest SystemUITests
Change-Id: If126be9a56c6966c1678ee70fa6f4623e51361a7
2019-09-18 11:25:43 -04: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
67ffcf8936 Add colors to tiles
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
2019-09-10 15:45:42 -04: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
Matt Pietal
50c8b50b37 Controls: Add a temporary space for home controls integration
This space will only be visible by setting a flag to enable split
status-bar functionality:

adb shell device_config put systemui qs_split_enabled true

To populate the view, you will also need to build and install an
experimental plugin from google3, coming shortly.

Test: manual
Change-Id: Iccf712a0355ebf8d9c6da2dac63874820270d405
2019-08-21 13:40:12 -04:00
Jeongik Cha
eb50963ac5 Merge "Add platform_apis in Android.bp" am: cebe8f985f am: 869f3888bd
am: 820f1feefa

Change-Id: If1d59e4bf335f1179bebf83f03644e735415a130
2019-07-25 02:12:54 -07:00
Jeongik Cha
820f1feefa Merge "Add platform_apis in Android.bp" am: cebe8f985f
am: 869f3888bd

Change-Id: Ia8b15bc76441e5240bc90429b56cfdf1591a93f5
2019-07-25 02:03:22 -07:00
Jeongik Cha
869f3888bd Merge "Add platform_apis in Android.bp"
am: cebe8f985f

Change-Id: Ia9f556a6066985a4c210192b196f54c5c35d6cd6
2019-07-25 01:53:31 -07:00
Dave Mankoff
73d48ab970 Add cleanup method to FalsingManager to prevent memory leaks.
When the FalsingManager gets reloaded (due to plugins) it can
leak its listeners and callbacks. This change fixes that.

This is a CP of http://ag/8668802.

Bug: 136351609
Test: manual
Change-Id: I7ea8384678b60e78ed384e19bbd7932722fe2b9c
Merged-In: I2b52d018d478dbcad4ecb7d8a5b361638d5c5877
2019-07-22 10:50:22 -04:00
Dave Mankoff
4c5a13ebd9 Add cleanup method to FalsingManager to prevent memory leaks.
When the FalsingManager gets reloaded (due to plugins) it can
leak its listeners and callbacks. This change fixes that.

Bug: 136351609
Test: manual
Change-Id: I2b52d018d478dbcad4ecb7d8a5b361638d5c5877
Merged-In: I2b52d018d478dbcad4ecb7d8a5b361638d5c5877
2019-07-16 20:01:29 +00:00
Jeongik Cha
a1bf8a9b75 Add platform_apis in Android.bp
platform_apis must be true when sdk_version is empty.
So add platform_apis into file that is not included it.

Bug: 132780927
Test: m
Change-Id: Ie7badd61248bbabaf51ef8fb30bdd832af88da15
2019-07-11 15:40:04 +09:00
Selim Cinek
2cfa02421b Merge changes I5694a38e,I488f90aa,Ie9644dc8,I8d5b5b53,Ib8a0fa19 into qt-r1-dev
* changes:
  Continued the bypass experience
  Changing the lockscreen layout for the bypass
  Enabling auth to succeed whenever the bouncer is showing
  Enabled dragging down from the lock screen when bypassing
  Made sure huns can show on the lock screen even when awake
2019-06-20 02:04:12 +00:00
Selim Cinek
b0fada6ca0 Changing the lockscreen layout for the bypass
The notifications are now on the top and the user
can drag down to the full shade from there directly.
The quick settings header also comes down while
expanding from the pulse.

Bug: 130327302
Change-Id: I488f90aacd5912eda6f9423dc76862f06230d793
2019-06-19 16:13:53 -07:00
Beverly
f2d9819b19 Add skip gesture status type
Test: manual
Bug: 134143348
Change-Id: I538142e367489cd32cc788426e1fc881f0006e79
2019-06-14 15:57:16 -04:00
TreeHugger Robot
1f55123ee7 Merge "Make DozeParams available to Plugins" into qt-r1-dev 2019-06-08 01:14:30 +00:00
Beverly
1488f69eb0 Make DozeParams available to Plugins
Test: manual
Bug: 134519217
Change-Id: I4a2b0827b861ef922fab85e0e6a6dde2313ba78f
2019-06-07 18:52:27 +00:00
Beverly
e14f08e9f5 Add callbacks to StatusBarStateController
So plugins can receive this information without an IPC call

Test: manual
Bug: 133783909
Change-Id: I716ed6af78ab5a80a36fb680bc5d42758766523d
2019-06-07 17:36:00 +00:00
Dave Mankoff
468d4f6f79 Add support for FalsingPlugin to supply a replacement FalsingManager.
Bug: 130256776
Test: Manual
Change-Id: Icdf150e6e23d216f04a9243fe57919aa622706d5
2019-05-10 12:14:27 -04:00
TreeHugger Robot
7db0bf1a50 Merge "Remove plugin logical from NavigationBarView (1/2)" into qt-dev 2019-05-10 02:08:40 +00:00
Steve Elliott
86ef62853c Global Actions Panel plugin can override Global Actions background
Bug: 128828632
Test: manual
Change-Id: I7b68bd0be5243d0e42101d4e02ae24da786aee32
2019-05-09 18:07:35 +00:00
Matthew Ng
e0d5ccd331 Remove plugin logical from NavigationBarView (1/2)
Fixes: 129860064
Test: manual
Change-Id: I8cfa77cf40f62ab1e5f1ad8d1957107aca1557f2
2019-05-09 11:03:20 -07:00
beverlyt
f9dfd23ce6 Add callback to OverlayPlugin - updates forcePluginOpen
Test: manual
Bug: 132075794
Change-Id: I341d121711dfefbf9a888b080faafd0110d2b8ed
2019-05-07 16:57:38 -07:00
Dave Mankoff
dde5ee6953 Change FalsingManager to an interface for easier swapping.
This is a refactor. It touches a lot of files, but zero functionality.
The primary change is changing FalsingManager.getInstance() into
FalsingManagerFactory.getInstance(); chaning FalsingManager into an
interface, and then turning the existing FalsingManager into
FalsingManagerImpl, an implementation of that interface. Other changes
are merely references to those classes.

Bug: 130256776
Test: atest SystemUITests
Change-Id: I5d64a7673e4efc554105dd841b27807361ed3828
2019-05-03 10:13:39 -04:00
Steve Elliott
2f1382eaf2 Merge "Update GlobalActionPanelPlugin API with lockscreen state notifications" into qt-dev 2019-05-01 23:21:14 +00:00
Selim Cinek
ab4589a222 Made sure smart actions now launch also inline same as activity launches
This will make the association with smart actions closer. This changes
the transition when opening an action from a two step close shade - open app
to a direct animation into the app from the notification.

Fixes: 123591046
Test: atest SystemUiTests
Change-Id: I3c92aa20437ca7c37ef27ae6618df1959ef63137
2019-05-01 18:09:00 +00:00
Steve Elliott
e2a2e9b122 Update GlobalActionPanelPlugin API with lockscreen state notifications
This allows for Global Action Panels to react to changes in the
device's lock state.

Bug: 129342406
Test: manual
Change-Id: I30785d259dea884ed9f23cffbdd8230fce0e7431
2019-04-30 21:33:43 -04:00
TreeHugger Robot
512dbfbbb4 Merge "Add ability to center a notification icon" into qt-dev 2019-04-18 06:53:48 +00:00
Robert Snoeberger
699568050d Add smart space to custom clock faces.
This changes adds a hook to the ClockPlugin to allow the
custom clock to control the position of the smart space.

Still todo:
 - move out of the way for the lock icon
 - don't slide smart space down on lock screen when no
   notifs are showing

Bug: 129348218
Test: Manually checked custom clock faces.
Change-Id: I2472f6b2bb54f94e2e673f01c78170c0e7f87627
2019-04-17 09:44:54 -04:00
Beverly
4077065daa Add ability to center a notification icon
Test: manual, atest CollapsedStatusBarFragmentTest
Test: atest HeadsUpAppearanceControllerTest
Bug: 124937207
Change-Id: Ie6b44fad2490ddede53116ebc1293876165695f8
2019-04-16 16:26:50 -04:00
Lucas Dupin
691169c8fe Merge "Improve dump format" into qt-dev 2019-04-11 01:28:15 +00:00
Lucas Dupin
dc13fe4bef Improve dump format
Test: adb shell dumpsys activity service com.android.systemui
Bug: 130204212
Change-Id: I75a74a46a2bd5e63a0f13a877741cc1ab806d6d0
2019-04-10 16:09:23 -07:00
shawnlin
2e7d4e4f3c Fixed jarring touch ripple effect when turning on/off battery saver from quick settings
Suppress the ripple effect on battery saver tile.

Fixes: 122374545
Test: atest SystemUIGoogleTests
Change-Id: If7c166dd212b4eca7b85a58096058f7ff4884d02
2019-04-09 15:00:54 +08:00
Evan Laird
e55c60104a Expose notification guts on menu shown
This change adds a few methods to NotificationMenuRowPlugin so that a
menu row can tell the stack scroller to expose the notification guts
when the menu is fully exposed.

TODO: fix the menu close animation so it happens after the guts open,
and if you close the guts by swiping you can trigger a flicker.

Also there are some things to make lint happy and lots of null checks.

Bug: 127998765
Test: swipe RTL on any notification
Change-Id: I46f7c7dc90032a1914f7b5513bc57e089887c722
(cherry picked from commit 9272fd2f57)
2019-04-04 18:04:44 +00:00
Robert Snoeberger
3358cfbe5c Add onDestroyView to allow clock plugins to clean up resources.
Fixes: 129859743
Test: New test point added to KeyguardClockSwitchTest
Change-Id: Ia0eb7cb329820a64a4783937f65135fda742a2d1
2019-04-03 17:29:16 +00:00
Robert Snoeberger
2ba20603af Add method to ClockPlugin to get preview image.
Bug: 125370285
Test: Checked that preview images still appear in picker app.
Test: Added ViewPreviewerTest
Change-Id: I819d58f621be7b0c4f5e3d0e56d7cb2604c8c770
2019-03-29 15:47:08 -04:00
Anthony Tripaldi
2c430871e4 Add a new Secure Setting check for current opted-out state of captions.
Bug:129066127
Test: manual
Change-Id: I511f5fdb140480ca49e340386d11510f69a5ef31
2019-03-22 11:32:46 -04:00
Anthony Tripaldi
ea0236d0ec Add tool tip view for first run of volume dialog to notify users of odi
captions functionality.

Bug:128970574
Change-Id: I4710fd1d84f4116e003c14720a2ce55c5b3ff899
Test: manual
2019-03-21 10:25:11 -04:00