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
2 files changed