Move fun to a Factory file
This commit is contained in:
committed by
Benoit Marty
parent
05f843fda6
commit
5b2b281efb
@@ -67,10 +67,10 @@ import io.element.android.libraries.mediaviewer.api.helper.formatFileExtensionAn
|
||||
import io.element.android.libraries.mediaviewer.api.local.LocalMedia
|
||||
import io.element.android.libraries.mediaviewer.impl.local.LocalMediaViewState
|
||||
import io.element.android.libraries.mediaviewer.impl.local.PlayableState
|
||||
import io.element.android.libraries.mediaviewer.impl.local.player.MediaPlayerControllerState
|
||||
import io.element.android.libraries.mediaviewer.impl.local.player.MediaPlayerControllerView
|
||||
import io.element.android.libraries.mediaviewer.impl.local.player.rememberExoPlayer
|
||||
import io.element.android.libraries.mediaviewer.impl.local.rememberLocalMediaViewState
|
||||
import io.element.android.libraries.mediaviewer.impl.local.video.ExoPlayerForPreview
|
||||
import io.element.android.libraries.mediaviewer.impl.local.video.MediaPlayerControllerState
|
||||
import io.element.android.libraries.mediaviewer.impl.local.video.MediaPlayerControllerView
|
||||
import kotlinx.collections.immutable.toPersistentList
|
||||
import kotlinx.coroutines.delay
|
||||
|
||||
@@ -83,16 +83,7 @@ fun MediaAudioView(
|
||||
info: MediaInfo?,
|
||||
modifier: Modifier = Modifier,
|
||||
) {
|
||||
val exoPlayer = if (LocalInspectionMode.current) {
|
||||
remember {
|
||||
ExoPlayerForPreview()
|
||||
}
|
||||
} else {
|
||||
val context = LocalContext.current
|
||||
remember {
|
||||
ExoPlayer.Builder(context).build()
|
||||
}
|
||||
}
|
||||
val exoPlayer = rememberExoPlayer()
|
||||
ExoPlayerMediaAudioView(
|
||||
localMediaViewState = localMediaViewState,
|
||||
bottomPaddingInPixels = bottomPaddingInPixels,
|
||||
|
||||
@@ -0,0 +1,28 @@
|
||||
/*
|
||||
* Copyright 2024 New Vector Ltd.
|
||||
*
|
||||
* SPDX-License-Identifier: AGPL-3.0-only
|
||||
* Please see LICENSE in the repository root for full details.
|
||||
*/
|
||||
|
||||
package io.element.android.libraries.mediaviewer.impl.local.player
|
||||
|
||||
import androidx.compose.runtime.Composable
|
||||
import androidx.compose.runtime.remember
|
||||
import androidx.compose.ui.platform.LocalContext
|
||||
import androidx.compose.ui.platform.LocalInspectionMode
|
||||
import androidx.media3.exoplayer.ExoPlayer
|
||||
|
||||
@Composable
|
||||
fun rememberExoPlayer(): ExoPlayer {
|
||||
return if (LocalInspectionMode.current) {
|
||||
remember {
|
||||
ExoPlayerForPreview()
|
||||
}
|
||||
} else {
|
||||
val context = LocalContext.current
|
||||
remember {
|
||||
ExoPlayer.Builder(context).build()
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -45,6 +45,9 @@ import io.element.android.libraries.designsystem.utils.OnLifecycleEvent
|
||||
import io.element.android.libraries.mediaviewer.api.local.LocalMedia
|
||||
import io.element.android.libraries.mediaviewer.impl.local.LocalMediaViewState
|
||||
import io.element.android.libraries.mediaviewer.impl.local.PlayableState
|
||||
import io.element.android.libraries.mediaviewer.impl.local.player.MediaPlayerControllerState
|
||||
import io.element.android.libraries.mediaviewer.impl.local.player.MediaPlayerControllerView
|
||||
import io.element.android.libraries.mediaviewer.impl.local.player.rememberExoPlayer
|
||||
import io.element.android.libraries.mediaviewer.impl.local.rememberLocalMediaViewState
|
||||
import kotlinx.coroutines.delay
|
||||
import kotlin.time.Duration.Companion.seconds
|
||||
@@ -57,16 +60,7 @@ fun MediaVideoView(
|
||||
localMedia: LocalMedia?,
|
||||
modifier: Modifier = Modifier,
|
||||
) {
|
||||
val exoPlayer = if (LocalInspectionMode.current) {
|
||||
remember {
|
||||
ExoPlayerForPreview()
|
||||
}
|
||||
} else {
|
||||
val context = LocalContext.current
|
||||
remember {
|
||||
ExoPlayer.Builder(context).build()
|
||||
}
|
||||
}
|
||||
val exoPlayer = rememberExoPlayer()
|
||||
ExoPlayerMediaVideoView(
|
||||
localMediaViewState = localMediaViewState,
|
||||
bottomPaddingInPixels = bottomPaddingInPixels,
|
||||
|
||||
Reference in New Issue
Block a user