feat: migrate to futbol-libre.su with resilient domain architecture

- Add SiteConfig: centralized domain management with dynamic resolution
- Fix stream extraction: pattern-based URL detection instead of hardcoded host check
- decodeEmbeddedEventUrl now detects eventos URLs by structure (path + param), not domain
- StreamRepository and StreamOptionMetadata use SiteConfig as single source of truth
- Domain auto-discovery: probes known domains on app start, persists working one
- Update network_security_config with new domain + CDN
- Add unit test infrastructure (JUnit, MockK, Truth) with 24 tests
- Improve error handling in MainFragment with descriptive messages
This commit is contained in:
renato97
2026-04-28 21:01:04 -03:00
parent f395fbbfcc
commit 5bc90fd101
10 changed files with 382 additions and 27 deletions

View File

@@ -71,4 +71,12 @@ dependencies {
// Coil for image loading
implementation("io.coil-kt:coil:2.5.0")
// Testing
testImplementation("junit:junit:4.13.2")
testImplementation("io.mockk:mockk:1.13.9")
testImplementation("com.google.truth:truth:1.4.2")
testImplementation("org.jsoup:jsoup:1.17.2")
testImplementation("com.squareup.okhttp3:mockwebserver:4.12.0")
testImplementation("org.jetbrains.kotlinx:kotlinx-coroutines-test:1.7.3")
}