Also remove related classes, calls, and resources that were used by QSDetail
and are no longer needed.
Test: atest SystemUITests
Test: TileService cts tests
Test: adb shell cmd statusbar expand-settings
Fixes: 198796184
Change-Id: Ib5c54f197d03794aca35d0305e3e62c7daedb23a
- With ag/16678942 the system will now compute multiple appearance
regions for all windows under the status bar, so we need to handle
scenarios where multiple apps can create multiple dark tint areas
Bug: 208717544
Test: atest SystemUITests:LightBarControllerTest
Test: Install MultiAppeareanceRegionTest apk from b/208717544 and
verify that that the multiple dark areas work in multiwindow
Change-Id: I0d8696f6b2fb7793ccbdcbfe7e2520fceb24e5ec
- SmartspaceDefaultUiTemplateData represents the data of a Smartspace
card with the default UI template;
- Other templates' data classes are all subclasses of
SmartspaceDefaultUiTemplateData;
- SmartspaceIcon and SmartspaceTapAction are the newly-added primitives.
More details in go/ss-launcher-templated-ui.
Test: tested locally
Bug:213926964,212650337
CTS-Coverage-Bug:214471292
Change-Id: I056c49e3db7060697be4a3a8f51358802f2610b0
* Fix gap between tiles when expanding
* Fix second page collapsing animation: tiles now will shrink and at the
end be replaced by QQS tiles. We need to create the animators as we move
through the pages, as PagedTileLayout only has the current page and the
(up to) two adjacent ones. This means that if the page has not been
added, we don't have correct positions and measures.
See bug for video
Fixes: 207895040
Test: manual
Change-Id: Id2b14b11ace4199ed07f7675b6575cb4b71e93d5
* Deprecate getMetricsCategory, as UiEvents just use a string for each
tile.
* Remove all a11y announcements methods. These were not used, as we've
been using stateDescription
Test: atest SystemUITests
Bug: no bug
Change-Id: Id7a53abe59bc2b265f3049e844d9e8d9c4ef1f83
Smartspace could potentially send Intents that don't resolve, which
will crash sysui. Log a warning. Also register an event notifier to
let the SmartspaceSession know of a user action.
Bug: 208350043
Test: atest LockscreenSmartspaceControllerTest + manual (use new
smartspace flashlight off content)
Change-Id: Ife517864c6933bc2d6ef01c28ec97363d9ebfbd7
* When the QS customizer is active, closing the split shade does not
close the customizer.
* When three-button nav is enabled, pressing back when the QS customizer
is active on the split shade will close the shade, not close the
customizer.
This CL instead adds functions to QS.java so we can check whether the
customizer is active (and close it), so we can handle these cases
appropriately.
Test: Manually verified.
Bug: 201388768
Change-Id: I94208d1cd966975f39328529b9d866fbf27927ac
This adds the FlagManager class which currently has 3 methods:
- #getFlagsFuture
- #setFlagValue
- #eraseFlag
The first makes an async call to SystemUI to retrieve the flags
it knows about. It returns a collection of Flag objects from which
one can get the id, type, and default values.
The other two are fairly self-explanatory, sending intents to
SystemUI telling to set or erase flags. Any app calling these
methods must have the FLAGS_PERMISSION defined in the FlagManager
library.
Only boolean flags are supported at the moment.
Bug: 203548827
Test: manual
Change-Id: Id15ff481edcb83c67ce4cdad6cdda27d28a40652
When 'show_on_lockscreen' == true in the SmartspaceAction extras,
start the activity without requiring the device to be unlocked.
Fixes: 203775218
Test: manual
Change-Id: Iab5505fc7aec8d7e29364ff7d3d527f5d71ec5b3
Pass squishiness fraction from notifications to QS, and make it behave
accordingly.
Test: manual
Test: atest QSSquishinessControllerTest
Bug: 199047412
Change-Id: I9f5df7ae99e0bced4626dcb36053c9dba78ec672
This is for the "easy" flags. Flags which are defined in one place
in our resources and and require no extra work to convert to the
new architecture.
Bug: 202860494
Test: manual && atest SystemUITests
Change-Id: Id03fe61b6697bf98fdd225ba252de58e07c42496
Merged-In: Id03fe61b6697bf98fdd225ba252de58e07c42496
This is for the "easy" flags. Flags which are defined in one place
in our resources and and require no extra work to convert to the
new architecture.
Bug: 202860494
Test: manual && atest SystemUITests
Change-Id: Id03fe61b6697bf98fdd225ba252de58e07c42496
A flag can be set with a command like the following:
adb shell am broadcast -a com.android.systemui.action.SET_FLAG \
--ei id 1 --ez value 1
A flag can be "erased" with the same command, but leaving the value
unset.
Bug: 202860494
Test: manual
Change-Id: If1097e230692df49a6de7cbbb71ed37b0499c663
When pulling down the shade in split mode, the quick settings alpha
should be directly connected to the drag down gesture and the same that
we have for the notification shade.
Test: manual
Bug: 200804740
Fixes: 196722669
Change-Id: I6532c8a78826a5b60609dc66557abc49a3f140c5
Merged-In: I6532c8a78826a5b60609dc66557abc49a3f140c5
When pulling down the shade in split mode, the quick settings alpha
should be directly connected to the drag down gesture and the same that
we have for the notification shade.
Test: manual
Bug: 200804740
Fixes: 196722669
Change-Id: I6532c8a78826a5b60609dc66557abc49a3f140c5
The main issue was that QS and notifications container had padding of the size of taskbar. It was because taskbar is included in window insets and container doesn't check where insets come from. If insets are coming from taskbar only they should be ignored because taskbar should disappear when shade is expanded. But if they're coming from taskabar and navigation buttons are visible, they shouldn't be ignored as then taskbar always stays on the screen - that's assessed with checking if gesture navigation is available (if not, it means button navigation). Also because buttons are on the right side only and taskbar might or might not be visible, QS is just taking full height and notifications (that are on the right) have bigger spacing from the bottom.
Because this change involved using a few extra objects not available in NotificationsQuickSettingsContainer and I wanted to avoid doing everything in NotificationPanelViewController (it's big enough) and just passing results to NotificationsQuickSettingsContainer, I introduced controller for it: NotificationsQSContainerController. Now this controller has all the logic for determining bottom spacing. There can be a few more things that can be moved from NPVC to NotificationsQSContainerController but it's a start. Also now QS views and its children views instead of talking directly to container, they talk to controller via QSContainerController interface, which is a nice side-effect improvement.
Fixes: 194989891
Fixes: 200291264
Test: Home screen (so taskbar is hidden) -> go to split shade -> use anything that is close to the bottom of QS side (music widget, rearranging QS tiles, etc)
I'll add unit tests if the change overall looks good
Change-Id: I91ab8ec26dd2ef60562ffb9fdbc0e5739745ca0b
This CL animates the launch of the Wallet activity from the wallet tile
or button on the lockscreen.
Note that doing so is still a bit flickery given that the wallpaper
disappears as soon as the animation starts. This will be fixed in a
follow-up CL.
See before/after videos in b/191438572#comment18.
Bug: 191438572
Test: Click Wallet tile or button on lockscreen (with card setup)
Change-Id: Ie2eaddf9e1ad7e620e1cf2260b8f25c6a8534109
This adds the SystemUI side. As there's no API, it's triggered using
CommandRegistry and outputs response to logcat.
The design of the dialog is not final, so measures and styles will be
changed in a future CL.
Test: atest TileRequestDialogTest TileServiceRequestControllerTest
Test: manual
Fixes: 196056024
Change-Id: I5a52b7cd9db6a7fc79a8751e7702be8c005b8def
Allows code to subscribe to changes in specific flag values.
Bug: 194781951
Test: atest SystemUITests
Change-Id: Icae5c80cb32f0dd425e53297aa28e555f34a07a5
This CL is a stepping stone towards a more complete flag system.
This cl allows for the definition of flags within systemui, each of
which have a unique id and a default value. Methods for retrieving
the value of a flag are defined.
By default, reading a flag always returns its default value.
A FlagReaderPlugin is also defined that, when loaded, allows for
returning alternate values for a given flag. The details of how an
alternate value are determined are left for the plugin to decide.
The plugin interface should be considered incomplete with this cl.
Methods for reading flags are defined, but hooks for knowing when
flags change (and hooks for knowing when a flag plugin has been
loaded), are not defined. Moreover, the flag plugin is not loaded
early in the process with this cl, so anyone who reads flags
before the plugin is may misss out on the values they care about.
More changes to come.
Bug: 194781951
Test: atest SystemUITests
Change-Id: I888d5eba82359a37878a3a4d4747990b79a77804
The drag down animation didn't do the transition
to the full shade visually, so things would look
out of place.
Fixes: 191282610
Test: drag down while bypassing
Change-Id: Icdd62155f3762621c1046ed5271476ec0b4e2635
- Whenever we defer the cleanup of the back gesture, schedule a failsafe
to clean up the window if it's not handled properly. We'll enable
this failsafe for sc-dev and disable it for further investigations
post sc-dev
- Dump additional info for the nav bar window so we can narrow down
the issue post sc-dev
Bug: 190778197
Test: Can't repro the initial issue, so artificially trigger it to verify failsafe
Test: adb shell dumpsys activity service SystemUIService
Change-Id: I0a8f25babe750e6e5ba4c933ab5271a82ef63646
Fixes visibility issue where keyguard could enter a bad state where QS
remains visible even though it should be hidden.
Previously, keyguard could enter a bad state if QS was closed while it
had a detail panel open that had animations disabled.
To fix issue, run animations when closing detail panels, even if they
requested not to be animated on close.
Test: Turn off all animations (i.e. adb shell 'settings put global
animator_duration_scale 0.0 && settings put global
transition_animation_scale 0.0 && settings put global
window_animation_scale 0.0'), open QS, tap user icon, tap close,
ensure you are taken back to the lock screen and that the UI looks
normal
Test: Rapidly tap the user icon and bottom of keyguard in quick
succession, ensure that keyguard UI never enters a bad state
Fixes: 193549640
Fixes: 193545214
Change-Id: Ie092f83031edaff0240194832b5499df3b4eab12