From 7ea075ea135c22b2de3e936209bd081552718ad0 Mon Sep 17 00:00:00 2001
From: parneet-guraya <gurayaparneet@gmail.com>
Date: Thu, 17 Aug 2023 03:50:07 +0530
Subject: [PATCH] migrate to media3

Signed-off-by: parneet-guraya <gurayaparneet@gmail.com>
---
 app/build.gradle                                |  5 ++++-
 .../talk/activities/FullScreenMediaActivity.kt  | 17 ++++++++++-------
 .../res/layout/activity_full_screen_media.xml   |  2 +-
 3 files changed, 15 insertions(+), 9 deletions(-)

diff --git a/app/build.gradle b/app/build.gradle
index fa2a4cd2c..681a26fbd 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -152,6 +152,7 @@ ext {
     roomVersion = "2.5.2"
     workVersion = "2.8.1"
     espressoVersion = "3.5.1"
+    media3_version = "1.1.1"
 }
 
 configurations.all {
@@ -263,7 +264,9 @@ dependencies {
     implementation "com.afollestad.material-dialogs:lifecycle:${materialDialogsVersion}"
 
     implementation 'com.google.code.gson:gson:2.10.1'
-    implementation 'com.google.android.exoplayer:exoplayer:2.19.0'
+
+    implementation "androidx.media3:media3-exoplayer:$media3_version"
+    implementation "androidx.media3:media3-ui:$media3_version"
 
     implementation 'com.github.chrisbanes:PhotoView:2.3.0'
     implementation 'pl.droidsonroids.gif:android-gif-drawable:1.2.27'
diff --git a/app/src/main/java/com/nextcloud/talk/activities/FullScreenMediaActivity.kt b/app/src/main/java/com/nextcloud/talk/activities/FullScreenMediaActivity.kt
index 7a665183d..b393d1abe 100644
--- a/app/src/main/java/com/nextcloud/talk/activities/FullScreenMediaActivity.kt
+++ b/app/src/main/java/com/nextcloud/talk/activities/FullScreenMediaActivity.kt
@@ -30,13 +30,15 @@ import android.view.Menu
 import android.view.MenuItem
 import android.view.View
 import android.view.WindowManager
+import androidx.annotation.OptIn
 import androidx.appcompat.app.AppCompatActivity
 import androidx.core.content.FileProvider
+import androidx.media3.common.MediaItem
+import androidx.media3.common.Player
+import androidx.media3.common.util.UnstableApi
+import androidx.media3.exoplayer.ExoPlayer
+import androidx.media3.ui.PlayerView
 import autodagger.AutoInjector
-import com.google.android.exoplayer2.MediaItem
-import com.google.android.exoplayer2.Player
-import com.google.android.exoplayer2.SimpleExoPlayer
-import com.google.android.exoplayer2.ui.StyledPlayerView
 import com.nextcloud.talk.BuildConfig
 import com.nextcloud.talk.R
 import com.nextcloud.talk.application.NextcloudTalkApplication
@@ -49,7 +51,7 @@ class FullScreenMediaActivity : AppCompatActivity(), Player.Listener {
     lateinit var binding: ActivityFullScreenMediaBinding
 
     private lateinit var path: String
-    private lateinit var player: SimpleExoPlayer
+    private lateinit var player: ExoPlayer
 
     override fun onCreateOptionsMenu(menu: Menu): Boolean {
         menuInflater.inflate(R.menu.menu_preview, menu)
@@ -81,6 +83,7 @@ class FullScreenMediaActivity : AppCompatActivity(), Player.Listener {
         }
     }
 
+    @OptIn(UnstableApi::class)
     override fun onCreate(savedInstanceState: Bundle?) {
         super.onCreate(savedInstanceState)
 
@@ -104,7 +107,7 @@ class FullScreenMediaActivity : AppCompatActivity(), Player.Listener {
         }
 
         binding.playerView.setControllerVisibilityListener(
-            StyledPlayerView.ControllerVisibilityListener { v ->
+            PlayerView.ControllerVisibilityListener { v ->
                 if (v != 0) {
                     hideSystemUI()
                     supportActionBar?.hide()
@@ -132,7 +135,7 @@ class FullScreenMediaActivity : AppCompatActivity(), Player.Listener {
     }
 
     private fun initializePlayer() {
-        player = SimpleExoPlayer.Builder(applicationContext).build()
+        player = ExoPlayer.Builder(applicationContext).build()
         binding.playerView.player = player
         player.playWhenReady = true
         player.addListener(this)
diff --git a/app/src/main/res/layout/activity_full_screen_media.xml b/app/src/main/res/layout/activity_full_screen_media.xml
index a60868913..4d836b517 100644
--- a/app/src/main/res/layout/activity_full_screen_media.xml
+++ b/app/src/main/res/layout/activity_full_screen_media.xml
@@ -36,7 +36,7 @@
         android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
         app:popupTheme="@style/ThemeOverlay.AppCompat.Dark" />
 
-    <com.google.android.exoplayer2.ui.StyledPlayerView
+    <androidx.media3.ui.PlayerView
         android:id="@+id/player_view"
         android:layout_width="match_parent"
         android:layout_height="match_parent"