Initial commit: HorrorTV Android TV App for Chromecast 4K
Features: - Horror-themed categories (Scream, Halloween, Conjuring, etc.) - ExoPlayer native video playback from streamimdb.me - D-pad navigation with visible focus indicators (8dp border + shadow) - Custom app icon (Scream mask) - VideoExtractor for HTML parsing and URL resolution - FocusRequester crash fixes - HLS streaming support Built with: - Kotlin + Jetpack Compose - ExoPlayer 1.4.0 - Hilt DI - Coil image loading - OMDb API integration Tested on Chromecast 4K with working video playback.
This commit is contained in:
72
app/proguard-rules.pro
vendored
Normal file
72
app/proguard-rules.pro
vendored
Normal file
@@ -0,0 +1,72 @@
|
||||
-keep public class * extends android.app.Activity
|
||||
-keep public class * extends android.app.Service
|
||||
-keep public class * extends android.content.BroadcastReceiver
|
||||
-keep public class * extends androidx.lifecycle.ViewModel
|
||||
|
||||
-keep class com.horrortv.app.data.remote.omdb.dto.** { *; }
|
||||
-keep class com.horrortv.app.domain.model.** { *; }
|
||||
|
||||
-keep class retrofit2.** { *; }
|
||||
-keepclassmembernames class * {
|
||||
@retrofit2.http.* <methods>;
|
||||
}
|
||||
|
||||
-keep class okhttp3.** { *; }
|
||||
-keep interface okhttp3.** { *; }
|
||||
-dontwarn okhttp3.**
|
||||
-dontwarn okio.**
|
||||
|
||||
-keep class com.google.gson.** { *; }
|
||||
-keepclassmembers class * {
|
||||
@com.google.gson.annotations.SerializedName <fields>;
|
||||
}
|
||||
|
||||
-keep class dagger.** { *; }
|
||||
-keep class * extends dagger.** { *; }
|
||||
-keep class * implements dagger.** { *; }
|
||||
-keep class * extends javax.inject.** { *; }
|
||||
-keep class * implements javax.inject.** { *; }
|
||||
-dontwarn dagger.**
|
||||
|
||||
-keep class io.coil.** { *; }
|
||||
-keep class coil.** { *; }
|
||||
|
||||
-keepclassmembers class kotlinx.coroutines.** {
|
||||
volatile <fields>;
|
||||
}
|
||||
-keepnames class kotlinx.coroutines.internal.MainDispatcherFactory {}
|
||||
-keepnames class kotlinx.coroutines.CoroutineExceptionHandler {}
|
||||
-keepclassmembernames class kotlinx.coroutines.** {
|
||||
@kotlinx.coroutines.InternalCoroutinesApi <methods>;
|
||||
}
|
||||
|
||||
-keep class kotlin.** { *; }
|
||||
-keep class * implements kotlin.** { *; }
|
||||
|
||||
-assumenosideeffects class android.util.Log {
|
||||
public static boolean isLoggable(...);
|
||||
public static int v(...);
|
||||
public static int d(...);
|
||||
public static int i(...);
|
||||
}
|
||||
|
||||
-optimizationpasses 5
|
||||
-dontusemixedcaseclassnames
|
||||
-dontskipnonpubliclibraryclasses
|
||||
-verbose
|
||||
|
||||
-optimizations !code/simplification/arithmetic,!field/*,!class/merging/*,!code/allocation/variable
|
||||
|
||||
-keepattributes *Annotation*
|
||||
-keepattributes SourceFile,LineNumberTable
|
||||
-keepattributes RuntimeVisibleAnnotations,RuntimeInvisibleAnnotations
|
||||
-keepattributes RuntimeVisibleParameterAnnotations,RuntimeInvisibleParameterAnnotations
|
||||
-keepattributes AnnotationDefault
|
||||
|
||||
-renamesourcefileattribute SourceFile
|
||||
-keepattributes EnclosingMethod
|
||||
|
||||
-dontwarn javax.annotation.**
|
||||
-dontwarn kotlin.Unit
|
||||
-dontwarn retrofit2.Platform$Java8
|
||||
-dontwarn kotlin.jvm.internal.Reflection
|
||||
Reference in New Issue
Block a user