cd154e95353e7af11314d2339500d6c7f85e181a |
|
01-Mar-2017 |
Dianne Hackborn <hackbod@google.com> |
Implement issue #34842682: Add ability to limit permissions based on features Two new attributes for <uses-permission>: android:requiredFeature and android:requiredNotFeature. Also update aapt to include this information in badging: uses-permission: name='android.content.cts.REQUIRED_NOT_FEATURE_UNDEFINED' requiredNotFeature='android.software.cts.undefined' uses-permission: name='android.content.cts.REQUIRED_MULTI_DENY' requiredFeature='android.software.cts.undefined' requiredNotFeature='android.software.cts' Test: new PermissionFeatureTest suite. Change-Id: Icc1f815a4675ae9dd2cb7f61730ab28b5c11228a
/frameworks/base/services/core/java/com/android/server/pm/ParallelPackageParser.java
|
3aea7330591e90a44e2bceb76decfe879bcdf8e5 |
|
06-Jan-2017 |
Narayan Kamath <narayan@google.com> |
Merge "PackageManagerService: Implement packageParser cache in ParallelPackageParser."
|
e29a5a11529dc7df82911b48b9f95461383cbcc2 |
|
17-Dec-2016 |
Fyodor Kupolov <fkupolov@google.com> |
Added SystemServerInitThreadPool System services can use it during the boot to submit tasks that can be run in parallel with the main thread. Switched PersistentDataBlockService and FingerprintService from FgThread to the new thread pool. UiModeManagerService: update initial configurations on init thread. They run while holding the mLock so no extra synchronization barriers are needed at a later stage. Test: manual - device boots without errors Test: ParallelPackageParserTest passes Change-Id: I548f34b0a18f61924e09a39afb12e085cde35442
/frameworks/base/services/core/java/com/android/server/pm/ParallelPackageParser.java
|
5c50e8630164d7d9a1a097f70d2f8bcbf1bd854f |
|
24-Nov-2016 |
Narayan Kamath <narayan@google.com> |
PackageManagerService: Implement packageParser cache in ParallelPackageParser. We save about 2800ms of cold startup time over baseline on a marlin, and ~1200 ms over the parallel parsing case. warm cold --------------- Baseline : 1700ms 4300ms Parallel : 1400ms 2700ms Cache : 1000ms 1600ms Cache & parallel : 900ms 1500ms Note that further changes will improve the speed of cache processing. This change also includes support for : - a flag that been flipped in code (currently set to false). - disabling the cache via a system property. - wiping the cache on system upgrades. - cache versioning. Bug: 30792387 Test: FrameworksServicesTests Test: manual timing Change-Id: I281710c110af5307901dd62ce93b515287c91918
/frameworks/base/services/core/java/com/android/server/pm/ParallelPackageParser.java
|
fd6f4fb264d56726cd0e2fed731ad60bbe4aa06f |
|
18-Nov-2016 |
Fyodor Kupolov <fkupolov@google.com> |
Parse packages in parallel Introduced ParallelPackageParser. Parsing requests are processed by a thread-pool (currently 4 threads). At any time, at most 10 results are kept in RAM. This is enforced by the blocking queue. scanDir has become a two-stage process: 1) Collects files for parsing and submit them to the parallel parser 2) Sequentially take elements from the parsing queue and process them by calling scanPackageLI (as before) Test: manual - device boots, all packages are parsed Test: ParallelPackageParserTest passes Bug: 30792387 Change-Id: I07a64da4d83e355b2b1f1ab350e6d8087dfd2feb
/frameworks/base/services/core/java/com/android/server/pm/ParallelPackageParser.java
|