summaryrefslogtreecommitdiff
path: root/tools/aapt2/java/JavaClassGenerator_test.cpp
diff options
context:
space:
mode:
authorLee Shombert <shombert@google.com>2021-01-08 10:45:57 -0800
committerLee Shombert <shombert@google.com>2021-01-08 10:45:57 -0800
commit0653379d2706ea2e6dab36adf03ae198d38c3d52 (patch)
tree227bc92757e785f8a16a985bf26bcfcb518c2e6e /tools/aapt2/java/JavaClassGenerator_test.cpp
parenta4af838b94fd033a0a856ab4805f224512b4f260 (diff)
Make 12 PackageManagerService APIs lock-free
Bug: 161323622 The following public PackageManagerService APIs are handled by the snapshot computer. They operate on read-only PackageManagerService state, as captured in the Snapshot class. * checkUidPermission * getActivityInfo * getApplicationInfo * getInstalledPackages * getInstantAppPackageName * getPackage * getPackage * getPackageInfo * getPackageSetting * getPackagesForUid * getServiceInfo * isInstantApp The ComputerEngine class is a closure over the functions and state required by the above APIs. The closure consists of 64 functions. The code for the 64 functions is moved into the ComputerEngine class. The code is not modified except that any synchronized blocks are deleted. The corresponding PackageManagerService functions are now implemented as calls into ComputerEngine. If the PMS function is one of the above eight, then the call is into the snapshot engine. Otherwise the call is into the "live" engine, which operates directly on PackageManagerService state. Functions that are delegated to the snapshot engine are tagged with a "// SNAPSHOT" comment. Test: atest * FrameworksServicesTests:UserSystemPackageInstallerTest * FrameworksServicesTests:PackageManagerSettingsTests * FrameworksServicesTests:PackageManagerServiceTest * FrameworksServicesTests:AppsFilterTest * FrameworksServicesTests:PackageInstallerSessionTest * FrameworksServicesTests:ScanTests Change-Id: Idb31622e14fa3aca60ff5de0fa76b85c65716f64
Diffstat (limited to 'tools/aapt2/java/JavaClassGenerator_test.cpp')
0 files changed, 0 insertions, 0 deletions