Fix gson usage with R8 full mode
Ensure the appropriate signatures are retained for ClockRegistry's gson
usage when R8 full mode is enabled.
Bug: 215530220
Bug: 229771520
Test: m + boot tests
Change-Id: I824b870a355a4cfea04e55d5648a6c441ab446d3
(cherry picked from commit 994594ba6f490c1fcb2035ba79be53246424335c)
Merged-In: I824b870a355a4cfea04e55d5648a6c441ab446d3
diff --git a/packages/SystemUI/shared/Android.bp b/packages/SystemUI/shared/Android.bp
index 18bd6b4..f59a320 100644
--- a/packages/SystemUI/shared/Android.bp
+++ b/packages/SystemUI/shared/Android.bp
@@ -59,6 +59,9 @@
resource_dirs: [
"res",
],
+ optimize: {
+ proguard_flags_files: ["proguard.flags"],
+ },
java_version: "1.8",
min_sdk_version: "current",
plugins: ["dagger2-compiler"],
diff --git a/packages/SystemUI/shared/proguard.flags b/packages/SystemUI/shared/proguard.flags
new file mode 100644
index 0000000..5eda045
--- /dev/null
+++ b/packages/SystemUI/shared/proguard.flags
@@ -0,0 +1,4 @@
+# Retain signatures of TypeToken and its subclasses for gson usage in ClockRegistry
+-keepattributes Signature
+-keep,allowobfuscation,allowshrinking class com.google.gson.reflect.TypeToken
+-keep,allowobfuscation,allowshrinking class * extends com.google.gson.reflect.TypeToken
\ No newline at end of file