Preserve EnclosingMethod+InnerClasses attributes

These attributes may be used at runtime to generate simple names
for classes. Add explicit Proguard rules to keep them, which preserves
current behavior when transitioning to R8 full mode. While some of the
downstream code referencing simple class names shouldn't assume
consistency, the size cost is relatively small (~10KB).

Test: atest CtsTileServiceTestCases (w/ R8 full mode)
Bug: 233427840
Change-Id: I4518e2e919207221319eb5d8b0e5ba658b450124
This commit is contained in:
Jared Duke
2022-06-03 11:14:24 -07:00
parent 981f63216b
commit 084685546b

View File

@@ -1,6 +1,9 @@
# Preserve line number information for debugging stack traces.
-keepattributes SourceFile,LineNumberTable
# Preserve relationship information that can impact simple class naming.
-keepattributes EnclosingMethod,InnerClasses
-keep class com.android.systemui.recents.OverviewProxyRecentsImpl
-keep class com.android.systemui.statusbar.car.CarStatusBar
-keep class com.android.systemui.statusbar.phone.CentralSurfaces