diff --git a/app/src/main/java/com/nextcloud/talk/chat/data/io/MediaPlayerManager.kt b/app/src/main/java/com/nextcloud/talk/chat/data/io/MediaPlayerManager.kt index befa67e657..59866df178 100644 --- a/app/src/main/java/com/nextcloud/talk/chat/data/io/MediaPlayerManager.kt +++ b/app/src/main/java/com/nextcloud/talk/chat/data/io/MediaPlayerManager.kt @@ -46,9 +46,10 @@ class MediaPlayerManager : LifecycleAwareManager { @JvmStatic private val manager: MediaPlayerManager = MediaPlayerManager() - fun sharedInstance(preferences: AppPreferences): MediaPlayerManager = manager.apply { - appPreferences = preferences - } + fun sharedInstance(preferences: AppPreferences): MediaPlayerManager = + manager.apply { + appPreferences = preferences + } } lateinit var appPreferences: AppPreferences @@ -74,8 +75,8 @@ class MediaPlayerManager : LifecycleAwareManager { private val playQueue = mutableListOf>() val mediaPlayerSeekBarPositionMsg: Flow - get() = _mediaPlayerSeekBarPositionPair - private val _mediaPlayerSeekBarPositionPair: MutableSharedFlow = MutableSharedFlow() + get() = _mediaPlayerSeekBarPositionMsg + private val _mediaPlayerSeekBarPositionMsg: MutableSharedFlow = MutableSharedFlow() val mediaPlayerSeekBarPosition: Flow get() = _mediaPlayerSeekBarPosition @@ -194,7 +195,7 @@ class MediaPlayerManager : LifecycleAwareManager { it.voiceMessageSeekbarProgress = progressI it.voiceMessagePlayedSeconds = seconds if (progressI >= IS_PLAYED_CUTOFF) it.wasPlayedVoiceMessage = true - _mediaPlayerSeekBarPositionPair.emit(it) + _mediaPlayerSeekBarPositionMsg.emit(it) } } @@ -286,7 +287,7 @@ class MediaPlayerManager : LifecycleAwareManager { it.isPlayingVoiceMessage = false } runBlocking { - _mediaPlayerSeekBarPositionPair.emit(currentCycledMessage!!) + _mediaPlayerSeekBarPositionMsg.emit(currentCycledMessage!!) } currentCycledMessage = null loop = false diff --git a/app/src/main/java/com/nextcloud/talk/chat/viewmodels/ChatViewModel.kt b/app/src/main/java/com/nextcloud/talk/chat/viewmodels/ChatViewModel.kt index 23924f00e9..e683811a62 100644 --- a/app/src/main/java/com/nextcloud/talk/chat/viewmodels/ChatViewModel.kt +++ b/app/src/main/java/com/nextcloud/talk/chat/viewmodels/ChatViewModel.kt @@ -696,8 +696,10 @@ class ChatViewModel @Inject constructor( fun startCyclingMediaPlayer() = audioRequest(true, mediaPlayerManager::startCycling) - fun pauseMediaPlayer(notifyUI: Boolean) = audioRequest(false) { - mediaPlayerManager.pause(notifyUI) + fun pauseMediaPlayer(notifyUI: Boolean) { + audioRequest(false) { + mediaPlayerManager.pause(notifyUI) + } } fun seekToMediaPlayer(progress: Int) = mediaPlayerManager.seekTo(progress) diff --git a/app/src/main/java/com/nextcloud/talk/ui/BackgroundVoiceMessageCard.kt b/app/src/main/java/com/nextcloud/talk/ui/BackgroundVoiceMessageCard.kt index d46f850903..99d88bd8ed 100644 --- a/app/src/main/java/com/nextcloud/talk/ui/BackgroundVoiceMessageCard.kt +++ b/app/src/main/java/com/nextcloud/talk/ui/BackgroundVoiceMessageCard.kt @@ -51,9 +51,9 @@ import javax.inject.Inject class BackgroundVoiceMessageCard( val name: String, val duration: Int, - val offset: Float, - val imageURI: String, - val conversationImageURI: String + private val offset: Float, + private val imageURI: String, + private val conversationImageURI: String ) { @Inject @@ -62,7 +62,7 @@ class BackgroundVoiceMessageCard( @Inject lateinit var context: Context - private val progressState = mutableFloatStateOf(0.01f) + private val progressState = mutableFloatStateOf(0.0f) private val animator = ValueAnimator.ofFloat(offset, 1.0f) init { @@ -75,6 +75,11 @@ class BackgroundVoiceMessageCard( animator.start() } + companion object { + private const val ACCOUNT_WEIGHT = .8f + } + + @Suppress("FunctionNaming", "LongMethod") @Composable fun GetView(onPlayPaused: (isPaused: Boolean) -> Unit, onClosed: () -> Unit) { MaterialTheme(colorScheme = viewThemeUtils.getColorScheme(context)) { @@ -130,7 +135,7 @@ class BackgroundVoiceMessageCard( Box( modifier = Modifier - .weight(.8f) + .weight(ACCOUNT_WEIGHT) .align(Alignment.CenterVertically), contentAlignment = Alignment.Center ) {