Needed to create a separate receiver to handle this as GlobalScreenshot
is in the screenshot process.
Bug: 157756391
Test: Open IME in bubble test app, take screenshot, verify that IME goes
away and does not interfere with screenshots UI.
Change-Id: I93d050340e59c5b45250f53eb943697fa543b706
* Remove black theme of WorkLockActivity. The activity
below will still not be displayed because there is
a blankView added in onCreate().
Manual testing steps
* Create a work profile and set a work profile lock
* Launch a work profile app
* Lock and unlock the screen
1. * Enter in the work profile credentials
* Observe no flash is observed
2. * Return from the lock screen
* Observe the activity below is not displayed
Bug: 149286440
Test: Manual testing
Change-Id: I18dd66067164e19e81e5fcbc46aa0879fe367a68
This CL adds local context actions for rearranging controls. The actions
allow to move each current favorites one position at a time.
Test: manual
Fixes: 155997794
Change-Id: I3dbace5c11bb93830315ca57513744464595cc16
- Since we reverted to Q's wallpaper picker on Android R, the picker side won't include our fix(ag/10371523) to hide the clock tab, so we need to disable the provider on the framework side on rvc-dev, make picker side won't show any clock options in this case
Bug: 155656424
Test: `adb shell content query --uri content://com.android.keyguard.clock/list_options` will not list available provider
Change-Id: I25af259ab65639eb3087511d2e221fb2242cbd73
Starting in this release, settings that were set (after the first time)
will not be overriden by restore. This does not work with QSTileHost as
there are many things that may override secure sysui_qs_tiles without
the user directly taking an action (for example, packages that are
uninstalled or updated, may make tiles unavailable), changing the set of
current tiles.
In the case the restore is delayed, (for example D2D), it'd be good if
this setting is restored, regardless of changes that may have happened
in the intervening time. Marking all saving of this setting as
overrideableByRestore may make some changes to be lost, however it's
thought to be the better alternative, because of the following:
* It continues the behavior from previous releases, preventing a
regression.
* If the user is using D2D, we can assume that they expect those tiles
to be restored without changes.
* If the user is using another restore method and they made changes to
the tiles, this will override them, but it's no different than previous
behavior.
Also, use the cached currentUser.
Fixes: 153835600
Test: build
Change-Id: Id8f28ff4731556f7ccbee468e06cd3e03324f201
1. Long press on togglerange controls
2. Range status text now corrected displayed when using seek controls
3. Check for valid intent before opening
4. Fix the activity titles
Fixes: 153283023
Fixes: 152932546
Fixes: 152924457
Test: talkback
Change-Id: Ic90cd9de660426838ed2a63e6079224d65c8e6d2
This fixes all the back flows (finishing activities when they are not
needed). Also fix some transition animations.
Add a toast when "See other apps" is selected with changes done. This
will appear even if something is changed and reverted, as that kind of
thing is not tracked.
Test: manual, go over flows
Fixes: 154741024
Change-Id: I24611f4f32e41c7dd3774620518f2945db081727
As discussed, we:
* Allow apps with INTERACT_ACCROSS_USERS(_FULL) to specify an explicit
user (instead of just USER_CURRENT).
* Introduce new signature permission ACT_AS_PACKAGE_FOR_ACCESSIBILITY
and grant it to sysUI. This permissions allow holders to specify another
package on behalf of which they can perform a11y operations.
This is for toasts since now sysUI renders toasts on behalf of the app
for apps targeting R+.
Bug: 152839254
Test: atest FrameworksServicesTests:AccessibilitySecurityPolicyTest
FrameworksServicesTests:AccessibilityWindowManagerTest
android.widget.cts.ToastTest
Change-Id: I3541045d574518571f348051d53e24ff1a4a67ef
Set proper activity titles and do not use the default application
label. Do not allow the status text to be focusable.
Bug: 152924457
Bug: 152932546
Bug: 152927300
Test: talkback
Change-Id: Ieed21596c8160aaf945d71e274706c771f7e4693
This activity is accesses from the overflow menu in the Controls UI. It
does the following:
* Shows all favorites for current structure
* Allows for rearranging current favorites in that structure
* Allows for removing current favorites in that structure
* Links to ControlsFavoritingActivity with just that structure
Test: manual
Test: atest ControlsControllerImplTest
Test: atest FavoritesModelTest
Test: atest AllModelTest
Fixes: 149138395
Change-Id: I8a57d4f835467247b7cc360fee4e382cd5553481
Take into account foreground services of type 'microphone' in
AudioRecordingDisclosureBar - watch processes that run such fg services
and treat them as so they are already recording.
Bug: 152364373
Test: make, run audio recording app
Change-Id: I7961ad332d5741a12f029dcc95e909572f30ad05
This CL adds support for Backup & Restore in SystemUI by adding
Key-Value BR through the use of a BackupAgent (BackupHelper.kt). Right
now, the only thing that is backed up in SystemUI is the
controls_favorites.xml file.
BackupAgent will send a broadcast to user 0 indicating that the restore
has been completed for a particular user.
Regarding controls BR:
* The file is set as changed every time it is written and will
participate in normal backups as determined by BackupManager.
* On restore, a copy is made to serve as cache of controls restored but
whose app is not installed yet.
* This cache is persisted for a week and deleted with a JobService.
Test: atest SystemUITests
Test: manual using LocalTransport
Fixes: 149210531
Change-Id: I6048f1ebd1d9021058778dff707c8c53c9989b35
This service was added for testing and is no longer needed.
Test: Tested locally
BUG: 152189559
FIX: 152189559
Change-Id: I824dd1956e8b7e42d2e00dac7771d58c00b74338
The hidden API is used by SystemUI process to adjust the system UI based
on when a certain camera is opened or closed.
Test: Manually observe callbacks in SystemUI when running camera CTS
Bug: 150540299
Change-Id: I04cae782d96f0e32be8ef588dcd328f84b32887a
The dialog can only be requested if the package of the controls provider is
currently in the foreground.
This is accomplished by querying Activity Manager about the
UidImportance of that package. Added
android.permission.PACKAGE_USAGE_STATS to SystemUI for this.
Test: atest
Test: manual
Fixes: 149410221
Change-Id: Ifdf479d8dbc70502da95d362e3bfd60ad3c561fb
SystemUIService is hard-coded to dump at CRITICAL priority and so can't
dump very much (and, most importantly, can't handle dumping our length
log buffers). So instead we create a new service,
SystemUIAuxiliaryDumpService, which will dump alongside all other
services in the NORMAL section. Its dump method calls straight into the
DumpManager.
Test: atest, manual
Change-Id: If76f206081a1663e23fc14076b50bef7396e517f
This will prompt the user whether they trust the current wireless access
point when enabling wireless debugging.
Bug: 147814644
Test: make
Exempt-From-Owner-Approval: already approved
Change-Id: I56a7c022f26d4e3d93a22d9022f19f1b8d997d70
- Enable ClockOptionsProvider and the flag let SystemUI(keyguard) have
the ability to apply custom clock
- Remove Analog and Bubble clock from SystemUI
Bug: 146530441
Test: `adb shell content query --uri content://com.android.keyguard.clock/list_options` will list available provider, `adb shell settings put secure lock_screen_custom_clock_face "com.android.keyguard.clock.BubbleClockController"` will not switch to Bubble clock.
Change-Id: Iecfb5e2ea0cc72ca6eb1e16ca0dc0213a3257b6e
This changes are to include the new UX flows:
* The list of controls is split by zones. All controls that do not have
a zone (blank or null) are shown at the beginning of the list. Zones are
sorted "alphabetically".
* Controls are split into Favorites and All, with Favorite controls
appearing twice. Toggling the checkbox in a control from any of the two
lists will change the state and make it appear/dissapear from the
favorites list.
* Changes to favorites are only saved on Done.
* Favorites can be rearranged by dragging and dropping.
Test: manual
Test: atest
Bug: 149138395
Change-Id: Ib5fdbc66cafe03e95855eb6c16c27127afa8d565
* Change to no toolbar and add title and subtitle
* Change individual controls to use lozenges (same layouts as in the
controls space).
Test: manual
Bug: 148207527
Change-Id: Ie0f3c53ca12dbe29aa1e4469fc0146e29f548d76
This commit adds multi-user support by doing the following:
* Listening when user changes and switching the controllers user (and
context).
* Using activities that show for all users and are finished on user
switched.
The setting has to be enabled for each user separately.
Also:
* fixes calling subscribe when on load to the ControlsProviderService.
* better dumps.
Test: atest
Test: check that files are not shared between users
Test: check that user folder is removed when user is deleted
Bug:147732882
Change-Id: I349b0136473016e6bd6b71e26045f11a839272d1
With the deprecation of WRITE_MEDIA_STORAGE in R. Apps should migrate
to requesting MANAGE_EXTERNAL_STORAGE permission
Test: m
Bug: 144914977
Change-Id: I6ea64006fbba7a792d7c59a1c5ae526357fe8894
Adds a new API that allows applications to provide payment cards and
other relevant passes to SysUI which are then shown in the Quick Access
Wallet (long press on Pixel). See go/aospqaw-dd for details.
Bug: 144342153
Test: manual - started device, didn't blow up
Test: atest - run from frameworks/base dir
Change-Id: I8fef3116e6e4bd1f8a4f5a907892ea8993b49b0e
This CL adds the following controllers for dealing with Controls in
SystemUI:
* ControlsController - Handles favorites and communication with other
controllers
* ControlsBindingController - Handles binding to the different services
and comunication with them.
* ControlsProviderLifecycleManager - Handles binding with one service
and forwards API calls to it.
* ControlsListingController - Handles finding and listing apps that
satisfy the service requirement
Additionally, this CL adds first versions of the management screen to
add or remove favorites. These are persisted.
To enable:
* adb shell settings put secure systemui.controls_available 1
* restart
To launch management activity:
* Enable controls
* adb shell am start
com.android.systemui/.controls.management.ControlsProviderSelectorActivity
Missing from this CL:
* Multi user support
* Documentation in the controller classes
* Graceful rebinding
* Throttling of Binder calls
* Better dumps
Test: atest com.android.systemui.controls
Test: manual testing of favorite management activities
Bug: 147732882
Change-Id: Ib4932b7f8fd3f2e3ee0ef1c28ddda1bec66c41e4
The setting key of navigation bar magnification state already
deprecated. Sysui need to use accessibility manager api to get
a11y button state.
Bug: 136293963
Test: atest NavigationBarFragmentTest
Change-Id: I52d19c16b3eb3b7168890f8c27cf3500a401779a
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
Adding a basic service implementation for apps to implement if they
would like to contribute to the new controls space. This is a WIP
while the controls design is worked.
Test: atest + Home Mock Service
Change-Id: Iae3de21ebf5b15b0df498dce2add51f53bbd229d
Bug: 138116789
Test: manual - overflow compiles and works as expected in separate xl cl
Test: atest SystemUITests
Change-Id: I7142527442c01dca87c88fd6034af184df6f93d6
Since CONNECTIVITY_INTERNAL has been deprecated from Android R
and replace by other permissions. Change CONNECTIVITY_INTERNAL to
another proper peremission.
Bug: 32963470
Test: atest SystemUITests
Change-Id: Ibdaee8c3c06caa3aaf6944d4b258cb5b1d078179
- Add shortcut option to experiment class
- Attempts to create BubbleMetadata off of ShortcutInfo, unfortunately
it doesn't really have a lot of info about the shortcut.... so using
an intent extra to note that
- Adds new API to ActivityView to support launching shortcuts
Test: manual - enable flags, post a notification with valid shortcut info,
longpress on it to bubble, tap on bubble
Bug: 143173197
Bug: 138116133
Change-Id: Id631bf4a4b97e0bb1f76760f48dbfc11ffc0630e
(cherry picked from commit aaf695366e)
Test: Took a screenshot and verified that AiAi gets notified for
share/edit/delete/smart action clicked and exceptions thrown.
Ran tests-
'atest ScreenshotNotificationSmartActionsTest'
'atest ScreenshotNotificationSmartActionsGoogleTest'
Bug: 141634285
Change-Id: Ief6400549b30cf1c0c8a374aa443cf6347f84875
Merged-In: Ief6400549b30cf1c0c8a374aa443cf6347f84875
Test: Took a screenshot and verified that AiAi gets notified for
share/edit/delete/smart action clicked and exceptions thrown.
Ran tests-
'atest ScreenshotNotificationSmartActionsTest'
'atest ScreenshotNotificationSmartActionsGoogleTest'
Bug: 142669323
Change-Id: Ief6400549b30cf1c0c8a374aa443cf6347f84875
Create a constant in ContentSuggestionsManager, which will
be used to pass a hardware bitmap to ContentSuggestionsService.
In the presence of this key in the request extras, we skip taking a
snapshot in ContentSuggestionsPerUserService.
Bitmap is extracted from reading this value from extras in
ContentSuggestionsService.
Create ScreenshotNotificationSmartActionsProvider, which is overridden
in GoogleSystemUI.
Calling AiAi is guarded by a device config flag created in cl/277143225.
(cherry picked from commit d2010f2628 and c45d86fc15)
Test: Manually tested the code in this CL and corresponding change in SystemUIGoogle.
Took a screenshot and verified that AiAi gets invoked and the screenshot notification
shows smart actions.
Ran new tests added in this CL
'atest ScreenshotNotificationSmartActionsTest'
'atest ContentSuggestionsPerUserServiceTest'
Bug: 141634285
Change-Id: I439a4be9aac53fb02b566ae4d438afe3edf2b37a
Merged-In: I439a4be9aac53fb02b566ae4d438afe3edf2b37a