ComposeTv
Introduction: Android TV App built using Jetpack Compose TV APIs
Tags:
Android TV sample app built with Jetpack Compose for TV, Hilt, Ktor, and Media3.
TMDB Login
The login screen uses TMDB's v3 user authentication flow.
Requirements
- Configure a TMDB API key before running the app.
- Use a TMDB username and password on the login screen. TMDB does not accept email for this API flow.
You can provide the API key with either option:
export TMDB_API_KEY="your_api_key_here"
or:
# ~/.gradle/gradle.properties
tmdbApiKey=your_api_key_here
How It Works
When the user signs in, the app calls TMDB in this order:
POST /authentication/token/newto create a request token.POST /authentication/token/validate_with_loginwith the TMDB username, password, and request token.POST /authentication/session/newto exchange the validated token for a TMDBsession_id.
The resulting session_id is stored through the app's UserSession layer. After a successful login, the app navigates to the "Who Is Watching" screen and then into Home.
Notes
- The app stores the TMDB session id, not the user's password.
- If the device is behind an HTTPS-intercepting proxy, debug builds may need a trusted user certificate.
- If the TMDB API key is missing, the login screen shows a configuration error instead of attempting authentication.
