Merge "Handle safe mode in PackageManager." am: a34610cebc
am: 2ea3874427
Change-Id: I18f16e094d96bd754c8ff0a8031450ce1a1ce023
This commit is contained in:
@@ -52,7 +52,8 @@ import static com.android.server.pm.Installer.DEXOPT_STORAGE_DE;
|
||||
import static com.android.server.pm.InstructionSets.getAppDexInstructionSets;
|
||||
import static com.android.server.pm.InstructionSets.getDexCodeInstructionSets;
|
||||
|
||||
import static com.android.server.pm.PackageManagerServiceCompilerMapping.getNonProfileGuidedCompilerFilter;
|
||||
import static dalvik.system.DexFile.getNonProfileGuidedCompilerFilter;
|
||||
import static dalvik.system.DexFile.getSafeModeCompilerFilter;
|
||||
import static dalvik.system.DexFile.isProfileGuidedCompilerFilter;
|
||||
|
||||
/**
|
||||
@@ -359,13 +360,7 @@ public class PackageDexOptimizer {
|
||||
int flags = info.flags;
|
||||
boolean vmSafeMode = (flags & ApplicationInfo.FLAG_VM_SAFE_MODE) != 0;
|
||||
if (vmSafeMode) {
|
||||
// For the compilation, it doesn't really matter what we return here because installd
|
||||
// will replace the filter with 'quicken' anyway.
|
||||
// However, we return a non profile guided filter so that we simplify the logic of
|
||||
// merging profiles.
|
||||
// TODO(calin): safe mode path could be simplified if we pass 'quicken' from
|
||||
// here rather than letting installd decide on the filter.
|
||||
return getNonProfileGuidedCompilerFilter(targetCompilerFilter);
|
||||
return getSafeModeCompilerFilter(targetCompilerFilter);
|
||||
}
|
||||
|
||||
if (isProfileGuidedCompilerFilter(targetCompilerFilter) && isUsedByOtherApps) {
|
||||
|
||||
@@ -92,11 +92,12 @@ import static com.android.server.pm.InstructionSets.getPreferredInstructionSet;
|
||||
import static com.android.server.pm.InstructionSets.getPrimaryInstructionSet;
|
||||
import static com.android.server.pm.PackageManagerServiceCompilerMapping.getCompilerFilterForReason;
|
||||
import static com.android.server.pm.PackageManagerServiceCompilerMapping.getFullCompilerFilter;
|
||||
import static com.android.server.pm.PackageManagerServiceCompilerMapping.getNonProfileGuidedCompilerFilter;
|
||||
import static com.android.server.pm.PermissionsState.PERMISSION_OPERATION_FAILURE;
|
||||
import static com.android.server.pm.PermissionsState.PERMISSION_OPERATION_SUCCESS;
|
||||
import static com.android.server.pm.PermissionsState.PERMISSION_OPERATION_SUCCESS_GIDS_CHANGED;
|
||||
|
||||
import static dalvik.system.DexFile.getNonProfileGuidedCompilerFilter;
|
||||
|
||||
import android.Manifest;
|
||||
import android.annotation.NonNull;
|
||||
import android.annotation.Nullable;
|
||||
|
||||
@@ -123,11 +123,4 @@ public class PackageManagerServiceCompilerMapping {
|
||||
|
||||
return value;
|
||||
}
|
||||
|
||||
/**
|
||||
* Return the non-profile-guided filter corresponding to the given filter.
|
||||
*/
|
||||
public static String getNonProfileGuidedCompilerFilter(String filter) {
|
||||
return DexFile.getNonProfileGuidedCompilerFilter(filter);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user