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
Feature was never used in production and we felt the experience was not
the right one. So remove support for it to reduce maintenance burden
and potential for buggy code.
Fixes: 144382004
Test: Boot and see no crashes
Test: Add lock to user and show UserPicker. Run adb command to put car
into drive, wait 30 seconds and see no changes.
adb shell dumpsys activity service com.android.car inject-vhal-event 0x11400400 8
adb shell dumpsys activity service com.android.car inject-vhal-event 0x11600207 30
Change-Id: I257df02a8f669899c7a49df12815b302ec5965bb
This change creates ScreenshotNotificationSmartActionsProvider, which is overridden
in GoogleSystemUI.
Calling AiAi is guarded by a device config flag created in cl/277143225.
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'
Bug: 143556894
Change-Id: I439a4be9aac53fb02b566ae4d438afe3edf2b37a
With the new go/app-enumeration feature in R, apps will need to declare
the packages that they have access to or hold the QUERY_ALL_PACKAGES
permission. This change updates sysUI to acquire that permission so it
can act on any app on device.
Test: Device starts without sysui being blocked
Bug: 136675067
Change-Id: Ib88434c17a42936a48095ea040c4e40590a8898f
A race condition existed whereby placeholder targets were attempting
to be published without any target information, due to bg thread
processing of resolved intents. Detect this scenario, and wait. Also
have SysUI ChooserActivity accept voice interactions in the intent
filter. Does not use DEFAULT category, as it should only ever be used
by explicit intents.
Bug: 139729579
Test: atest ResolverActivityTest
Change-Id: If8fc0c3595da47c26b1edab75bd6fc82a6dcb35e
(cherry picked from commit 2cf4c6c3d4)
A race condition existed whereby placeholder targets were attempting
to be published without any target information, due to bg thread
processing of resolved intents. Detect this scenario, and wait. Also
have SysUI ChooserActivity accept voice interactions in the intent
filter. Does not use DEFAULT category, as it should only ever be used
by explicit intents.
Bug: 139729579
Test: atest ResolverActivityTest
Change-Id: If8fc0c3595da47c26b1edab75bd6fc82a6dcb35e
This is a significant change that allows Services to have their
constructed injected into.
The DozeService is now labeled as injectable (thought it takes no arguments).
At least one Service has to be marked as injectable for Dagger to be happy
compiling this code.
Bug: 138787339
Test: atest SystemUITests
Change-Id: I0ec92e01dd236bcee3083c8f8744c53b7ccc92d3
Merged-In: Ib58f8763c996fbc2aea07ead56493d2d9e936f5b
This is a significant change that allows Services to have their
constructed injected into.
This change includes DozeService as an example, injecting the
FalsingManager into its constructor.
Bug: 136279712
Test: atest SystemUITests
Change-Id: Ib58f8763c996fbc2aea07ead56493d2d9e936f5b
This permission is necessary for Q as it allows systemui to tag
notifications of apps that are using certain AppOps. This is a P
feature that has regressed when the permission was made privileged.
This is used by AppOpsController in order to obtain updates on any apps
(onOpActiveChanged, onOpNoted). There is no other way to obtain the
updates from apps that are not systemui, as specified in AppOpsManager.
Talked to moltmann@ to verify that this is the correct API to use for this feature.
I'll remove this permission once SystemUI does not need it anymore.
In particular, if AppOpsController does not require it for being notified of AppOps changes.
Fixes: 134747188
Test: build
Test: dumpsys SystemUI. Check that AppOpsController is getting updates.
Change-Id: I08cca4361a7fbfa8b2eb419f1459b0b8bce93a5f
Now that we have LocalCallingIdentity, we can start caching it in
very narrow cases. We must be careful to not cache too long, since
any changes to granted permissions for the UID mean we need to
re-evaluate any cached answers.
The best middle-ground for this in the Q release is to use an active
camera session as a proxy for when we should create a cache object
and then later invalidate it. (It's very unlikely that a user
changes permissions while actively using the camera, and this is
a strong signal that the caller is sensitive to performance.)
Many other sprinkled optimizations to avoid extra binder calls into
the OS, such as aggressively caching VolumeInfo related details.
Track IDs that are owned by each LocalCallingIdentity, to speed up
all future security checks.
Dispatch all change notifications asynchronously, and delay them by
several seconds while the camera is being actively used, to give
more important foreground work a fighting chance. Invalidate
thumbnails asynchronously.
Optimizations to ModernMediaScanner where it's safe to skip the
"reconcile" and "clean" steps when we're focused on a single file
that we successfully scanned.
Local tests show this CL improves performance of a test app that
takes 100 rapid shots by 45%. (All the collective optimizations
done so far this week add up to a 70% improvement.)
Bug: 130758409
Test: atest --test-mapping packages/providers/MediaProvider
Exempt-From-Owner-Approval: trivial manifest change
Change-Id: I38cc826af47d41219ef44eae6fbd293caa0c01d5
- Change title styling / padding per UX spec.
- Also, fully support dark theme..
Test: visual, both in dark and light themes.
Bug: 131210470
Bug: 129787693
Change-Id: I150533c063feaa1be2879f34b5b6ac604f265e23
Creates Dark Theme tile and adds it to the default config,
under the fold.
Test: manually toggle tile
Fixes: 130253100
Change-Id: I2859d2eb20db1c6d9dd8e8e24979294316b905bb
- Also remove typed media permissions
- Leave typed media app-ops
Bug: 129716569
Test: Used apps, looked at permissions in the UI
Change-Id: If7714fb1a6955584157e1a60ab72b09e35287827
This opens the door to the same consistent logic being shared by
anyone across the OS who wants to enforce storage permissions.
Bug: 126788266
Test: atest --test-mapping packages/apps/MediaProvider
Exempted-From-Owner-Approval: Trivial permissions refactoring
Change-Id: I3107425f8dafa6ba05918bb67c3c0cb5d3899657
allow access to DeviceConfig API. Permission checks in DeviceConfig
API will be added later.
Test: tested locally with permission checks patch in.
Change-Id: Id5c72eb80f59820d461d74772243ed357df7cb37
We have to render image wallpaper with OpenGL ES to apply some amazing
visual effects.
Bug: 122803209
Bug: 124073420
Bug: 123616712
Bug: 123615467
Test: Manually.
Change-Id: I0123d4ba2acb5a84b709c0468910e006c8e49563
This reverts commit 9a8e260af1.
Bug: 118658627
Reason for revert:
I've received a few bug reports indicating that images were getting stretched, animations were gone and sometimes nothing would be rendered.
I'll revert the CL to have something for stable for Beta 1. We can then work on the fixes after the Taiwan team is back from vacation.
Change-Id: Id09ba3d7f372af9153c056a12e676c0227d19939
This change enables the picker app to move to the new
ContentProvider but it doesn't change any of the
assets. A follow-up change will dynamically generate
a realistic preview image from the clock.
Bug: 123704608
Test: atest on new tests ClockInfoTest and ClockOptionsProviderTest
Change-Id: I744c8dd063f6aa112e290fcf54cdc0e0b1377a0e