Check if device supports mpv

This commit is contained in:
Damontecres 2025-11-16 10:39:14 -05:00
parent 998727c6ab
commit 5c12e03b6d
No known key found for this signature in database

View file

@ -43,9 +43,11 @@ import coil3.SingletonImageLoader
import com.github.damontecres.wholphin.R import com.github.damontecres.wholphin.R
import com.github.damontecres.wholphin.preferences.AppPreference import com.github.damontecres.wholphin.preferences.AppPreference
import com.github.damontecres.wholphin.preferences.AppPreferences import com.github.damontecres.wholphin.preferences.AppPreferences
import com.github.damontecres.wholphin.preferences.PlayerBackend
import com.github.damontecres.wholphin.preferences.advancedPreferences import com.github.damontecres.wholphin.preferences.advancedPreferences
import com.github.damontecres.wholphin.preferences.basicPreferences import com.github.damontecres.wholphin.preferences.basicPreferences
import com.github.damontecres.wholphin.preferences.uiPreferences import com.github.damontecres.wholphin.preferences.uiPreferences
import com.github.damontecres.wholphin.preferences.updatePlaybackPreferences
import com.github.damontecres.wholphin.ui.ifElse import com.github.damontecres.wholphin.ui.ifElse
import com.github.damontecres.wholphin.ui.nav.Destination import com.github.damontecres.wholphin.ui.nav.Destination
import com.github.damontecres.wholphin.ui.playOnClickSound import com.github.damontecres.wholphin.ui.playOnClickSound
@ -53,9 +55,11 @@ import com.github.damontecres.wholphin.ui.playSoundOnFocus
import com.github.damontecres.wholphin.ui.preferences.subtitle.SubtitleSettings import com.github.damontecres.wholphin.ui.preferences.subtitle.SubtitleSettings
import com.github.damontecres.wholphin.ui.preferences.subtitle.SubtitleStylePage import com.github.damontecres.wholphin.ui.preferences.subtitle.SubtitleStylePage
import com.github.damontecres.wholphin.ui.setup.UpdateViewModel import com.github.damontecres.wholphin.ui.setup.UpdateViewModel
import com.github.damontecres.wholphin.ui.showToast
import com.github.damontecres.wholphin.ui.tryRequestFocus import com.github.damontecres.wholphin.ui.tryRequestFocus
import com.github.damontecres.wholphin.util.ExceptionHandler import com.github.damontecres.wholphin.util.ExceptionHandler
import kotlinx.coroutines.launch import kotlinx.coroutines.launch
import timber.log.Timber
@Composable @Composable
fun PreferencesContent( fun PreferencesContent(
@ -112,6 +116,22 @@ fun PreferencesContent(
visible = true visible = true
} }
LaunchedEffect(preferences.playbackPreferences.playerBackend) {
if (preferences.playbackPreferences.playerBackend == PlayerBackend.MPV) {
Timber.d("Checking for libmpv")
try {
System.loadLibrary("mpv")
System.loadLibrary("player")
} catch (ex: Exception) {
Timber.w(ex, "Could not load libmpv")
showToast(context, "MPV is not supported on this device")
viewModel.preferenceDataStore.updateData {
it.updatePlaybackPreferences { playerBackend = PlayerBackend.EXO_PLAYER }
}
}
}
}
AnimatedVisibility( AnimatedVisibility(
visible = visible, visible = visible,
enter = fadeIn() + slideInHorizontally { it / 2 }, enter = fadeIn() + slideInHorizontally { it / 2 },