Merge pull request #3254 from parneet-guraya/technicalDebt/3152/migrateToMedia3

migrate to media3
This commit is contained in:
Marcel Hibbe 2023-08-23 16:23:17 +02:00 committed by GitHub
commit 9a60e3e7fc
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 15 additions and 9 deletions

View File

@ -152,6 +152,7 @@ ext {
roomVersion = "2.5.2" roomVersion = "2.5.2"
workVersion = "2.8.1" workVersion = "2.8.1"
espressoVersion = "3.5.1" espressoVersion = "3.5.1"
media3_version = "1.1.1"
} }
configurations.all { configurations.all {
@ -263,7 +264,9 @@ dependencies {
implementation "com.afollestad.material-dialogs:lifecycle:${materialDialogsVersion}" implementation "com.afollestad.material-dialogs:lifecycle:${materialDialogsVersion}"
implementation 'com.google.code.gson:gson:2.10.1' 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 'com.github.chrisbanes:PhotoView:2.3.0'
implementation 'pl.droidsonroids.gif:android-gif-drawable:1.2.27' implementation 'pl.droidsonroids.gif:android-gif-drawable:1.2.27'

View File

@ -30,13 +30,15 @@ import android.view.Menu
import android.view.MenuItem import android.view.MenuItem
import android.view.View import android.view.View
import android.view.WindowManager import android.view.WindowManager
import androidx.annotation.OptIn
import androidx.appcompat.app.AppCompatActivity import androidx.appcompat.app.AppCompatActivity
import androidx.core.content.FileProvider 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 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.BuildConfig
import com.nextcloud.talk.R import com.nextcloud.talk.R
import com.nextcloud.talk.application.NextcloudTalkApplication import com.nextcloud.talk.application.NextcloudTalkApplication
@ -49,7 +51,7 @@ class FullScreenMediaActivity : AppCompatActivity(), Player.Listener {
lateinit var binding: ActivityFullScreenMediaBinding lateinit var binding: ActivityFullScreenMediaBinding
private lateinit var path: String private lateinit var path: String
private lateinit var player: SimpleExoPlayer private lateinit var player: ExoPlayer
override fun onCreateOptionsMenu(menu: Menu): Boolean { override fun onCreateOptionsMenu(menu: Menu): Boolean {
menuInflater.inflate(R.menu.menu_preview, menu) menuInflater.inflate(R.menu.menu_preview, menu)
@ -81,6 +83,7 @@ class FullScreenMediaActivity : AppCompatActivity(), Player.Listener {
} }
} }
@OptIn(UnstableApi::class)
override fun onCreate(savedInstanceState: Bundle?) { override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState) super.onCreate(savedInstanceState)
@ -104,7 +107,7 @@ class FullScreenMediaActivity : AppCompatActivity(), Player.Listener {
} }
binding.playerView.setControllerVisibilityListener( binding.playerView.setControllerVisibilityListener(
StyledPlayerView.ControllerVisibilityListener { v -> PlayerView.ControllerVisibilityListener { v ->
if (v != 0) { if (v != 0) {
hideSystemUI() hideSystemUI()
supportActionBar?.hide() supportActionBar?.hide()
@ -132,7 +135,7 @@ class FullScreenMediaActivity : AppCompatActivity(), Player.Listener {
} }
private fun initializePlayer() { private fun initializePlayer() {
player = SimpleExoPlayer.Builder(applicationContext).build() player = ExoPlayer.Builder(applicationContext).build()
binding.playerView.player = player binding.playerView.player = player
player.playWhenReady = true player.playWhenReady = true
player.addListener(this) player.addListener(this)

View File

@ -36,7 +36,7 @@
android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar" android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
app:popupTheme="@style/ThemeOverlay.AppCompat.Dark" /> app:popupTheme="@style/ThemeOverlay.AppCompat.Dark" />
<com.google.android.exoplayer2.ui.StyledPlayerView <androidx.media3.ui.PlayerView
android:id="@+id/player_view" android:id="@+id/player_view"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"