diff options
| -rw-r--r-- | AconfigFlags.bp | 14 | ||||
| -rw-r--r-- | core/java/android/content/res/flags.aconfig | 10 | ||||
| -rw-r--r-- | core/jni/AndroidRuntime.cpp | 5 | ||||
| -rw-r--r-- | services/core/java/com/android/server/am/CachedAppOptimizer.java | 2 | ||||
| -rw-r--r-- | services/core/java/com/android/server/pm/permission/PermissionManagerServiceImpl.java | 4 |
5 files changed, 32 insertions, 3 deletions
diff --git a/AconfigFlags.bp b/AconfigFlags.bp index f96a1de078ed..02fee102b4c3 100644 --- a/AconfigFlags.bp +++ b/AconfigFlags.bp @@ -14,6 +14,7 @@ aconfig_srcjars = [ ":android.content.pm.flags-aconfig-java{.generated_srcjars}", + ":android.content.res.flags-aconfig-java{.generated_srcjars}", ":android.hardware.biometrics.flags-aconfig-java{.generated_srcjars}", ":android.net.vcn.flags-aconfig-java{.generated_srcjars}", ":android.nfc.flags-aconfig-java{.generated_srcjars}", @@ -190,6 +191,19 @@ java_aconfig_library { defaults: ["framework-minus-apex-aconfig-java-defaults"], } +// Resources +aconfig_declarations { + name: "android.content.res.flags-aconfig", + package: "android.content.res", + srcs: ["core/java/android/content/res/*.aconfig"], +} + +java_aconfig_library { + name: "android.content.res.flags-aconfig-java", + aconfig_declarations: "android.content.res.flags-aconfig", + defaults: ["framework-minus-apex-aconfig-java-defaults"], +} + // Biometrics aconfig_declarations { name: "android.hardware.biometrics.flags-aconfig", diff --git a/core/java/android/content/res/flags.aconfig b/core/java/android/content/res/flags.aconfig new file mode 100644 index 000000000000..0c2c0f494257 --- /dev/null +++ b/core/java/android/content/res/flags.aconfig @@ -0,0 +1,10 @@ +package: "android.content.res" + +flag { + name: "default_locale" + namespace: "resource_manager" + description: "Feature flag for default locale in LocaleConfig" + bug: "117306409" + # fixed_read_only or device wont boot because of permission issues accessing flags during boot + is_fixed_read_only: true +} diff --git a/core/jni/AndroidRuntime.cpp b/core/jni/AndroidRuntime.cpp index 4e4c7541a32e..08fb51b8b8e3 100644 --- a/core/jni/AndroidRuntime.cpp +++ b/core/jni/AndroidRuntime.cpp @@ -652,6 +652,8 @@ int AndroidRuntime::startVm(JavaVM** pJavaVM, JNIEnv** pEnv, bool zygote, bool p sizeof("-Xps-save-resolved-classes-delay-ms:")-1 + PROPERTY_VALUE_MAX]; char profileMinSavePeriodOptsBuf[sizeof("-Xps-min-save-period-ms:")-1 + PROPERTY_VALUE_MAX]; char profileMinFirstSaveOptsBuf[sizeof("-Xps-min-first-save-ms:") - 1 + PROPERTY_VALUE_MAX]; + char profileInlineCacheThresholdOptsBuf[ + sizeof("-Xps-inline-cache-threshold:") - 1 + PROPERTY_VALUE_MAX]; char madviseWillNeedFileSizeVdex[ sizeof("-XMadviseWillNeedVdexFileSize:")-1 + PROPERTY_VALUE_MAX]; char madviseWillNeedFileSizeOdex[ @@ -897,6 +899,9 @@ int AndroidRuntime::startVm(JavaVM** pJavaVM, JNIEnv** pEnv, bool zygote, bool p parseRuntimeOption("dalvik.vm.ps-min-first-save-ms", profileMinFirstSaveOptsBuf, "-Xps-min-first-save-ms:"); + parseRuntimeOption("dalvik.vm.ps-inline-cache-threshold", profileInlineCacheThresholdOptsBuf, + "-Xps-inline-cache-threshold:"); + property_get("ro.config.low_ram", propBuf, ""); if (strcmp(propBuf, "true") == 0) { addOption("-XX:LowMemoryMode"); diff --git a/services/core/java/com/android/server/am/CachedAppOptimizer.java b/services/core/java/com/android/server/am/CachedAppOptimizer.java index db933239874f..0caf26a5175b 100644 --- a/services/core/java/com/android/server/am/CachedAppOptimizer.java +++ b/services/core/java/com/android/server/am/CachedAppOptimizer.java @@ -264,7 +264,7 @@ public final class CachedAppOptimizer { @VisibleForTesting static final String DEFAULT_COMPACT_PROC_STATE_THROTTLE = String.valueOf(ActivityManager.PROCESS_STATE_RECEIVER); @VisibleForTesting static final long DEFAULT_FREEZER_DEBOUNCE_TIMEOUT = 10_000L; - @VisibleForTesting static final boolean DEFAULT_FREEZER_EXEMPT_INST_PKG = true; + @VisibleForTesting static final boolean DEFAULT_FREEZER_EXEMPT_INST_PKG = false; @VisibleForTesting static final boolean DEFAULT_FREEZER_BINDER_ENABLED = true; @VisibleForTesting static final long DEFAULT_FREEZER_BINDER_DIVISOR = 4; @VisibleForTesting static final int DEFAULT_FREEZER_BINDER_OFFSET = 500; diff --git a/services/core/java/com/android/server/pm/permission/PermissionManagerServiceImpl.java b/services/core/java/com/android/server/pm/permission/PermissionManagerServiceImpl.java index 21446549cfbd..574f121b033a 100644 --- a/services/core/java/com/android/server/pm/permission/PermissionManagerServiceImpl.java +++ b/services/core/java/com/android/server/pm/permission/PermissionManagerServiceImpl.java @@ -3379,7 +3379,7 @@ public class PermissionManagerServiceImpl implements PermissionManagerServiceInt final PermissionAllowlist permissionAllowlist = SystemConfig.getInstance().getPermissionAllowlist(); final String packageName = packageState.getPackageName(); - if (packageState.isVendor()) { + if (packageState.isVendor() || packageState.isOdm()) { return permissionAllowlist.getVendorPrivilegedAppAllowlistState(packageName, permissionName); } else if (packageState.isProduct()) { @@ -3474,7 +3474,7 @@ public class PermissionManagerServiceImpl implements PermissionManagerServiceInt // the permission's protectionLevel does not have the extra 'vendorPrivileged' // flag. if (allowed && isPrivilegedPermission && !bp.isVendorPrivileged() - && pkgSetting.isVendor()) { + && (pkgSetting.isVendor() || pkgSetting.isOdm())) { Slog.w(TAG, "Permission " + permissionName + " cannot be granted to privileged vendor apk " + pkg.getPackageName() + " because it isn't a 'vendorPrivileged' permission."); |