This is added to report clicks on actions buttons to NAS.
BUG: 119010281
Test: atest SystemUITests
Test: atest RemoteViewsTest
Test: atest NotificationManagerServiceTest
Test: Manual. Tapped on the action (both normal and contextual) and
observed the log.
Change-Id: I381994737d8c3185d3fabf9b6c481fd01a89a634
setDarmAmount implementations provided by clock plugins
should use the dark amount to transition into and out
of the doze state on AOD. For example, the size of the
clock could shrink in the Y direction when leaving doze
to make room for the notification stack scroller.
Bug: 119035943
Test: KeyguardClockSwitchTest passes locally.
Change-Id: I9968dc2cc5ab8000ff525f3d1d06ffbf73359086
dozeTimeTick implementations provided by clock plugins
should update the time of the clock while the device
is dozing and deal with burn-in related issues.
Bug: 119035943
Test: KeyguardClockSwitchTest passes locally.
Test: Custom clock updates with time on AOD screen.
Change-Id: I5c31e6d856c5a80dc3e501831dda5a62c0be5ba0
The refactor allows adding new gestures easier and provides a way to
reassign triggers to the gestures.
go/navbar-prototypes-doc
Test: atest QuickStepControllerTest
Bug: 112934365
Change-Id: I5334947e2ff3f39af890e1f026089b933ff48a3c
QSTile can declare whether it doesn't support (has no effect) long click
and then TalkBack will not report it as an available option.
Test: manual & atest
Change-Id: Iec21181f4308c7c8c4962f191fa0787e053ae944
Fixes: 117921787
Break the NotificationPresenter out of the StatusBar and most of
the logic with it.
- Break RemoteInput Callbacks out of NotificationPresenter
- Break Environment Callbacks out of NotificationPresenter
- Add ShadeController interface for StatusBar (abstraction
layer from StatusBar)
- Add InitController to allow for post-init tasks (dependency
resolution should not go here)
- Make some dependencies (ShadeController, NotificationEntryManager,
NotificationLockscreenUserManager usually) lazily-resolved to break
some dependency cycles
- Lots of other cleanup
Test: Existing tests do not pass
Change-Id: Ic043c6b15a4ffe551fc27f99b25d5c3caa1be582
This contains the core interfaces for plugin support, e.g. Plugin.java
and the associated annotations. It is reused by the shared library and
plugin interfaces in both sysui and launcher are built off of it.
Test: atest com.android.systemui.shared.plugins
Test: cd $ANDROID_BUILD_TOP/frameworks/base/packages/SystemUI/plugin_core \
&& mma -j32 && cd -
out/target/product/$TARGET_PRODUCT/obj/JAVA_LIBRARIES/PluginCoreLib_intermediates/javalib.jar
contains the created jar and is useable in launcher
Bug: 115877296
Change-Id: I82ca7398e882d6432333238e2f77a12e776f1d76
- Also add logging for QuickStepController state
Bug: 112783625
Bug: 114137554
Test: Can still swipe up into Overview
Test: adb shell dumpsys activity service SystemUIservice
Change-Id: I6a1203d7140e30239e032266680236d090b7682e
The intent here is to move gesture processing out of NotificationMenuRow and into NotificationSwipeHelper.
Test: Automated tests should pass, and manual experimentation with dismissing/tapping/replying to notifications should work as expected.
Change-Id: Icd32f14769f1b494ecc1dedb2cc37ee129ed21f7
Skip QS state change animations when the target view is not fully
visible on screen.
Some tiles require extra time before the status is fully changed and
therefore will be animated later.
Change-Id: I08e76e0fdeab2b260cb7a41a117a6ff484ca3329
Fixes: 111680760
Test: visual and runtest systemui
QSTile#clearState puts QS tiles in an invalid state that may not be
immediately rectified through QSTile#refreshState. In the case of
configuration changes, if a subclass implementation of
QSTile#handleSetListening does not trigger a refresh state, the
invalid state causes incorrect click handling.
Change-Id: I17eba133cf08c45a768e9e0ed8fda623e85b4370
Fixes: 69738120
Fixes: 110480955
Test: manual
Bug: 34840333
Test: manual - 1. turn talkback on
2. have a notification focused
3. invoke local context menu, note that 'snooze' is an option
4. select snooze, note that notification is snoozed
Change-Id: Id3ea62a0a9e5c2b8893aa5b548e64bb2b341d7a2
- Reorder streams
- constrain ripples
- Show an introductory ripple on the ringer toggle
- Add sound/vibration feedback for the ringer toggle
- resize some elements
Test: manual
Bug: 76438403
Fixes: 73892482
Change-Id: I92dd6f5681f1822ae493a5a2b218b15970293e80
- Start the marquee when fully expanded and pause when collapsed.
- Also do not change qs label to multiline once it's already been resized
to single line.
Change-Id: I2dd4f6b5473a6a5147999c29441537227751b705
Fixes: 74757991
Test: visual
This reverts commit 0e490d9208.
Reason for revert: Will be merged with fix
Bug: 74726495
Test: manual
Change-Id: I36ea9c2702107b23eff4adb1f3ba9fdc1be12999
Moved all the logic for quick step/scrub/switch to QuickStepController
so touch events can be used for deciding which gesture is used. Once a
gesture is decided, the rest will not handle the other gestures.
Quickstep will trigger when passing a touch slop on navigation bar. The
event onQuickStep (with a motion event) will be sent to launcher when
this occurs telling it that systemui is not handling anymore motion
events. During quickstep motion events will still be proxied.
Used raw X and Y motion events for Opalayout and KeyButtonView so that
the moving over the touch slop can be detected to ignore button (long)
press state.
Fixes: 73971902
Fixes: 74456391
Test: swipe up
Change-Id: I40b931aa0a9f123b810ff9206c9b1ce040a68a56
This change sets LOCAL_SDK_VERSION for all packages where
this is possible without breaking the build, and
LOCAL_PRIVATE_PLATFORM_APIS := true otherwise.
Setting one of these two will be made required soon, and this
is a change in preparation for that. Not setting LOCAL_SDK_VERSION
makes the app implicitly depend on the bootclasspath, which is
often not required. This change effectively makes depending on
private apis opt-in rather than opt-out.
Test: make relevant packages
Bug: 73535841
Exempt-From-Owner-Approval: Global cleanup
Change-Id: I26458e41ecb84de91ac9a356a5d4bafb44f463c1
- Added logic for streams to be muted by dnd (unassociated with ringer)
Test: runtest -x frameworks/base/services/tests/uiservicestests/src/com/android/server/notification/ZenModeHelperTest.java
Bug: 73362490
Change-Id: I1101e67282f7331497e91eb510d2bf4f1ea6b4b1
We're animating 2x the icons and, due to the transparent grey
background color, it looked like the icons were getting darker.
Fixed by having it exclude the full icon frame while animating.
Test: Visually
Bug: 72173914
Change-Id: Ie36973ab44a86e6e1edd99b9266420a274d9aaa2
- if alarms and/or media cannot pass dnd and the phone is currently
in priority only dnd, then the alarm and/or media volume stream
will appear muted in the volume dialog and sound settings
(Settings > Sound)
- if all behavior for priority only dnd is not allowed to bypass dnd
(discluding alarms and media), then ringer is muted when priority-only
dnd mode is on. If a user clicks this ringer in the volume dialog, then
dnd ends
- Updated default zen config to version 3 (added alarms and media)
Test: manually toggle alarms + media in Settings > Sound > DND >
Behavior, toggle on/off dnd and then look at volume dialog and
volume bars in Settings > Sound
Test: runtest --path cts/tests/tests/media/src/android/media/cts/AudioManagerTest.java
Fixes: 72052742
Change-Id: Ia9e809ec2be93cb5a9ba6518dce04bf3ce45110b
If connected via bluetooth.
Also fix long press behavior on the ringer footer, and
change the output chooser icon.
Test: manual
Bug: 63096355
Change-Id: I2c4d86fb03f8ac38721b6fc580bba45871d59f5d
The brightness slider and tile layout are now a scrollview and
can handle nested scrolling between the views. There is some
black magic which manages the touches to allow a scroll up to
continue into a collapse gesture.
TODO: need to add edge effect colors to theme
Test: visual
Bug: 70799330
Change-Id: Ief0c1480f001cae62175c8ac4f3784daaa0ed2b8
When enabled via launcher, the home button is able to be be pulled to
the right side to send events to launcher via binder calls of when the
quick scrub operation starts, ends and progress changes between each
interval. Launcher will use this information to determine how the
recents apps are laid out with vibration feedback.
When the home button is pulled and released under 150ms, quick switch
will occur. A binder call will tell launcher to switch to the previous
app used.
While quick scrub or switch is active, launcher will not get any nav
bar motion events, only events for quick scrub and switch.
Bug: 67957962
Bug: 70180755
Test: enable new experience via launcher settings
Change-Id: I344f5d67f259ff454205ea4d2e95140f783d3b5c
Add support for Supplier<Icon> in QSTile.State, allowing a method for
CustomTile not to cache the drawable for its IconViews. This fixes the
problem that the ImageViews in QQS and QS were trying to use the same
drawable and putting it in a bad state.
Test: Add 3rd party tile to first position in QS and turn on/off; visual
Change-Id: I408d6391a718fcb3f847e72bd303551d2d004dbb
Fixes: 67356768
We add a new StatusBarManager flag to disable the global actions dialog
(a.k.a. the power button menu), which is required in certain kiosk mode
scenarios.
Bug: 65813398
Test: runtest systemui
Test: manual, by using a modified version of TestDPC and
DevicePolicyManagerService
Change-Id: Ib7da2f4837281e98e558afcc30be8bae6f2e179a