Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 23daba73 authored by Yifei Zhang's avatar Yifei Zhang Committed by Android (Google) Code Review
Browse files

Merge "systemui: separate proguard files into multiple ones" into main

parents a071bbd8 cedd452c
Loading
Loading
Loading
Loading
+10 −2
Original line number Diff line number Diff line
@@ -26,12 +26,19 @@ java_library {
    name: "SystemUIPluginLib",

    srcs: [
        "src/**/*.java",
        "src/**/*.kt",
        "bcsmartspace/src/**/*.java",
        "bcsmartspace/src/**/*.kt",
        "src/**/*.java",
        "src/**/*.kt",
    ],

    optimize: {
        proguard_flags_files: [
            "proguard_plugins.flags",
        ],
        export_proguard_flags_files: true,
    },

    // If you add a static lib here, you may need to also add the package to the ClassLoaderFilter
    // in PluginInstance. That will ensure that loaded plugins have access to the related classes.
    // You should also add it to proguard_common.flags so that proguard does not remove the portions
@@ -43,6 +50,7 @@ java_library {
        "SystemUIAnimationLib",
        "SystemUICommon",
        "SystemUILogLib",
        "androidx.annotation_annotation",
    ],

}
+9 −0
Original line number Diff line number Diff line
# The plugins and core log subpackages act as shared libraries that might be referenced in
# dynamically-loaded plugin APKs.
-keep class com.android.systemui.plugins.** {
    *;
}

-keep class com.android.systemui.log.core.** {
    *;
}
+1 −47
Original line number Diff line number Diff line
-include proguard_kotlin.flags
-keep class com.android.systemui.VendorServices

# Needed to ensure callback field references are kept in their respective
@@ -20,14 +21,6 @@
    public <init>(android.content.Context, android.util.AttributeSet);
}

# The plugins and core log subpackages act as shared libraries that might be referenced in
# dynamically-loaded plugin APKs.
-keep class com.android.systemui.plugins.** {
    *;
}
-keep class com.android.systemui.log.core.** {
    *;
}
-keep class androidx.core.app.CoreComponentFactory

# Keep the wm shell lib
@@ -49,45 +42,6 @@
# 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.
# These checks are generally applied to Java platform types (values returned
# from Java code that don't have nullness annotations), but we remove them to
# avoid code size increases.
#
# See also https://kotlinlang.org/docs/reference/java-interop.html
#
# TODO(b/199941987): Consider standardizing these rules in a central place as
# Kotlin gains adoption with other platform targets.
-assumenosideeffects class kotlin.jvm.internal.Intrinsics {
    # Remove check for method parameters being null
    static void checkParameterIsNotNull(java.lang.Object, java.lang.String);

    # When a Java platform type is returned and passed to Kotlin NonNull method,
    # remove the null check
    static void checkExpressionValueIsNotNull(java.lang.Object, java.lang.String);
    static void checkNotNullExpressionValue(java.lang.Object, java.lang.String);

    # Remove check that final value returned from method is null, if passing
    # back Java platform type.
    static void checkReturnedValueIsNotNull(java.lang.Object, java.lang.String, java.lang.String);
    static void checkReturnedValueIsNotNull(java.lang.Object, java.lang.String);

    # Null check for accessing a field from a parent class written in Java.
    static void checkFieldIsNotNull(java.lang.Object, java.lang.String, java.lang.String);
    static void checkFieldIsNotNull(java.lang.Object, java.lang.String);

    # Removes code generated from !! operator which converts Nullable type to
    # NonNull type. These would throw an NPE immediate after on access.
    static void checkNotNull(java.lang.Object, java.lang.String);
    static void checkNotNullParameter(java.lang.Object, java.lang.String);

    # Removes lateinit var check being used before being set. Check is applied
    # on every field access without this.
    static void throwUninitializedPropertyAccessException(java.lang.String);
}


# Strip verbose logs.
-assumenosideeffects class android.util.Log {
  static *** v(...);
+37 −0
Original line number Diff line number Diff line
# Removes runtime checks added through Kotlin to JVM code genereration to
# avoid linear growth as more Kotlin code is converted / added to the codebase.
# These checks are generally applied to Java platform types (values returned
# from Java code that don't have nullness annotations), but we remove them to
# avoid code size increases.
#
# See also https://kotlinlang.org/docs/reference/java-interop.html
#
# TODO(b/199941987): Consider standardizing these rules in a central place as
# Kotlin gains adoption with other platform targets.
-assumenosideeffects class kotlin.jvm.internal.Intrinsics {
    # Remove check for method parameters being null
    static void checkParameterIsNotNull(java.lang.Object, java.lang.String);

    # When a Java platform type is returned and passed to Kotlin NonNull method,
    # remove the null check
    static void checkExpressionValueIsNotNull(java.lang.Object, java.lang.String);
    static void checkNotNullExpressionValue(java.lang.Object, java.lang.String);

    # Remove check that final value returned from method is null, if passing
    # back Java platform type.
    static void checkReturnedValueIsNotNull(java.lang.Object, java.lang.String, java.lang.String);
    static void checkReturnedValueIsNotNull(java.lang.Object, java.lang.String);

    # Null check for accessing a field from a parent class written in Java.
    static void checkFieldIsNotNull(java.lang.Object, java.lang.String, java.lang.String);
    static void checkFieldIsNotNull(java.lang.Object, java.lang.String);

    # Removes code generated from !! operator which converts Nullable type to
    # NonNull type. These would throw an NPE immediate after on access.
    static void checkNotNull(java.lang.Object, java.lang.String);
    static void checkNotNullParameter(java.lang.Object, java.lang.String);

    # Removes lateinit var check being used before being set. Check is applied
    # on every field access without this.
    static void throwUninitializedPropertyAccessException(java.lang.String);
}
+1 −1

File changed.

Contains only whitespace changes.