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

Commit edb1339a authored by Jared Duke's avatar Jared Duke
Browse files

Refine (optional) system_server Proguard config

Allow removal of synthetic members, as well as access modifications,
improving both inlining performance and low-risk size reduction.

Bug: 203088572,210510433
Test: SYSTEM_OPTIMIZE_JAVA=true m (validate services.jar/odex change)
Change-Id: I17fd15623351b985d49034f4de13425b31a93758
parent 4ec097ba
Loading
Loading
Loading
Loading
+12 −2
Original line number Diff line number Diff line
# TODO(b/196084106): Refine and optimize this configuration. Note that this
# configuration is only used when `SOONG_CONFIG_ANDROID_SYSTEM_OPTIMIZE_JAVA=true`.
-keep,allowoptimization,allowaccessmodification class ** {
  *;
  !synthetic *;
}

# Various classes subclassed in ethernet-service (avoid marking final).
@@ -9,3 +9,13 @@

# Referenced via CarServiceHelperService in car-frameworks-service (avoid removing).
-keep public class com.android.server.utils.Slogf { *; }

# Allows making private and protected methods/fields public as part of
# optimization. This enables inlining of trivial getter/setter methods.
-allowaccessmodification

# Disallow accessmodification for soundtrigger classes. Logging via reflective
# public member traversal can cause infinite loops. See b/210901706.
-keep,allowoptimization class com.android.server.soundtrigger_middleware.** {
  !synthetic *;
}