- Backend: Add Content-Type: application/json to all JSON API endpoints - Android TV: Reduce HomeViewModel memory usage (load 4 categories only, limit 15 items each) - Android TV: Prevent OOM kill on TV devices with limited RAM - Updated APK, docker-compose, health endpoint to v3.9.2
54 lines
1.4 KiB
Prolog
54 lines
1.4 KiB
Prolog
# 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 <fields>;
|
|
}
|
|
-keepclassmembers class * {
|
|
@com.squareup.moshi.JsonClass <fields>;
|
|
}
|
|
|
|
# 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.* <methods>;
|
|
}
|
|
|
|
# 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 <fields>;
|
|
}
|
|
|
|
# Coil
|
|
-dontwarn coil.**
|
|
-keep class coil.** { *; }
|
|
|
|
# AndroidX Compose
|
|
-keep class androidx.compose.** { *; }
|
|
-dontwarn androidx.compose.**
|
|
|
|
# ExoPlayer / Media3
|
|
-keep class androidx.media3.** { *; }
|
|
-dontwarn androidx.media3.**
|