Skip to content

Modernize player screen lock experience: migrate to Media3, refactor UI & lifecycle#1

Merged
halilozel1903 merged 1 commit into
masterfrom
codex/fix-design-issues-and-modernize-layout
May 30, 2026
Merged

Modernize player screen lock experience: migrate to Media3, refactor UI & lifecycle#1
halilozel1903 merged 1 commit into
masterfrom
codex/fix-design-issues-and-modernize-layout

Conversation

@halilozel1903

Copy link
Copy Markdown
Owner

Motivation

  • Modernize the playback stack by replacing legacy ExoPlayer artifacts with AndroidX Media3 and update the project SDK to current platform expectations.
  • Improve robustness and UX by refactoring player lifecycle, state persistence, and back-navigation handling.
  • Refresh the on-screen controller to a cleaner, accessible and themeable design with reusable styles and drawables.

Description

  • Replaced legacy ExoPlayer dependency with Media3 modules in app/build.gradle (androidx.media3:media3-exoplayer:1.8.1, media3-exoplayer-hls, media3-ui) and raised compileSdk / targetSdk to 35.
  • Rewrote MainActivity.kt to use androidx.media3.exoplayer.ExoPlayer, added robust lifecycle handling (initializePlayer, releasePlayer, savePlaybackState), saved-instance-state keys, and modern back navigation via onBackPressedDispatcher.
  • Reworked layout and controller: replaced RelativeLayout player view with androidx.media3.ui.PlayerView inside a ConstraintLayout, redesigned custom_controller.xml with new drawables (bg_player_overlay, bg_control_pill, bg_bottom_panel, bg_primary_control), reusable styles (PlayerControlButton, PlayerPrimaryControlButton) and localized strings for accessibility.
  • Cleaned manifest and themes, added a player-focused color palette and timebar styling, and fixed an issue in gradle.properties newline/comment formatting.

Testing

  • Attempted an automated build with ./gradlew :app:assembleDebug using JAVA_HOME=/root/.local/share/mise/installs/java/17.0.2; the build could not complete because the environment blocked resolving the Android Gradle Plugin and Media3 artifacts (network tunnel returned 403 Forbidden).
  • Tried switching JVM and offline modes to reproduce; Gradle still failed to resolve the plugin marker in this environment so no successful APK was produced.
  • No unit or instrumentation tests were executed as part of this run due to the dependency resolution blockage.

Codex Task

Copilot AI review requested due to automatic review settings May 30, 2026 21:41

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot encountered an error and was unable to review this pull request. You can try again by re-requesting a review.

@halilozel1903 halilozel1903 merged commit cab8e9e into master May 30, 2026
1 check failed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants