reactivedroid/TvFlix
53.3
Adequate · 22 September 2026
1.8k
lines of production code
Kotlin
primary language
7
measurements over time
What this system is
This system is an Android application that serves as a TV show catalog and favorites manager, built with modern Android architecture. It leverages Kotlin, Hilt for dependency injection, and Compose for the UI, replacing older Java and MVP patterns. The app integrates Firebase for analytics, crash reporting, and remote configuration, while utilizing Retrofit and OkHttp for network communication. The project also includes comprehensive UI and unit tests to ensure navigation and data handling work correctly.
Features
Adds Firebase analytics, crashlytics, and remote config support
The app now integrates Firebase for analytics, crashlytics, and remote configuration. Users benefit from improved crash reporting and analytics tracking, while the app can dynamically adjust behavior based on remote configuration settings. The application class initializes Firebase, and a new analytics interface and handler are introduced to track events like favorite actions.
app/src/main/java/com/android/tvflix · high confidence
Project documentation and repository metadata added
The repository now includes standard governance and legal files: a Code of Conduct, a Contributing guide, an MIT License, and a README detailing the app's features and architecture. Additionally, a release notes file was added, and the Gradle wrapper scripts were updated to include Apache 2.0 licensing headers.
(repo-wide) · high confidence
Behavioural changes
Centralized dependency and version management in buildSrc
The project has moved all dependency declarations and version numbers into a centralized Kotlin object in buildSrc. This change updates the Android Gradle Plugin to 8.7.3, Kotlin to 2.1.0, and various AndroidX, Firebase, and testing libraries to their latest specified versions. Users will benefit from a more maintainable build configuration where library versions are managed in a single location, ensuring consistency across the project.
buildSrc · high confidence
Removed legacy Java network module and interceptor
The Java-based network configuration has been removed from the application. Specifically, the \ApiInterceptor\ class, which previously appended an empty \api\_key\ query parameter to all requests, and the \NetworkModule\ class, which configured the \OkHttpClient\, \Retrofit\ instance, and dependency injection bindings for caching and logging, have been deleted. This change eliminates the old Java implementation of the network layer.
app/src/main/java/com/android/ashwiask/tvmaze/network · medium confidence
Removed legacy Java utility classes
The Java files Constants.java and GridItemDecoration.java have been removed from the app's common package. This cleanup eliminates unused or obsolete code, likely as part of a broader migration to Kotlin and modern AndroidX libraries.
app/src/main/java/com/android/ashwiask/tvmaze/common · high confidence
Removed legacy MVP and Dagger 2 architecture from the home screen
The home screen implementation has been refactored by removing the old MVP (Model-View-Presenter) structure and the Dagger 2 dependency injection setup. Specifically, the \AppComponent\, \AppModule\, \HomeComponent\, \HomeModule\, and related presenter classes have been deleted. This removes the previous data flow and view-binding logic for the home screen, paving the way for a new architecture (likely MVVM or a different DI approach) in subsequent changes.
app/src/main/java/com/android/ashwiask/tvmaze/home · high confidence
Updated ProGuard rules for modern Android libraries
The app's ProGuard configuration has been significantly expanded to include obfuscation and optimization rules for Firebase, RxJava, Retrofit, Glide, and other dependencies, while also suppressing warnings for libraries like OkHttp and Apache Commons.
app · high confidence
Upgraded Gradle wrapper to version 8.9
The project's Gradle wrapper has been updated from version 3.3 to 8.9, which will cause the build system to use the newer Gradle release for all future builds.
gradle · high confidence
Test coverage
Added UI tests for main navigation and removed obsolete instrumentation test; Added unit tests for HomeViewModel and FavoritesRepository.
Dependencies
Migrated build configuration to Kotlin DSL and modernized Android dependencies
The project's build system has been migrated from Groovy to Kotlin DSL (build.gradle.kts), enabling type-safe build scripts and modern Gradle plugin management. The Android build configuration now targets Java 17, utilizes AndroidX libraries, and integrates Firebase services (Crashlytics, Performance Monitoring, Analytics, Remote Config) and Hilt for dependency injection. Additionally, the build script includes checks for code style (Checkstyle, PMD) and optimizes memory settings for faster builds.
(dependencies) · high confidence
Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.
How this codebase got here
This is the PUBLIC form of this artifact. Findings are listed in full, but the details of SECURITY findings — which rule fired, in which file, on which line, and how to fix it — are deliberately withheld, and any secret-scanner results are excluded entirely. Where detail is absent here it was REMOVED FOR PUBLICATION; it is not missing from the analysis. The complete artifact is available from the repository owner.
Score
- CAI 49 → 53 (+4.0)
- Rubric changed (rubric-2026.08.19 → rubric-2026.09.15) — scores are not directly comparable.
Lenses
- Code Health 100 → 100 (+0.1)
- Architecture 100 → 97 (-2.9)
- Maturity 59 → 50 (-8.6)
- Readiness 41 → 55 (+13.7)
- Security 80 → 100 (+19.7)
- Domain Modelling 38 → 40 (+2.0)
Resolved (10)
- Coverage not included — suite not readable by the collector
- Dependency hygiene not measured — dependency manifest found but not parsed for hygiene
- Duplicated block (10 lines × 2) (app/src/main/java/com/android/tvflix/favorite/FavoriteShowsRepository.kt)
- High: security finding (details withheld)
- High: security finding (details withheld)
- No exposed public API
- Rotate the exposed credentials — git history can't be un-committed
- Secret: generic-api-key (app/google-services.json)
- Test reliability not included
- single-maintainer — knowledge-concentration (bus factor) risk
New (10)
- Dependency hygiene PARTLY measured — Maven/Gradle declarations read, no dependency graph resolved
- Documentation: no installation or build instructions (README.md)
- Documentation: no usage examples (README.md)
- Duplicated block (9 lines × 2) (app/src/main/java/com/android/tvflix/favorite/FavoriteShowsRepository.kt)
- Further orphaned files (smaller)
- High: security finding (details withheld)
- High: security finding (details withheld)
- No dependency advisory monitoring
- Orphaned knowledge (app/src/main/java/com/android/tvflix/main/MainActivity.kt)
- Workflow token permissions not restricted
Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.
Survey your own repository
reactivedroid/TvFlix was measured the same way every project in this corpus was: the same rubric, at a pinned commit, with the result published in full. Point a surveyor at a repository you know and see whether you agree with it.
About this page
- The score is its most recent published measurement, taken on 22 September 2026 at a pinned commit. It is not a live figure and does not change until the project is measured again.
- Measured at commit 5dbea153b29820873686c701b5084735a3b0bc4f — the exact code this score is about.
- Scored under rubric-2026.09.15 — the same rubric and the same method as every other entry in this index.
- Measured by watchdog.canine.dev using codehealth-analyzer preprod-90d5d2fe38ee.