feat: state-based D-pad navigation, seek mode, subtitle picker, 20-agent audit fixes
- Replace broken Compose focus system with state-based selectedButton approach - Add seek mode (DPAD_UP to enter, LEFT/RIGHT to seek, CENTER/DOWN to apply) - Make SubtitlePickerOverlay state-based (DPAD UP/DOWN navigate, CENTER select) - Fix 25 P0 crashes from 20-agent audit (SSRF, CancellationException, DTO defaults) - Fix UX issues: animations, padding, TvErrorDisplay, navigation, finishAffinity - Fix pause button: remove clickable, onKeyEvent only, repeatCount guard - Add subtitle extraction: OpenSubtitles EN/ES, HI filtering, dedup - Fix override accumulation: clearOverridesOfType before setting new tracks - Disable tunneling for subtitle compatibility - Performance: AutoHideHolder, @Immutable models, contentType - Fix SearchScreen focus visibility: animated scale, white border, dimming - Fix PlayerButton invisible text: white on HorrorGray bg - Fix isLoading stuck in Home/Detail/SearchViewModel - Fix VideoExtractor CancellationException rethrow, IMDB_ID_PATTERN 7+ digits
This commit is contained in:
@@ -16,6 +16,7 @@ android {
|
||||
versionCode = 1
|
||||
versionName = "1.0"
|
||||
buildConfigField("String", "APP_NAME", "\"HorrorTV\"")
|
||||
buildConfigField("String", "OMDB_API_KEY", "\"${project.findProperty("OMDB_API_KEY") ?: "5854c81e"}\"")
|
||||
}
|
||||
|
||||
signingConfigs {
|
||||
@@ -75,7 +76,7 @@ android {
|
||||
kotlinOptions {
|
||||
jvmTarget = "17"
|
||||
freeCompilerArgs += listOf(
|
||||
"-Xopt-in=kotlin.RequiresOptIn",
|
||||
"-opt-in=kotlin.RequiresOptIn",
|
||||
"-Xjvm-default=all"
|
||||
)
|
||||
}
|
||||
@@ -141,7 +142,12 @@ dependencies {
|
||||
implementation("androidx.media3:media3-ui:1.4.0")
|
||||
implementation("androidx.media3:media3-common:1.4.0")
|
||||
implementation("org.jsoup:jsoup:1.17.2")
|
||||
|
||||
|
||||
testImplementation("junit:junit:4.13.2")
|
||||
testImplementation("io.mockk:mockk:1.13.9")
|
||||
testImplementation("org.jetbrains.kotlinx:kotlinx-coroutines-test:1.7.3")
|
||||
testImplementation("app.cash.turbine:turbine:1.0.0")
|
||||
|
||||
debugImplementation(platform("androidx.compose:compose-bom:2024.10.01"))
|
||||
debugImplementation("androidx.compose.ui:ui-tooling")
|
||||
debugImplementation("androidx.compose.ui:ui-test-manifest")
|
||||
|
||||
Reference in New Issue
Block a user