From 33263cf9f302cc68fa4929398df7332600449ed5 Mon Sep 17 00:00:00 2001
From: Alex <alex.tran1502@gmail.com>
Date: Thu, 14 Nov 2024 16:05:32 -0600
Subject: [PATCH] fix(mobile): Android local notification failes to invoke
 (#14155)

* fix(mobile): local notification failed to invoke

* add proguard rules
---
 mobile/android/app/proguard-rules.pro | 32 +++++++++++++++++++++++++++
 mobile/android/gradle.properties      |  2 +-
 2 files changed, 33 insertions(+), 1 deletion(-)
 create mode 100644 mobile/android/app/proguard-rules.pro

diff --git a/mobile/android/app/proguard-rules.pro b/mobile/android/app/proguard-rules.pro
new file mode 100644
index 0000000000..ea6dd795b5
--- /dev/null
+++ b/mobile/android/app/proguard-rules.pro
@@ -0,0 +1,32 @@
+##---------------Begin: proguard configuration for Gson  ----------
+# Gson uses generic type information stored in a class file when working with fields. Proguard
+# removes such information by default, so configure it to keep all of it.
+-keepattributes Signature
+
+# For using GSON @Expose annotation
+-keepattributes *Annotation*
+
+# Gson specific classes
+-dontwarn sun.misc.**
+#-keep class com.google.gson.stream.** { *; }
+
+# Application classes that will be serialized/deserialized over Gson
+-keep class com.google.gson.examples.android.model.** { <fields>; }
+
+# Prevent proguard from stripping interface information from TypeAdapter, TypeAdapterFactory,
+# JsonSerializer, JsonDeserializer instances (so they can be used in @JsonAdapter)
+-keep class * extends com.google.gson.TypeAdapter
+-keep class * implements com.google.gson.TypeAdapterFactory
+-keep class * implements com.google.gson.JsonSerializer
+-keep class * implements com.google.gson.JsonDeserializer
+
+# Prevent R8 from leaving Data object members always null
+-keepclassmembers,allowobfuscation class * {
+  @com.google.gson.annotations.SerializedName <fields>;
+}
+
+# Retain generic signatures of TypeToken and its subclasses with R8 version 3.0 and higher.
+-keep,allowobfuscation,allowshrinking class com.google.gson.reflect.TypeToken
+-keep,allowobfuscation,allowshrinking class * extends com.google.gson.reflect.TypeToken
+
+##---------------End: proguard configuration for Gson  ----------
\ No newline at end of file
diff --git a/mobile/android/gradle.properties b/mobile/android/gradle.properties
index 8da8875290..78c37cc2a3 100644
--- a/mobile/android/gradle.properties
+++ b/mobile/android/gradle.properties
@@ -2,4 +2,4 @@ org.gradle.jvmargs=-Xmx4096M
 android.useAndroidX=true
 android.enableJetifier=true
 android.nonTransitiveRClass=false
-android.nonFinalResIds=false
+android.nonFinalResIds=false
\ No newline at end of file