Pass the set of disabled changes from the system server into the app in the
bindApplication() call. Use this to instantiate an implementation of
Compatibility.Callbacks() to implement the API.
Test: Manual.
Bug: 135010838
Merged-In: I2fcf25264c62acc801f9e62967072cd04e4641e7
Change-Id: I2fcf25264c62acc801f9e62967072cd04e4641e7
RcsManager was handling both DB APIs and RcsFeature logic, which
made it confusing. Instead, make RcsMessageStore->RcsMessageManager,
which is a top level API.
Test: Manual
Change-Id: I9b9f96154d0705797cedade3d6cee27719897164
The number of services is pretty limited (100ish), use the more
memory efficient Map.
Test: tested on android go
Merged-In: I092c6816afba77fde4195c68a211804d4a561b77
Change-Id: I092c6816afba77fde4195c68a211804d4a561b77
Exclude system server thread from the threads on which we call updateHttpProxy() from the Activity Manager.
Test: atest HostsideVpnTests
Bug: 128465980
Merged-in: Ia2b2c6de8a01a264bfb09393144641d91ee2c164
Change-Id: Ia2b2c6de8a01a264bfb09393144641d91ee2c164
Instead of static methods, create an instance of RcsControllerCall that
holds a reference to the Context and inject it where it is used.
This will be used in a follow up commit that will require the calling
package name be passed when calling IRcs methods.
This change will allow passing a calling package name to an
RcsServiceCall or an RcsServiceCallWithNoReturn, so uses of the call
method might look something like:
```
mRcsControllerCall.call((iRcs, callingPackage) ->
iRcs.getFileTransferContentUri(mId, callingPackage));
```
Alternatives to storing the context here would have been:
1. To store the context everywhere the RcsControllerCall is injected and
get the calling package name at each RcsControllerCall call
2. To store the calling package name everywhere that the
RcsControllerCall instance is injected
Compared to solution 1, the implemented solution avoids repeating the
logic of retrieving the calling package.
Compared to solution 2, the implemented solution does not introduce any
complexity. In addition, the individual classes do not care about the
calling package name outside of the need to pass it to an IRcs method.
In the future, the implemented solution may also provide a useful point
to provide logic involving calls and the context (or other injected
dependencies). Though this future concern is not alone enough to justify
the solution, since the solution adds no additional complexity against
other solutions, it seems like a nice benefit.
Note, to avoid polluting this commit, a follow-up issue (b/128029441)
has been created to adjust the name of RcsControllerCall to reflect that
an instance of RcsControllerCall does not represent a single call to
RcsController.
Bug: 123699565
Test: Existing tests pass
Change-Id: Ib0f55f14397e5eb1e5a55864094c0be0c4e37c06
We provide a way in developer option to opt-in an application to use updated
graphics driver. To make sure we set up the graphics environment correctly, we
need to access the package name of the selected application. This patch
introduces a global property to store the package name.
BUG: 119221883
Test: Build, flash and boot, verify with prototype
Change-Id: I49dfcccf387169c072fb9345f7a50c00fcdb0737
Merged-In: I49dfcccf387169c072fb9345f7a50c00fcdb0737
This follow-up change performs some cleanup changes without affecting
functionality
Bug: 72950854
Test: Compiles, CTS tests using this pass
Change-Id: Ic7394f24f11d713c9374b438182e29d2a02ea236
Some of devices launched with old version of android (and maybe not
treblized) can come with no /product/lib. However in current we are
checking if product app is unbundled by checking /product/lib from
search path, this can lead to wrong check of unbundled. To fix this, I
created new property (ro.product.apps.unbundled) to decide if product
app is unbundled.
Bug: 129011845
Test: m -j && tested from crosshatch
Change-Id: Id30595b3ca88ffe008ffe479406d59b840b19b44
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
Merged-In: Ib259bcdf472e6a2f7f6b1071bb70cfead4502231
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
Since this is no longer called in ART, pass it down in bind application.
Bug: 37291459
Test: test-art-host
Change-Id: I23623e9b8e9ca6261d90cc1ae1c5d8c24cc4eba5
This is specifically for HIDL but is applicable to other libs.
Classes on the bootclasspath are implicitly used by apps. For this
reason, many classes should not go there. However, there are some
libraries which are used by many apps/processes which are still
nice to preload the ClassLoaders of.
Now, cacheNonBootclasspathSystemLibs in ApplciationLoaders keeps
a map of jar -> ClassLoader in zygote to be retrieved by child
processes.
Bug: 128529256
Bug: 127406460
Test: boot Pixel 2, verify libs are preloaded and used, try apps that
use these libraries.
Test: grep for ClassLoaderContext errors, for instance:
- ClassLoaderContext shared library size mismatch
- ClassLoaderContext classpath element mismatch
Test: showmap on various processes which use the preloaded libs.
Change-Id: I351bf1679e9a928c10dca860b6cd6cb414c3bb8e
Whitelist is now a Set rather than a list + javadoc improvement.
Bug: 124882903
Bug: 125346147
Test: atest MixedDeviceOwnerTest#testAlwaysOnVpn
Test: atest MixedDeviceOwnerTest#testAlwaysOnVpnAcrossReboot
Change-Id: Ieecaad083f2ab55de33587e6ce767f5f961683c9
Similar to Vendor apks, we need to mark product apks as unbundled if it
does not have /product/lib in default search paths. This will enable
native loader's logic to add (/system)/product/lib in search path for
product apk.
Bug: 124705551
Test: m -j & Tested from crosshatch
Change-Id: Ib0ac4bbc1c60ca75288cac81f6b93bb8b36521ef
ART will now know when startup is startup is finished.
Test: manual
Bug: 120671223
Bug: 123377072
(cherry-picked from commit 63e14c10b3)
Merged-In: I1134f66792bddc9ab33606fa4c2807b3918d5261
Change-Id: I1134f66792bddc9ab33606fa4c2807b3918d5261