# ProGuard rules for StreamFlow TV # Keep all app classes (safety net) -keep class com.streamflow.tv.** { *; } -keepclassmembers class com.streamflow.tv.** { *; } # Moshi -keep class com.squareup.moshi.** { *; } -keepclassmembers class * { @com.squareup.moshi.Json ; } -keepclassmembers class * { @com.squareup.moshi.JsonClass ; } # Kotlin Metadata (critical for Moshi reflection adapter) -keep class kotlin.Metadata { *; } -keepattributes RuntimeVisibleAnnotations -keepattributes RuntimeInvisibleAnnotations -keepattributes *Annotation* # Retrofit -dontwarn retrofit2.** -keep class retrofit2.** { *; } -keepattributes Signature -keepattributes Exceptions -keepclassmembers,allowshrinking,allowobfuscation interface * { @retrofit2.http.* ; } # OkHttp -dontwarn okhttp3.** -dontwarn okio.** -keep class okhttp3.** { *; } -keep class okio.** { *; } # Kotlin Coroutines -keepnames class kotlinx.coroutines.internal.MainDispatcherFactory {} -keepnames class kotlinx.coroutines.CoroutineExceptionHandler {} -keepclassmembers class kotlinx.** { volatile ; } # Coil -dontwarn coil.** -keep class coil.** { *; } # AndroidX Compose -keep class androidx.compose.** { *; } -dontwarn androidx.compose.** # ExoPlayer / Media3 -keep class androidx.media3.** { *; } -dontwarn androidx.media3.**