Merge "Allow flag-guarded Java optimizations for SystemUI"

This commit is contained in:
TreeHugger Robot
2021-12-15 18:36:53 +00:00
committed by Android (Google) Code Review
2 changed files with 36 additions and 9 deletions

View File

@@ -234,9 +234,36 @@ android_library {
plugins: ["dagger2-compiler"],
}
soong_config_module_type_import {
from: "frameworks/base/services/Android.bp",
module_types: ["system_optimized_java_defaults"],
}
system_optimized_java_defaults {
name: "SystemUI_app_defaults",
soong_config_variables: {
SYSTEM_OPTIMIZE_JAVA: {
optimize: {
enabled: true,
optimize: true,
shrink: true,
proguard_flags_files: ["proguard.flags"],
},
conditions_default: {
optimize: {
proguard_flags_files: ["proguard.flags"],
},
},
},
},
}
android_app {
name: "SystemUI",
defaults: ["platform_app_defaults"],
defaults: [
"platform_app_defaults",
"SystemUI_app_defaults",
],
static_libs: [
"SystemUI-core",
],
@@ -247,10 +274,6 @@ android_app {
certificate: "platform",
privileged: true,
optimize: {
proguard_flags_files: ["proguard.flags"],
},
kotlincflags: ["-Xjvm-default=enable"],
dxflags: ["--multi-dex"],

View File

@@ -33,10 +33,14 @@
*;
}
-keep class com.android.systemui.dagger.GlobalRootComponent { *; }
-keep class com.android.systemui.dagger.GlobalRootComponent$SysUIComponentImpl { *; }
-keep class com.android.systemui.dagger.Dagger** { *; }
-keep class com.android.systemui.tv.Dagger** { *; }
-keep,allowoptimization,allowaccessmodification class com.android.systemui.dagger.GlobalRootComponent { !synthetic *; }
-keep,allowoptimization,allowaccessmodification class com.android.systemui.dagger.GlobalRootComponent$SysUIComponentImpl { !synthetic *; }
-keep,allowoptimization,allowaccessmodification class com.android.systemui.dagger.Dagger** { !synthetic *; }
-keep,allowoptimization,allowaccessmodification class com.android.systemui.tv.Dagger** { !synthetic *; }
# Allows proguard to make private and protected methods and fields public as
# part of optimization. This lets proguard inline trivial getter/setter methods.
-allowaccessmodification
# Removes runtime checks added through Kotlin to JVM code genereration to
# avoid linear growth as more Kotlin code is converted / added to the codebase.