History log of /frameworks/base/services/core/java/com/android/server/PinnerService.java
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
31ce3a8a56e78ecc17d9befbc64a1e529b6b78e9 23-May-2017 Calin Juravle <calin@google.com> Re-pin camera odex/vdex files only if they have changed

Test: Camera is re-pinned after
adb shell cmd package compile -f -m extract
com.google.android.GoogleCamera
adb shell cmd package bg-dexopt-job

Bug: 33168521
Change-Id: I5c5e76d1e40b6d433c9a0beba463c86f79ad437e
/frameworks/base/services/core/java/com/android/server/PinnerService.java
f107a23ff165bbb7f0ae145f9ac85ddca8b43ed7 16-May-2017 Carmen Jackson <carmenjackson@google.com> Re-run pinner service on camera app update and dex optimization.

When the camera app updates or the dex files are optimized, the files
that have been pinned by the pinner service fall out of date. The next
time they're used, they will be paged in like normal. This change
un-pins and re-pins the Camera app when the user's camera app updates,
as well as when background dex optimization finishes.

Bug: 33168521
Test: Manual. Here's a logcat of PinnerService activity while I ran the
following commands:

$ flashall -w
$ adb install -r -d --force-sdk [new camera app].apk
Success
$ adb root
restarting adbd as root
$ adb shell cmd package bg-dexopt-job

SystemServer: PinnerService
SystemServiceManager: Starting com.android.server.PinnerService
PinnerService: Starting PinnerService
SystemServerTiming: PinnerService took to complete: 2ms
PinnerService: Pinned file = /system/framework/arm64/boot-framework.oat
PinnerService: Pinned file = /system/framework/arm64/boot-framework.vdex
PinnerService: Pinned file = /system/framework/oat/arm64/services.odex
PinnerService: Pinned file = /system/framework/oat/arm64/services.vdex
PinnerService: Pinned file = /system/framework/arm64/boot.oat
PinnerService: Pinned file = /system/framework/arm64/boot.vdex
PinnerService: Pinned file =
/system/framework/arm64/boot-core-libart.oat
PinnerService: Pinned file =
/system/framework/arm64/boot-core-libart.vdex
PinnerService: Pinned /system/app/GoogleCamera/GoogleCamera.apk
PinnerService: Pinned
/data/dalvik-cache/arm64/system@app@GoogleCamera@GoogleCamera.apk@classes.dex
PinnerService: Updating pinned files.
PinnerService: Unpinned file /system/app/GoogleCamera/GoogleCamera.apk
PinnerService: Unpinned file
/data/dalvik-cache/arm64/system@app@GoogleCamera@GoogleCamera.apk@classes.dex
PinnerService: Pinned
/data/app/com.google.android.GoogleCamera-vVji3RQcPHS1Lzqh1WjY1g==/base.apk
PinnerService: Pinned
/data/app/com.google.android.GoogleCamera-vVji3RQcPHS1Lzqh1WjY1g==/oat/arm64/base.odex
PinnerService: Updating pinned files.
PinnerService: Unpinned file
/data/app/com.google.android.GoogleCamera-vVji3RQcPHS1Lzqh1WjY1g==/base.apk
PinnerService: Unpinned file
/data/app/com.google.android.GoogleCamera-vVji3RQcPHS1Lzqh1WjY1g==/oat/arm64/base.odex
PinnerService: Pinned
/data/app/com.google.android.GoogleCamera-vVji3RQcPHS1Lzqh1WjY1g==/base.apk
PinnerService: Pinned
/data/app/com.google.android.GoogleCamera-vVji3RQcPHS1Lzqh1WjY1g==/oat/arm64/base.odex

Change-Id: I10d72d6a3d1717773324913362a638f199d49bc9
/frameworks/base/services/core/java/com/android/server/PinnerService.java
128721a5387e903891e54843a6d565814f5024f9 16-May-2017 Calin Juravle <calin@google.com> Also pin vdex file for camera

Test: device boots, manually confirming the pinning is successful
Bug: 33168521

(cherry picked from commit 8e0f959f76a9661fd10178ce9be44dbe1bc0c74f)

Change-Id: Ib3f36a1ae7f756993a0daa6868e2e2134d3a7578
/frameworks/base/services/core/java/com/android/server/PinnerService.java
fe9a53bc45fd0124a876dc0a49680aaf86641d3e 31-Mar-2017 Jeff Sharkey <jsharkey@android.com> Consistent dump() permission checking.

This change introduces new methods on DumpUtils that can check if the
caller has DUMP and/or PACKAGE_USAGE_STATS access. It then moves all
existing dump() methods to use these checks so that we emit
consistent error messages.

Test: cts-tradefed run commandAndExit cts-dev -m CtsSecurityTestCases -t android.security.cts.ServicePermissionsTest
Bug: 32806790
Change-Id: Iaff6b9506818ee082b1e169c89ebe1001b3bfeca
/frameworks/base/services/core/java/com/android/server/PinnerService.java
ac39b9626db022baf4f8da501b965853e07e86a7 02-Nov-2016 Philip Cuadra <philipcuadra@google.com> Pinner Service - update Camera app max size to 80MB

The prebuilt camera app in /system/app uses uncompressed libs to save
memory. A recent update pushed it over the arbitrary 50MB limit. This
change moves that arbitrary limit to 80MB.

Bug 32289474
Tested manually

Change-Id: Icf4e4476447fd363f2ab311b237f17a0e9d43053
/frameworks/base/services/core/java/com/android/server/PinnerService.java
847bd85fc18f3fe851fd20d9e79d566074f595e8 04-Aug-2016 Jeff Sharkey <jsharkey@android.com> We don't need to wait to pin the camera app.

There are PackageManager flags we can use to resolve the camera app
for a given user, even while they're still locked.

Bug: 30621101
Change-Id: I0098c9423e2cd453e957d4365cfbcac5ccbb2947
/frameworks/base/services/core/java/com/android/server/PinnerService.java
d9bd884d731e5d9931842161f6777986e11434dd 13-Jul-2016 Philip Cuadra <philipcuadra@google.com> Call into ART to get the location of the odex/oat file to pin

Get the location of the odex / oat file to pin from ART instead of
trying to figure it out from location of the apk.

Bug 28251566

Change-Id: Ia2921f6e8df412c4ac5073cd36e57807c655a81d
/frameworks/base/services/core/java/com/android/server/PinnerService.java
a95cea04d570fa7a9fde928301c05bec3dc97be1 07-Jul-2016 Philip Cuadra <philipcuadra@google.com> Make pinning files async in a background thread

Make the actual pinning of files be async in the system server background thread.
There's no need to block system_server from doing useful work on the ui
thread while the files are pinned.

bug 28251566

Change-Id: I905c165533692979ac179e987216378210396e75
/frameworks/base/services/core/java/com/android/server/PinnerService.java
7cb2f8b7eeef57a21b1b1403ca1c0f4f5f381c35 16-Jun-2016 Philip Cuadra <philipcuadra@google.com> Pinner Service - Pin Camera app on unlock if requested by the config

Pin the default camera app on unlock and user switch if the config requests it.
Do not pin an app if there is no default camera app for the intent.

Only pin the app for the MediaStore.INTENT_ACTION_STILL_IMAGE_CAMERA
action, not the _SECURE one. While there could be different apps chosed
for different intents, the belief is most people will choose only one
app.

Pin both apk and odex. Not all apps will have an odex, so it is not a
fatal error if that isn't pinned.

Bug 28251566

Change-Id: I3387c23c20d2f75c8864e29bdfc312fef6276434
/frameworks/base/services/core/java/com/android/server/PinnerService.java
7bd0fdd639640f9ddffbffa6a117644134d8be30 29-Apr-2016 Philip Cuadra <philipcuadra@google.com> Pinner service for pinning files into memory

Pin key files into memory to prevent having to fetch from flash
after boot. Improves system performance by preventing page cache
thrash. Retrieves files from a device-specific overlay to allow
specialization.

bug 28251566

Change-Id: I8532f52bd70271794dd7576976d13a524849ce7b
/frameworks/base/services/core/java/com/android/server/PinnerService.java