# Add project specific ProGuard rules here. # You can control the set of applied configuration files using the # proguardFiles setting in build.gradle. # Keep Hilt classes -keep class dagger.hilt.** { *; } -keep class javax.inject.** { *; } -keep class * extends dagger.hilt.android.internal.managers.ViewComponentManager$FragmentContextWrapper { *; } # Keep Room classes -keep class * extends androidx.room.RoomDatabase -keep @androidx.room.Entity class * # Keep data classes -keepclassmembers class * { @androidx.room.* ; } # Keep security-related classes -keep class androidx.security.** { *; } -dontwarn androidx.security.** # Play Integrity / Play Core -keep class com.google.android.play.core.integrity.** { *; } -dontwarn com.google.android.play.core.** # OkHttp / certificate pinning -dontwarn okhttp3.internal.platform.** # AppAuth (OIDC) -keep class net.openid.appauth.** { *; } -dontwarn net.openid.appauth.** # Gson / remote config / sync DTOs (field names must match JSON) -keep class com.smoa.config.SmoaClientConfigJson { *; } -keep class com.smoa.core.common.sync.CredentialSyncRequestDto { *; } -keep class com.smoa.sync.** { *; } # Keep Kotlin coroutines -keepnames class kotlinx.coroutines.internal.MainDispatcherFactory {} -keepnames class kotlinx.coroutines.CoroutineExceptionHandler {} # R8: optional references from CXF / Woodstox / Tink (desktop JDK & compile-only annotations) -dontwarn aQute.bnd.annotation.spi.ServiceProvider -dontwarn com.google.errorprone.annotations.CanIgnoreReturnValue -dontwarn com.google.errorprone.annotations.CheckReturnValue -dontwarn com.google.errorprone.annotations.Immutable -dontwarn com.google.errorprone.annotations.RestrictedApi -dontwarn javax.imageio.ImageIO -dontwarn javax.xml.stream.XMLEventFactory -dontwarn javax.xml.stream.XMLInputFactory -dontwarn javax.xml.stream.XMLOutputFactory -dontwarn javax.xml.stream.XMLResolver -dontwarn javax.xml.stream.util.XMLEventAllocator -dontwarn org.springframework.context.ApplicationContext