Recreating the entire object drops the mApplication inside,
so multiple Application instances are unexpectedly created.
Instead, call into updateApplicationInfo to replace
the Resources object manually.
Bug: 129890769
Test: device boots, applies overlay paths correctly; was unable
to reproduce a case where the overlays are missing from the
system itself, other Resources/caching changes may have
decreased the occurrence rate
Change-Id: Ib5e7d6ca79ac5b37d5691ce327e3b66cc4672335
Clarify the intended use and properties of the default class loader.
Bug: 128524313
Test: n/a
Merged-In: Iae82554f9294d5248b98f1fa72fc1a47993e86fd
Change-Id: Iae82554f9294d5248b98f1fa72fc1a47993e86fd
(cherry picked from commit 59a97141c8)
Callers are supposed to close the hardware buffer themselves. Creating
a utility method around this
Bug: 123874711
Test: No more leak warning on device
Change-Id: I2cf215f0646222f63e564a58edab1ffffa396ff3
This change adds a mechanism for restricting permissions (only runtime
for now), so that an app cannot hold the permission if it is not white
listed. The whitelisting can happen at install or at any later point.
There are three whitelists: system: OS managed with default grants
and role holders being on it; upgrade: only OS puts on this list
apps when upgrading from a pre to post restriction permission database
version and OS and installer on record can remove; installer: only
the installer on record can add and remove (and the system of course).
Added a permission policy service that sits on top of permissions
and app ops and is responsible to sync between permissions and app
ops when there is an interdependecy in any direction.
Added versioning to the runtime permissions database to allow operations
that need to be done once on upgrade such as adding all permissions held
by apps pre upgrade to the upgrade whitelist if the new permisison version
inctroduces a new restricted permission. The upgrade logic is in the
permission controller and we will eventually put the default grants there.
NOTE: This change is reacting to a VP feedback for how we would handle
SMS/CallLog restriction as we pivoted from role based approach to roles
for things the user would understand plus whitelist for everything else.
This would also help us roll out softly the storage permisison as there
is too much churm coming from developer feedback.
Exempt-From-Owner-Approval: trivial change due to APi adjustment
Test: atest CtsAppSecurityHostTestCases:android.appsecurity.cts.PermissionsHostTest
Test: atest CtsPermissionTestCases
Test: atest CtsPermission2TestCases
Test: atest RoleManagerTestCases
bug:124769181
Change-Id: Ic48e3c728387ecf02f89d517ba1fe785ab9c75fd
Rebased from ag/3785659. This CL switches to using post-execution
state resolution for new intent delivery. Also removes some
unnecessary code needed for old logic.
Bug: 65236456
Bug: 77974794
Test: atest ActivityLifecycleTests
Change-Id: I734ad50de498cd2a6b9514c8ef6cb1eeb08e4ec5
We were persisting jobs' battery-not-low constraints but were not
properly restoring that constraint when the job was inflated at boot.
This could result in a runtime bootloop (!) if the job had no other
constraints, requiring a factory reset to restore the device to
usability.
We now:
* properly inflate the battery-not-low constraint;
* persist & inflate the storage-not-low constraint, which previously was
being stripped entirely and could result in a similar crash-at-boot;
* ignore the job rather than crash the system if one is inflated into
a non-viable state; and
* formally test previously-untested constraint persistence
Bug: 130012063
Test: atest $ANDROID_BUILD_TOP/frameworks/base/services/tests/servicestests/src/com/android/server/job/JobStoreTest.java
Test: atest CtsJobSchedulerTestCases
Test: JobStoreTest with forced throw in JobInfo.Builder#build()
Change-Id: Ia3ab1eb16aeaa85336409368b4340622cec19f4c
Make errors in ApplicationLoaders caching hard failures since they are
only ever expected under bad configuration. Tests for these are also
added.
Test: atest android.app.ApplicationLoadersTest
Bug: 128529256
Change-Id: Ib259bcdf472e6a2f7f6b1071bb70cfead4502231
(cherry picked from commit 0975a412b3)
Relax the 'initial' bit of this API, i.e. apps could update a bubble
to 'suppress notification' and if their app is foreground, we would
remove the notification (but not the bubble).
Bug: 123542531
Test: incoming....
Change-Id: I256112c7a560e26ebc00efb11435298922bec11c
Inform ART about the location of the app's data directory when setting
up the process. This is part of an optimization that has ART cache
verification data into that directory.
Test: compiles, boots
Bug: 72131483
Change-Id: Ic80526b6ee383733eb5860e66f6c608109d838fb
Tidy up InstallSystemUpdateCallback#UPDATE_ERROR_UPDATE_FILE_INVALID
javadoc.
Test: Javadoc change only
Change-Id: I114c60ec330c1cea96a187f727570373b4e7f3bc
This is needed by Tinker, a hotfix framework commonly used in China so
it can continue working in Q.
Bug: 129726065
Test: m
Change-Id: Ie559b1bd9ad256de789e387c3f2b182bd761d23f
For service and provider bindings from TOP and
FOREGROUND_SERVICE apps, don't elevate bound apps
to above BOUND_FOREGROUND_SERVICE.
For service bindings, it is possible to explicitly
request the binding to match the foreground app
such that the bound app can get similar privileges
of foreground permissions.
For instance, when a foreground service has a location
type, providers it binds to don't automatically get the
location privilege. On the other hand, sometimes apps
showing UI want to treat their dependencies also as if
they are showing UI.
This change does not affect the oom_adj calculation,
only the proc state calculation for bound processes.
New BIND_INCLUDE_CAPABILITIES flag can be used to restore old
behavior for bound services.
Introduces a new state PROCESS_STATE_BOUND_TOP
Bug: 128337543
Test: atest CtsAppTestCases:ActivityManagerProcessStateTest
Change-Id: I13733e7f43a78903299254bc110cd8f7a8db4c40
- Also remove typed media permissions
- Leave typed media app-ops
Bug: 129716569
Test: Used apps, looked at permissions in the UI
Change-Id: If7714fb1a6955584157e1a60ab72b09e35287827