From ae5d3b000ce04552b717aaebb4cd77f0e62d7071 Mon Sep 17 00:00:00 2001 From: cb-palanim Date: Tue, 22 Apr 2025 11:31:00 +0530 Subject: [PATCH] Update consumer rules for retrofit proguard --- README.md | 2 +- chargebee/build.gradle | 2 +- chargebee/consumer-rules.pro | 14 +++++++++++++- .../main/java/com/chargebee/android/Chargebee.kt | 2 +- 4 files changed, 16 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 347becc..b5bf7e5 100644 --- a/README.md +++ b/README.md @@ -23,7 +23,7 @@ The following requirements must be set up before installing Chargebee’s Androi The `Chargebee-Android` SDK can be installed by adding below dependency to the `build.gradle` file: ```kotlin -implementation 'com.chargebee:chargebee-android:1.2.2' +implementation 'com.chargebee:chargebee-android:1.2.3' ``` ## Example project diff --git a/chargebee/build.gradle b/chargebee/build.gradle index e62fca6..62bf7c6 100644 --- a/chargebee/build.gradle +++ b/chargebee/build.gradle @@ -8,7 +8,7 @@ android { minSdkVersion 21 targetSdkVersion 31 versionCode 1 - versionName "1.2.2" + versionName "1.2.3" testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" consumerProguardFiles "consumer-rules.pro" diff --git a/chargebee/consumer-rules.pro b/chargebee/consumer-rules.pro index 83dc4b3..c6e707e 100644 --- a/chargebee/consumer-rules.pro +++ b/chargebee/consumer-rules.pro @@ -1,2 +1,14 @@ # keep the classes when optimizing the code --keep class com.chargebee.android.** { *;} \ No newline at end of file +-keep class com.chargebee.android.** { *;} + +# With R8 full mode generic signatures are stripped for classes that are not +# kept. Suspend functions are wrapped in continuations where the type argument +# is used. +-keep,allowobfuscation,allowshrinking class kotlin.coroutines.Continuation + +# R8 full mode strips generic signatures from return types if not kept. +-if interface * { @retrofit2.http.* public *** *(...); } +-keep,allowoptimization,allowshrinking,allowobfuscation class <3> + +# With R8 full mode generic signatures are stripped for classes that are not kept. +-keep,allowobfuscation,allowshrinking class retrofit2.Response \ No newline at end of file diff --git a/chargebee/src/main/java/com/chargebee/android/Chargebee.kt b/chargebee/src/main/java/com/chargebee/android/Chargebee.kt index 484eb71..0deaa5f 100644 --- a/chargebee/src/main/java/com/chargebee/android/Chargebee.kt +++ b/chargebee/src/main/java/com/chargebee/android/Chargebee.kt @@ -35,7 +35,7 @@ object Chargebee { var appName: String = "Chargebee" var environment: String = "cb_android_sdk" const val platform: String = "Android" - const val sdkVersion: String = "1.2.2" + const val sdkVersion: String = "1.2.3" const val limit: String = "100" private const val PLAY_STORE_SUBSCRIPTION_URL = "https://play.google.com/store/account/subscriptions"