Merge "Pick up the apexBootImage pinner service files when the boot image is apex.art."
This commit is contained in:
@@ -3195,6 +3195,10 @@
|
||||
<!-- True if home app should be pinned via Pinner Service -->
|
||||
<bool name="config_pinnerHomeApp">false</bool>
|
||||
|
||||
<!-- List of files pinned by the Pinner Service with the apex boot image b/119800099 -->
|
||||
<string-array translatable="false" name="config_apexBootImagePinnerServiceFiles">
|
||||
</string-array>
|
||||
|
||||
<!-- Number of days preloaded file cache should be preserved on a device before it can be
|
||||
deleted -->
|
||||
<integer name="config_keepPreloadsMinDays">7</integer>
|
||||
|
||||
@@ -2904,6 +2904,7 @@
|
||||
<java-symbol type="array" name="config_defaultPinnerServiceFiles" />
|
||||
<java-symbol type="bool" name="config_pinnerCameraApp" />
|
||||
<java-symbol type="bool" name="config_pinnerHomeApp" />
|
||||
<java-symbol type="array" name="config_apexBootImagePinnerServiceFiles" />
|
||||
|
||||
<java-symbol type="string" name="config_doubleTouchGestureEnableFile" />
|
||||
|
||||
|
||||
@@ -42,6 +42,7 @@ import android.os.Handler;
|
||||
import android.os.Looper;
|
||||
import android.os.Message;
|
||||
import android.os.RemoteException;
|
||||
import android.os.SystemProperties;
|
||||
import android.os.UserHandle;
|
||||
import android.os.UserManager;
|
||||
import android.provider.MediaStore;
|
||||
@@ -232,9 +233,17 @@ public final class PinnerService extends SystemService {
|
||||
* Handler for on start pinning message
|
||||
*/
|
||||
private void handlePinOnStart() {
|
||||
// Files to pin come from the overlay and can be specified per-device config
|
||||
String[] filesToPin = mContext.getResources().getStringArray(
|
||||
com.android.internal.R.array.config_defaultPinnerServiceFiles);
|
||||
final String bootImage = SystemProperties.get("dalvik.vm.boot-image", "");
|
||||
String[] filesToPin = null;
|
||||
if (bootImage.endsWith("apex.art")) {
|
||||
// Use the files listed for that specific boot image
|
||||
filesToPin = mContext.getResources().getStringArray(
|
||||
com.android.internal.R.array.config_apexBootImagePinnerServiceFiles);
|
||||
} else {
|
||||
// Files to pin come from the overlay and can be specified per-device config
|
||||
filesToPin = mContext.getResources().getStringArray(
|
||||
com.android.internal.R.array.config_defaultPinnerServiceFiles);
|
||||
}
|
||||
// Continue trying to pin each file even if we fail to pin some of them
|
||||
for (String fileToPin : filesToPin) {
|
||||
PinnedFile pf = pinFile(fileToPin,
|
||||
|
||||
Reference in New Issue
Block a user