Different logical components within an app may have no intention of
interacting with data or services that are protected by specific
permissions.
The new overload added in this change provides the initial mechanism
for a logical component to indicate a set of permissions that should
be treated as "renounced". Interactions performed through the
returned Context will ideally be treated as if the renounced
permissions have not actually been granted to the application,
regardless of their actual grant status.
This is a low-risk change from a security standpoint, since it can
only reduce the set of permissions that might have been granted to
an app; it can never be used to expand the set of permissions.
Note that this change only provides an initial implementation which
only applies to local permission checks within the app; future
changes will begin wiring this up across process boundaries.
Bug: 181812281
Test: atest CtsContentTestCases:android.content.cts.ContextTest
Change-Id: I96439e5344c85300fb6a0f03e572746c3c96ee95
To prevent starving binder thread over synchrounous operation, following
changes were made in this CL:
1, Create oneway apis in aidl
2. Annotation to ensure existing api call are running in WorkerThread
Bug: 180558621
NoNonSdkCheck: ShortcutService is for internal use, not a public api.
It should have been put in block-list in the first place.
Test: no change in functionality, covered by existing unit/cts tests
Change-Id: I17ecbaa7f2da30babec9fd58af7f07d5c0594054
* changes:
Rename to DomainVerificationUserState
Rename to DomainVerificationInternalUserState
Expose getDomainVerificationUserSelection as public API
Fix setDomainVerificationLinkHandlingAllowed docs
Rename get -> queryValidVerificationPackageNames
Make DomainVerificationManager a final class
The UiTranslationManager APIs need the token that report by the
content capture, we need to have a test ContentCaptureService for
translation cts to test UiTranslationManager. So we also allow
translation cts can add itself into allow list.
Bug: 179047265
Test: atest CtsContentCaptureServiceTestCases
Test: atest CtsTranslationTestCases to make sure the service can be
connected
Change-Id: I15874ce6fc68dbb5fba0a51cf74899d2dec9bae1
Report component usage when a service is bound if the service is bound
from an external package and the binding is considered usage.
Explicitly exempt JobService bindings from this usage definition.
Bug: 175829712
Test: adb shell dumpsys usagestats <package-name>
Test: manual test
Change-Id: I0bd9becd209ddc77b55f3102e7b03c4e2269ef4f
Better reflects the fact that the map no longer contains only the
selection state, but the domain state in general for the user.
Bug: 181637637
Test: none, naming refactor
Change-Id: I28bc73906f764d83c258fa10e23f2821e9482419
Since RegisteredServicesCache tasks from SyncManager and AccountManager
run on the main thread of SystemServer, It could cause draining
the main thread and end up with ANR when receiving a lot of broadcasts
or notifying changes through a listener.
This CL changes a few things to avoid running it on main thread.
1. RegisteredServicesCache uses BackgroundThread by default for
receiving broadcasts and a listener, instead of main thread.
2. AccountManager uses its own handler for a listener.
Bug: 171907687
Test: atest SyncManagerTest CtsSyncManagerTest AccountManagerServiceTest
Change-Id: I838c15b797b46fd58bb3c6ce9ee444a4737775d8
This is now visible to all apps to get the verified status of domains
which they declare. Because this is already restricted by app
visibility, opening up the API with no changes should be sufficient.
The permission requirement was also removed, since normals apps will
not have it.
This will only expose a relevant status when used with the changes at
Ib14049e397154616f84a2264167ac30659cd81c9.
Bug: 180955393
CTS-Coverage-Bug: 179382047
Change-Id: Ia7b7acffe41ac435f9bda98cd4e0ee422c8df328
Makes testing a little more difficult, but mirrors the other system
service classes.
Bug: 181101101
Test: atest com.android.server.pm.test.verify.domain
Change-Id: I39a3c2160943a0a6c77fe792446ed2f1407fb0e0
This is addressing the API feedback.
Bug: 181015045
Fixes: 181015045
Test: atest PackageManagerShellCommandTest PackageManagerShellCommandIncrementalTest IncrementalServiceTest PackageManagerServiceTest ChecksumsTest
Change-Id: I3ea745a4f0f0a0d9ae90f0625dfce61a8649a76d
With the introduction of ResourcesProviders, not all ApkAssets have
paths on disk. Theme::SetTo and various AssetManager methods use the
path to perform equality checking on ApkAssets. This equality check
will be performed on the debug string of an ApkAssets if it does not
have a path on disk. This causes ApkAssets with the same debug name
(like "<empty>") to be seen as the same ApkAssets. Rather than using
path, the pointer to the ApkAssets should be used for equality checking
since ResourcesManager caches and reuses ApkAssets when multiple
AssetManagers request the same assets.
Bug: 177101983
Test: atest CtsResourcesLoaderTests
Change-Id: I11f6a2a3a7cc8febe3f976236792f78e41cf07e6
This CL exposes an API to let apps know when the blur has been enabled
or disabled dynamically.
This could be due to battery saving mode turned on, tunnel mode being
used, minimal post processing requested, etc.
This adds a WindowManager.addCrossWindowBlurEnabledListener, which allows
apps to add/remove a listener for blur enabled state changes. The
listeners are registered in a CrossWindowBlurListeners, which receives
updates from WindowManagerService when blurEnabled changes.
CrossWindowBlurListeners only registers a remote listener if the client
initializes it. I.e. if the app is not interested in blurs, the
CrossWindowBlurListeners won't get initialized and won't register a
remote listener.
WindowManagerService holds a RemoteCallbackList, which holds listeners
for each client process and notifies them when there are updates. If any
of the listeners' process dies, the entry is removed from the list.
Bug: 177524486
Test: m
CTS-Coverage-Bug: 179990440
Change-Id: I3fe8f2d2008171d6b069e8ee6f3b47e5b5d60cfa
In order to move shortcuts from memory into AppSearch, we need to move
the bookkeeping states associated with ShortcutInfo into AppSearch as
well. This CL updates the schema to reflect the necessary chagnes.
Bug: 151359749
Test: atest ShortcutManagerTest1 ShortcutManagerTest2 ShortcutManagerTest3 ShortcutManagerTest4 ShortcutManagerTest5 ShortcutManagerTest6 ShortcutManagerTest7 ShortcutManagerTest8 ShortcutManagerTest9 ShortcutManagerTest10 ShortcutManagerTest11
Change-Id: Iaafaf6b81504b3f80c05b7f4a996b1b5b6beaeb7
Exposed canConfigureInteractAcrossProfiles as
a testAPI.
Test: confirmed the API is callable in CTS tests.
Bug: 180328483
Change-Id: I7c2b5ae986ca8ce6771d814bf7a3568b9896e82f
Android 12 introduced a new StrictMode check to report an unsafe Intent
launch; initially this was intended to warn developers when a launched
Intent could potentially have originated from an external source. This
commit updates this check to also report when an Intent is being
launched with potentially unfiltered data; that is data that was
copied without sanitation / validation from a parceled Intent or
Bundle. When a violation is reported for unfiltered data the developer
should replace the #putExtras call with individual calls to #putExtra
to only include the items expected in the extras.
Bug: 181374760
Test: atest StrictModeTest
Change-Id: Id2b6baf439716367f4709d03832ceb601f9f009e