diff --git a/app/build.gradle b/app/build.gradle index 7616374..d2c701f 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -55,6 +55,12 @@ android { vectorDrawables { useSupportLibrary true } + + javaCompileOptions { + annotationProcessorOptions { + arguments += ["room.schemaLocation": "$projectDir/schemas".toString()] + } + } } signingConfigs { release { @@ -132,6 +138,9 @@ dependencies { implementation "com.google.android.exoplayer:exoplayer:$exo_player_version" implementation "com.google.android.exoplayer:exoplayer-core:$exo_player_version" implementation "com.google.android.exoplayer:exoplayer-hls:$exo_player_version" + implementation "com.google.android.exoplayer:exoplayer-dash:$exo_player_version" + implementation "com.google.android.exoplayer:exoplayer-rtsp:$exo_player_version" + implementation "com.google.android.exoplayer:exoplayer-transformer:$exo_player_version" implementation "com.google.android.exoplayer:exoplayer-ui:$exo_player_version" // Compose dependencies diff --git a/app/src/main/java/net/schueller/peertube/feature_video/presentation/video/components/videoPlay/VideoScreen.kt b/app/src/main/java/net/schueller/peertube/feature_video/presentation/video/components/videoPlay/VideoScreen.kt index 26d9de0..cd939bd 100644 --- a/app/src/main/java/net/schueller/peertube/feature_video/presentation/video/components/videoPlay/VideoScreen.kt +++ b/app/src/main/java/net/schueller/peertube/feature_video/presentation/video/components/videoPlay/VideoScreen.kt @@ -16,6 +16,7 @@ import android.widget.FrameLayout import android.widget.ImageButton import androidx.compose.ui.platform.LocalConfiguration import androidx.hilt.navigation.compose.hiltViewModel +import com.google.android.exoplayer2.ui.StyledPlayerView import net.schueller.peertube.R import net.schueller.peertube.feature_video.presentation.video.events.VideoPlayEvent import net.schueller.peertube.feature_video.presentation.video.VideoPlayViewModel @@ -58,7 +59,7 @@ fun VideoScreen( Log.v("VideoScreen", "playerView assign") - PlayerView.switchTargetView( + StyledPlayerView.switchTargetView( player, PlayerViewPool.currentPlayerView, playerView @@ -78,7 +79,7 @@ fun VideoScreen( // Video More Button - val videoMoreButton = playerView.findViewById(R.id.exo_more_button) + val videoMoreButton = playerView.findViewById(R.id.exo_more) videoMoreButton.setOnClickListener { viewModel.onEvent(VideoPlayEvent.MoreButton) } diff --git a/app/src/main/java/net/schueller/peertube/feature_video/presentation/video/player/PlayerViewPool.kt b/app/src/main/java/net/schueller/peertube/feature_video/presentation/video/player/PlayerViewPool.kt index d5998af..626954d 100644 --- a/app/src/main/java/net/schueller/peertube/feature_video/presentation/video/player/PlayerViewPool.kt +++ b/app/src/main/java/net/schueller/peertube/feature_video/presentation/video/player/PlayerViewPool.kt @@ -4,22 +4,23 @@ import android.content.Context import android.view.LayoutInflater import androidx.core.util.Pools import com.google.android.exoplayer2.ui.PlayerView +import com.google.android.exoplayer2.ui.StyledPlayerView import net.schueller.peertube.R object PlayerViewPool { - var currentPlayerView: PlayerView? = null + var currentPlayerView: StyledPlayerView? = null - private val playerViewPool = Pools.SimplePool(2) + private val playerViewPool = Pools.SimplePool(2) - fun get(context: Context): PlayerView { + fun get(context: Context): StyledPlayerView { return playerViewPool.acquire() ?: createPlayerView(context) } - fun release(player: PlayerView) { + fun release(player: StyledPlayerView) { playerViewPool.release(player) } - private fun createPlayerView(context: Context): PlayerView { - return (LayoutInflater.from(context).inflate(R.layout.exoplayer_texture_view, null, false) as PlayerView) + private fun createPlayerView(context: Context): StyledPlayerView { + return (LayoutInflater.from(context).inflate(R.layout.exoplayer_texture_view, null, false) as StyledPlayerView) } } \ No newline at end of file diff --git a/app/src/main/res/layout/exoplayer_texture_view.xml b/app/src/main/res/layout/exoplayer_texture_view.xml index a6483e1..a1839b8 100644 --- a/app/src/main/res/layout/exoplayer_texture_view.xml +++ b/app/src/main/res/layout/exoplayer_texture_view.xml @@ -1,6 +1,8 @@ - - + - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - + + - - - - + android:gravity="center_vertical" + android:layoutDirection="ltr"> - + - - - - - - - - + android:layout_gravity="center" + android:background="@android:color/transparent" + android:gravity="center" + android:padding="@dimen/exo_styled_controls_padding"> - + - + - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - + \ No newline at end of file diff --git a/build.gradle b/build.gradle index cc3397b..029d252 100644 --- a/build.gradle +++ b/build.gradle @@ -3,7 +3,7 @@ buildscript { ext { compose_version = '1.2.0-alpha08' exo_player_version = '2.17.1' - koltin_version = '1.6.10' + koltin_version = '1.6.20' room_version = '2.4.2' } repositories {