The overall workflow of Content Capture is:
- send initial structure
- send deltas afterwards
Initially, the initial structure was being reported one view at time, which was causing janking.
This CL changes it so while that while the initial structure is being laid out, the content captures
are held. Then after it's finished, it traverses the structure and sends the initial events.
This change also allowed use to optimize the performance by caching the following state:
- View.isImportantForContentCapture()
- View.getContentCaptureSession()
- Context.getContentCaptureManager()
Besides the performance improvements, this approach also has the following advantanges:
- It sends the VIEW_APPEARED events for the parent views before the events for the children.
- It send events to notify when the view structure layout is ready.
Bug: 123307965
Test: atest CtsContentCaptureServiceTestCases
Test: m update-api
Change-Id: I6db7cc11c6edf65cbffe42187fda82c84c3665ff
1) Return the system user's appInfo for "android" so we launch into the
system process.
2) In the system process, each user has its own instance of the "android"
backup agent to allow for parallel backups across users.
3) Update agent bookkeeping to key by user id.
Bug: 111500434
Test: 1) "adb shell bmgr backupnow android" for system and non-system
user; verify through debugger and logging that each user has its own
agent instance and both run in the system process; verify backup
succeeds
2) Repeat with "adb shell bmgr restore [token] android"
Change-Id: Ie9c8934daac02fb1c09f37753ef02ef957d18a75
Extending UsageEvents.Event to include isInstantApp()
Bug: 111407095
Test: Expecting to add cts tests to the added API methods
Change-Id: Iead337a23deddc58fa1f2f4a1cc3036572147951
1. Now the value of manifest attribute foregroundServiceType can
be multiple flags ORed together.
2. Add a overloaded version of Service.startForeground() with an
additional parameter foregroundServiceType. The flags in parameter
foregroundServiceType must be a subset of flags specified in manifest
attribute foregroundServiceType, otherwise a IllegalArgumentException is
thrown.
3. Add a field foregroundServiceType in ServiceRecord, it is the types
that have been started on this foreground sevice.
Bug: 111453223
Test: atest frameworks/base/tests/FrameworkPerf
Change-Id: I7eb68f696e6bf75720fe9c9388a6c23a529677f7
Permissions that have the new apppredictor protection flag will
be granted to the app predictor app, which is AiAi for Pixels.
The MANAGE_APP_PREDICTIONS permission is updated to use the
app predictor flag.
App Predictor for Pixels already set in ag/6019430.
Some one-off handling for app predictor already added in
ag/6025266 and ag/6025267. This cl adds the appPredictor flag.
Test: Tested manually that it worked.
Test: atest CtsPermission2TestCases:PermissionPolicyTest
Bug:123599542
Change-Id: I0550930f78fdb57eea8680762c9b313a330968b6
This reverts commit 139c77763b.
Reason: Device gets put into GL comp pretty much all the time,
trashing performance and battery.
Bug: 123686354
Bug: 122561221
Change-Id: Icf658f331c407d03e844557cc2531c034aa38083
Exempt-From-Owner-Approval: Simple revert
Add the @RequiresFeature(FEATURE_SECURE_LOCK_SCREEN) annotation
to setPasswordHistoryLength for the sake of consistency -
the other password history APIs already have the annotation.
Bug: 123270501
Bug: 111072170
Bug: 111071972
Test: make
Change-Id: I0a321d6bb1b8fb2a4c7ccebfd7c46b2dc9ad8956
- Implement the mechanism for Seamless button in the group of media action button.
- Have a fake Seamless icon in the right of media action button group.
- Need to bind with MediaOutputSlice that are implementing.
Bug: 118428931
Test: Build pass
Change-Id: Idc51d416cc1fc85babdc83d138c8558db5ed5d8e
Define the DynamicAndroid with AIDL.
Add a java implementation.
Start a service instance in the system server.
Add a permission test.
Bug: 122015653
Test: Build & Test on a pixel phone with following command \
./frameworks/base/services/tests/runtests.py -e class com.android.server.DynamicAndroidTest
Change-Id: I2e54b6b71fac4a4c5a9c9c25ce6bdac74cddcfb7
Instead of checking dpm policy in primary user and settings value
in managed profile user, we'd better check them all in primary user.
Calendar provider will need INTERACT_ACROSS_USER_FULL to access
settings provider and this permission is not granted to any app
in privapp-permissions-platform.xml. So I think it's safer to
change isPackageAllowedToAccessCalendar to check both
admin policy & settings value.
Bug: 123629973
Test: atest CalendarProvider2Test
Change-Id: I01bff1317916bac6de72a71a029a2f99dc8e9a0b
The bitmap.createHardwareBitmap doesn't take a ColorSpace as input, as a result
the returned bitmap is always in SRGB color space. Given that we want to remove
the assumption of SRGB color space, we replace the usage of
createHardwareBitmap with wrapHardwareBuffer which takes an extra argument
ColorSpace. As a result, we will be able to also fix SurfaceControl and various
other places that use screenshot in follow up patches.
BUG: 120904891
Test: CtsUiRenderingTestCases
Change-Id: I57fc0c85d68df43b0e69f9a1ebac00d2ba39554d
This reverts commit 0bfafb7f41.
Reason for revert: Removing enforceUnlocked() should fix the bug and Backup now supports it.
Change-Id: Id06f63c62b0f43cd70da77df48674146d4cc0412
Instead of using a fixed class name, define an interface for
preloading application code that must be implemented by applications
that use the application zygote.
Also, add an ApplicationInfo parameter to said function, so the app
knows where to look for its data and code.
Bug: 111434506
Test: atest CtsApptestCases:ServiceTest
atest CtsSeccompHostTestCases
Change-Id: I1f8472da89dc90562dcb4e479e3d87ebf49b926c
Right now, DownloadProvider only uses the COLUMN_MEDIA_SCANNED
value if it is coming from addCompletedDownload and for the rest
of the requests, it ignores the incoming COLUMN_MEDIA_SCANNED value
and always invokes mediascanner. This is not what the documentation
says. For e.g., if the caller uses DownloadManager.setDestinationUri()
API, then unless otherwise specified, the download doesn't need to be
mediascanned.
Also, since we are inserting user visible downloads to MediaProvider,
use that info to populate the COLUMN_MEDIAPROVIDER_URI column as well
and update DownloadProvider to not invoke MediaScanner.
Bug: 123440050
Test: atest DownloadProviderTests
Test: atest cts/tests/app/src/android/app/cts/DownloadManagerTest.java
Test: atest cts/tests/tests/provider/src/android/provider/cts/MediaStore*
Change-Id: I65ccae672eabe2efd5132d4b105c18bb591379fc