rn-linkrunner 2.5.0 → 2.5.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -74,6 +74,7 @@ android {
74
74
  targetSdkVersion getExtOrIntegerDefault('targetSdkVersion')
75
75
  versionCode 1
76
76
  versionName "1.0"
77
+ consumerProguardFiles "consumer-rules.pro"
77
78
  }
78
79
 
79
80
  buildTypes {
@@ -117,7 +118,7 @@ dependencies {
117
118
  implementation 'com.facebook.react:react-android:0.80.0'
118
119
 
119
120
  // Linkrunner SDK
120
- implementation "io.linkrunner:android-sdk:3.3.1"
121
+ implementation "io.linkrunner:android-sdk:3.3.2"
121
122
 
122
123
  // Kotlin standard libraries - use stable versions
123
124
  implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlinVersion"
@@ -1,12 +1,21 @@
1
1
  # Keep all classes in the io.linkrunner package
2
2
  -keep class io.linkrunner.** { *; }
3
3
 
4
+ # Keep all field and method names for proper SDK functionality
5
+ -keepclassmembernames class io.linkrunner.sdk.** { *; }
6
+
4
7
  # Keep all interfaces in the io.linkrunner package
5
8
  -keep interface io.linkrunner.** { *; }
6
9
 
7
10
  # Keep all enums in the io.linkrunner package
8
11
  -keep enum io.linkrunner.** { *; }
9
12
 
13
+ # Keep enum methods for proper serialization (required for SDK enums)
14
+ -keepclassmembers enum io.linkrunner.sdk.** {
15
+ public static **[] values();
16
+ public static ** valueOf(java.lang.String);
17
+ }
18
+
10
19
  # Keep all annotations in the io.linkrunner package
11
20
  -keep @interface io.linkrunner.** { *; }
12
21
 
@@ -52,4 +61,41 @@
52
61
  -keep class io.linkrunner.sdk.models.** { *; }
53
62
 
54
63
  # Keep all utils classes
55
- -keep class io.linkrunner.utils.** { *; }
64
+ -keep class io.linkrunner.utils.** { *; }
65
+
66
+ # ===========================================
67
+ # GSON SERIALIZATION SUPPORT
68
+ # ===========================================
69
+
70
+ # Keep essential attributes for JSON serialization
71
+ -keepattributes Signature
72
+ -keepattributes *Annotation*
73
+ -keepattributes EnclosingMethod
74
+ -keepattributes InnerClasses
75
+
76
+ # Gson specific classes - required for TypeToken to work
77
+ # This is critical for the LinkRunner SDK's WorkManager data deserialization
78
+ -keep class com.google.gson.reflect.TypeToken { *; }
79
+ -keep class * extends com.google.gson.reflect.TypeToken
80
+ -keep public class * implements java.lang.reflect.Type
81
+
82
+ # Keep Gson internal classes to prevent any serialization issues with R8
83
+ -keep class com.google.gson.internal.** { *; }
84
+
85
+ # Keep @SerializedName annotated fields (SDK scope only)
86
+ -keepclassmembers class io.linkrunner.sdk.** {
87
+ @com.google.gson.annotations.SerializedName <fields>;
88
+ }
89
+
90
+ # ===========================================
91
+ # KOTLIN METADATA (SDK-SCOPED ONLY)
92
+ # ===========================================
93
+
94
+ # Keep Kotlin metadata for SDK classes
95
+ -keep class kotlin.Metadata { *; }
96
+
97
+ # Keep Kotlin data class methods for SDK classes
98
+ -keepclassmembers class io.linkrunner.sdk.** {
99
+ public ** component*();
100
+ public ** copy(...);
101
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "rn-linkrunner",
3
- "version": "2.5.0",
3
+ "version": "2.5.1",
4
4
  "description": "React Native Package for linkrunner",
5
5
  "main": "lib/commonjs/index",
6
6
  "module": "lib/module/index",