summaryrefslogtreecommitdiff
path: root/services/incremental/BinderIncrementalService.h
AgeCommit message (Collapse)Author
2023-02-14Set app.metadata file permission to 640 William Loh
This should prevent apps from circumventing the GET_APP_METADATA permission by reading the file directly if they are aware of the file path. Bug: 267823160 Test: atest android.packageinstaller.install.cts.InstallAppMetadataTest Change-Id: I4aab10b48e62234bc252535ab2e2c8b9c77a7ac3
2021-04-16[pm] remove incremental startable/unstartable code Songchun Fan
Also remove streaming health status reporting which could cause startable state change because it is also not needed any more. BUG: 171920377 Test: builds Change-Id: I7284e7a63df79da7dbf3d16ff64302b3d1ce1348
2021-04-08Installation hardening: reducing read timeout during installation. Alex Buynytskyy
And then restoring post-install. Bug: 160635296 Test: atest PackageManagerShellCommandTest PackageManagerShellCommandIncrementalTest IncrementalServiceTest PackageManagerServiceTest ChecksumsTest Change-Id: I0821458bf92db162518a2cbcb7499cd7544e64f2
2021-03-09[incremental] expose duration since oldest pending read Songchun Fan
As requested by go/incremental-disablement-metrics, we will expose the duration since oldest pending read as part of the crash/ANR metrics. This is the first step that exposes the value to Incremental Service. BUG: 180951530 Test: unit test Change-Id: Ic67460072556ef01780a1794b40924ca2092060d
2021-01-29Inherited installation support for Incremental. Alex Buynytskyy
Bug: 162345970 Test: atest PackageManagerShellCommandTest PackageManagerShellCommandIncrementalTest IncrementalServiceTest PackageManagerServiceTest ChecksumsTest Change-Id: I360f44bc52e05553eacc448faa26f603d9eaae59 Merged-In: I360f44bc52e05553eacc448faa26f603d9eaae59
2021-01-12Per package read timeouts. Alex Buynytskyy
Bug: 162345970 Test: atest PackageManagerShellCommandTest PackageManagerShellCommandIncrementalTest IncrementalServiceTest PackageManagerServiceTest Change-Id: I2599db1ed8827fff16387c11254a5d607f27ea46
2020-10-20[incremental/pm] set health listener on commit and on reboot Songchun Fan
This changes allow Incremental Service to directly report health status to package manager service. A health listener is created during package installation session to monitor incremental storage health. After commit, a new listener is created and will overwrite the old one. The new listener will listen to incremental storage health and report the status to package manager service, which will then send the status to IncrementalStates, where the startability state and unstartable reason might change, based on the health status code. During reboot, for each incremental package, if it is not fully loaded, the package manager service will register a health status listener to continue monitor the health status of this package. Test: unit test Test: manual BUG: 170435166 Change-Id: I220f230c523cfaf2c96019f9478554665e6af486
2020-09-21Installer digests for Incremental installations. Alex Buynytskyy
Bug: 160605420 Test: atest ChecksumsTest Change-Id: I9d46c218cccf87781e9b33711c4d02d94bf824f5
2020-09-15[incremental/pm] register progress listener Songchun Fan
Incremental Serivce periodically polls loading progress and sends to Package Manager Service. Package Manager provides APIs for other interested parties to listen to the loading progress. BUG: 165841827 Test: unit test Change-Id: I44b9e17c2240b9efe53bc09fc728b6671f1f7dfe
2020-08-27Wait for APK to be fully downloaded for full APK digests. Alex Buynytskyy
Bug: 160605420 Test: atest ChecksumsTest Change-Id: Ib9fd591c67290786268b6dcdc57c7db153612e01
2020-08-22[IncrementalService] getLoadingProgress (v1) Songchun Fan
This is to unblock Launcher's work on progress ring. Currently it uses incfs getFilledBlocks(). Will switch to the new incfs progress reporting API once it is ready. Test: unit test Test: adb shell dumpsys incremental BUG: 165799231 Change-Id: Icd68124806454f888826294da36f109bca9771ac
2020-06-12Don't provide read logs for shell-initiated installations. Alex Buynytskyy
Only if the application is profileable. Bug: 158238023 Fixes: 158238023 Test: atest PackageManagerShellCommandTest PackageManagerShellCommandIncrementalTest IncrementalServiceTest PackageParserTest Change-Id: I8575830ec3f29850297fdbfbaa157072d6350a28
2020-05-27Merge "[incremental] respect extractNativeLibs in native lib config" into ↵ Songchun Fan
rvc-dev
2020-05-27[incremental] respect extractNativeLibs in native lib config Songchun Fan
Makes sure the behavior is consistent with legacy installs: When the flag is on, the native libs will be extracted to subdirs under lib/. When the flag is off, the lib/ subdirs will be created but the native libs are not extracted. When the flag is off, check if the native libs are uncompressed and well aligned. Test: atest android.extractnativelibs.cts.CtsExtractNativeLibsHostTest BUG: 157173358 Change-Id: Idb57fd7ca1115f787faf5cde3056c32ff3f60890
2020-05-26Lifecycle: detecting blocked and unhealthy. Alex Buynytskyy
Part 1: interfaces and PM implementation. Bug: 153874006 Test: atest PackageManagerShellCommandTest PackageManagerShellCommandIncrementalTest IncrementalServiceTest Change-Id: I312dd919d2bb552bea3d72fb49fd1579882da14b
2020-04-10[incfs] Fix a crash in worker thread calling JNI Yurii Zubrytskyi
Worker thread has to initialize JNI separately to be able to call into managed binders implemented in the same system_server process, e.g. DataLoaderManager Bug: 153513507 Test: adb install megacity.nov4.apk; adb install megacity.v4.apk Change-Id: I668e8664361cd2fb3353ec50efd689c7d613658f
2020-04-10[incfs] Make native library extraction async Yurii Zubrytskyi
IncrementalService can create the library files beforehand, but delay filling in their data. As it takes quite a while in general (over a second in cases when the phone is busy), it's better to run the unzipping and filling in a separate thread and only make sure it finishes before the whole installation process is complete. This speeds up the megacity.apk installation by ~250-300ms, 1000-1100ms -> 750-800ms Bug: 153513507 Test: adb install megacity.apk Change-Id: Ia44f7e45b9e0abaebdfb6fe5352f9dcf29ab4ece
2020-04-07Change the way how we call setStorageParams. Alex Buynytskyy
Now it's unified with callback FS connector - we are passing the callback pointer directly to dataloader. This restricts access only to methods we want and only by someone we want. Bug: b/153468113 Test: atest PackageManagerShellCommandTest PackageManagerShellCommandIncrementalTest IncrementalServiceTest Change-Id: Ib557ebbe7c6c5ce92140eb20534a3626b3ac96d3
2020-04-02Checking LOADER_USAGE_STATS before enabling read logs. Alex Buynytskyy
Bug: b/152633648 Test: atest PackageManagerShellCommandTest PackageManagerShellCommandIncrementalTest IncrementalServiceTest Change-Id: Ic747a51b97b785c627c95bddecc6834ef602ff30
2020-03-05rename incremental service name Songchun Fan
Previously we had to use "incremental_service" because the proxy service was using "incremental". Now that we have removed the proxy service, we can just use "incremental". Test: adb shell dumpsys incremental Test: atest PackageManagerShellCommandIncrementalTest BUG: 150406132 Change-Id: I0788cb90bf73b074506f9079253c433429eef782
2020-02-11Incremental installations in PackageManagerShellCommand. Alex Buynytskyy
- onPrepareImage in native, - allow to check installation type and choose native or managed dataloaders, - native data loader for Incremental, - install-incremental shell command. Test: atest PackageManagerShellCommandTest Test: atest IncrementalServiceTest Bug: b/136132412 b/133435829 Change-Id: I530a8a203fb50132c1869abd0b869036add18699
2020-02-07Incremental native lib extraction Songchun Fan
Basically we configure all the lib files inside Incremental Service, e.g., create lib dirs, make lib files, extract original lib file data from zip and then write data to the lib files on incfs. Test: manual with incremental installation BUG: b/136132412 b/133435829 Change-Id: I7544d2e78bcf3bdd76ce4c0766ec31ff13fd2011
2020-02-05Minor renaming: IIncrementalManagerNative -> IIncrementalService. Alex Buynytskyy
Manager(client)->Service(server) seems to be easier to understand. Test: builds Bug: b/136132412 b/133435829 Change-Id: I3bc447fbf7a7aac917df7b4632def75e0da3f1a0
2020-01-28Port the current code to new IncFS Yurii Zubrytskyi
Bug: 146080380 Test: manual, "cmd incremental install-start" Change-Id: I6761c3f0e58b6d4de1ae3c4b31c23204fba9f740
2019-12-19[incremental] native implementation of Incremental Service Songchun Fan
The implementation of IIncrementalManager.aidl. TODO to refactor this. Test: atest service.incremental_test Change-Id: Ib8c8a9c0e7f0289b4bcd8961fa39746ed12b4310