Browse Source

PlaylistMode: refactor constant name

Move FORCE_PLAY_ALL_VIDEO/AUDIO to PLAYLIST_MODE_VIDEO/AUDIO
to have a constant name more aligned with the setting name.
Less confusing.
merge-requests/2174/head
Duncan McNamara 1 year ago
committed by Nicolas Pomepuy
parent
commit
d56690df90
  1. 2
      application/app/src/androidTest/java/org/videolan/vlc/gui/preferences/PreferencesUIUITest.kt
  2. 4
      application/television/src/main/java/org/videolan/television/ui/TvUtil.kt
  3. 8
      application/television/src/main/java/org/videolan/television/ui/browser/MediaBrowserTvFragment.kt
  4. 2
      application/television/src/main/java/org/videolan/television/ui/preferences/PreferencesUi.kt
  5. 4
      application/tools/src/main/java/org/videolan/tools/Settings.kt
  6. 4
      application/vlc-android/res/xml/preferences_ui.xml
  7. 2
      application/vlc-android/src/org/videolan/vlc/gui/HeaderMediaListActivity.kt
  8. 2
      application/vlc-android/src/org/videolan/vlc/gui/audio/AudioAlbumsSongsFragment.kt
  9. 2
      application/vlc-android/src/org/videolan/vlc/gui/audio/AudioBrowserFragment.kt
  10. 8
      application/vlc-android/src/org/videolan/vlc/gui/browser/BaseBrowserFragment.kt
  11. 38
      application/vlc-android/src/org/videolan/vlc/util/VersionMigration.kt
  12. 4
      application/vlc-android/src/org/videolan/vlc/viewmodels/mobile/VideosViewModel.kt

2
application/app/src/androidTest/java/org/videolan/vlc/gui/preferences/PreferencesUIUITest.kt

@ -102,7 +102,7 @@ class PreferencesUIUITest: BasePreferenceUITest() {
@Test @Test
fun checkVideoPlaylistMode() { fun checkVideoPlaylistMode() {
val key = FORCE_PLAY_ALL_VIDEO val key = PLAYLIST_MODE_VIDEO
checkToggleWorks(key, settings) checkToggleWorks(key, settings)
} }

4
application/television/src/main/java/org/videolan/television/ui/TvUtil.kt

@ -46,7 +46,7 @@ import org.videolan.television.ui.audioplayer.AudioPlayerActivity
import org.videolan.television.ui.browser.TVActivity import org.videolan.television.ui.browser.TVActivity
import org.videolan.television.ui.browser.VerticalGridActivity import org.videolan.television.ui.browser.VerticalGridActivity
import org.videolan.television.ui.details.MediaListActivity import org.videolan.television.ui.details.MediaListActivity
import org.videolan.tools.FORCE_PLAY_ALL_VIDEO import org.videolan.tools.PLAYLIST_MODE_VIDEO
import org.videolan.tools.HttpImageLoader import org.videolan.tools.HttpImageLoader
import org.videolan.tools.Settings import org.videolan.tools.Settings
import org.videolan.tools.getposition import org.videolan.tools.getposition
@ -179,7 +179,7 @@ object TvUtil {
} }
else -> { else -> {
model.run { model.run {
if (!Settings.getInstance(activity).getBoolean(FORCE_PLAY_ALL_VIDEO, Settings.tvUI)) { if (!Settings.getInstance(activity).getBoolean(PLAYLIST_MODE_VIDEO, Settings.tvUI)) {
MediaUtils.openMedia(activity, item) MediaUtils.openMedia(activity, item)
} else { } else {
val list = (dataset.getList().filterIsInstance<MediaWrapper>()).filter { it.type != MediaWrapper.TYPE_DIR } val list = (dataset.getList().filterIsInstance<MediaWrapper>()).filter { it.type != MediaWrapper.TYPE_DIR }

8
application/television/src/main/java/org/videolan/television/ui/browser/MediaBrowserTvFragment.kt

@ -16,8 +16,8 @@ import org.videolan.television.ui.TvItemAdapter
import org.videolan.television.ui.TvUtil import org.videolan.television.ui.TvUtil
import org.videolan.television.viewmodel.MediaBrowserViewModel import org.videolan.television.viewmodel.MediaBrowserViewModel
import org.videolan.television.viewmodel.getMediaBrowserModel import org.videolan.television.viewmodel.getMediaBrowserModel
import org.videolan.tools.FORCE_PLAY_ALL_AUDIO import org.videolan.tools.PLAYLIST_MODE_AUDIO
import org.videolan.tools.FORCE_PLAY_ALL_VIDEO import org.videolan.tools.PLAYLIST_MODE_VIDEO
import org.videolan.tools.Settings import org.videolan.tools.Settings
import org.videolan.vlc.R import org.videolan.vlc.R
import org.videolan.vlc.gui.view.EmptyLoadingState import org.videolan.vlc.gui.view.EmptyLoadingState
@ -99,9 +99,9 @@ class MediaBrowserTvFragment : BaseBrowserTvFragment<MediaLibraryItem>() {
override fun onClick(v: View, position: Int, item: MediaLibraryItem) { override fun onClick(v: View, position: Int, item: MediaLibraryItem) {
lifecycleScope.launchWhenStarted { lifecycleScope.launchWhenStarted {
if ((viewModel as MediaBrowserViewModel).category == CATEGORY_VIDEOS && !Settings.getInstance(requireContext()).getBoolean(FORCE_PLAY_ALL_VIDEO, Settings.tvUI)) { if ((viewModel as MediaBrowserViewModel).category == CATEGORY_VIDEOS && !Settings.getInstance(requireContext()).getBoolean(PLAYLIST_MODE_VIDEO, Settings.tvUI)) {
TvUtil.playMedia(requireActivity(), item as MediaWrapper) TvUtil.playMedia(requireActivity(), item as MediaWrapper)
} else if ((viewModel as MediaBrowserViewModel).category == CATEGORY_SONGS && !Settings.getInstance(requireContext()).getBoolean(FORCE_PLAY_ALL_AUDIO, Settings.tvUI)) { } else if ((viewModel as MediaBrowserViewModel).category == CATEGORY_SONGS && !Settings.getInstance(requireContext()).getBoolean(PLAYLIST_MODE_AUDIO, Settings.tvUI)) {
TvUtil.playMedia(requireActivity(), item as MediaWrapper) TvUtil.playMedia(requireActivity(), item as MediaWrapper)
} else { } else {
TvUtil.openMediaFromPaged(requireActivity(), item, viewModel.provider as MedialibraryProvider<out MediaLibraryItem>) TvUtil.openMediaFromPaged(requireActivity(), item, viewModel.provider as MedialibraryProvider<out MediaLibraryItem>)

2
application/television/src/main/java/org/videolan/television/ui/preferences/PreferencesUi.kt

@ -58,7 +58,7 @@ class PreferencesUi : BasePreferenceFragment(), SharedPreferences.OnSharedPrefer
override fun onCreate(savedInstanceState: Bundle?) { override fun onCreate(savedInstanceState: Bundle?) {
Settings.getInstance(activity).run { Settings.getInstance(activity).run {
if (!contains(FORCE_PLAY_ALL_VIDEO)) putSingle(FORCE_PLAY_ALL_VIDEO, true) if (!contains(PLAYLIST_MODE_VIDEO)) putSingle(PLAYLIST_MODE_VIDEO, true)
} }
super.onCreate(savedInstanceState) super.onCreate(savedInstanceState)
tvUiPref = findPreference(PREF_TV_UI)!! tvUiPref = findPreference(PREF_TV_UI)!!

4
application/tools/src/main/java/org/videolan/tools/Settings.kt

@ -153,8 +153,8 @@ const val PREF_WIDGETS_TIPS_SHOWN = "widgets_tips_shown"
const val PREF_RESTORE_VIDEO_TIPS_SHOWN = "pref_restore_video_tips_shown" const val PREF_RESTORE_VIDEO_TIPS_SHOWN = "pref_restore_video_tips_shown"
const val PREF_TV_UI = "tv_ui" const val PREF_TV_UI = "tv_ui"
const val FORCE_PLAY_ALL_VIDEO = "force_play_all_video" const val PLAYLIST_MODE_VIDEO = "playlist_mode_video"
const val FORCE_PLAY_ALL_AUDIO = "force_play_all_audio" const val PLAYLIST_MODE_AUDIO = "playlist_mode_audio"
const val SCREEN_ORIENTATION = "screen_orientation" const val SCREEN_ORIENTATION = "screen_orientation"
const val VIDEO_RESUME_TIME = "VideoResumeTime" const val VIDEO_RESUME_TIME = "VideoResumeTime"

4
application/vlc-android/res/xml/preferences_ui.xml

@ -83,7 +83,7 @@
<CheckBoxPreference <CheckBoxPreference
app:singleLineTitle="false" app:singleLineTitle="false"
android:defaultValue="false" android:defaultValue="false"
android:key="force_play_all_video" android:key="playlist_mode_video"
android:summary="@string/force_play_all_summary" android:summary="@string/force_play_all_summary"
android:title="@string/force_play_all_title"/> android:title="@string/force_play_all_title"/>
<CheckBoxPreference <CheckBoxPreference
@ -107,7 +107,7 @@
<CheckBoxPreference <CheckBoxPreference
app:singleLineTitle="false" app:singleLineTitle="false"
android:defaultValue="false" android:defaultValue="false"
android:key="force_play_all_audio" android:key="playlist_mode_audio"
android:summary="@string/force_play_all_audio_summary" android:summary="@string/force_play_all_audio_summary"
android:title="@string/force_play_all_audio_title"/> android:title="@string/force_play_all_audio_title"/>
<CheckBoxPreference <CheckBoxPreference

2
application/vlc-android/src/org/videolan/vlc/gui/HeaderMediaListActivity.kt

@ -342,7 +342,7 @@ open class HeaderMediaListActivity : AudioPlayerContainerActivity(), IEventsHand
invalidateActionMode() invalidateActionMode()
} else { } else {
if (searchView.visibility == View.VISIBLE) UiTools.setKeyboardVisibility(v, false) if (searchView.visibility == View.VISIBLE) UiTools.setKeyboardVisibility(v, false)
if (isPlaylist || Settings.getInstance(this).getBoolean(FORCE_PLAY_ALL_AUDIO, false)) if (isPlaylist || Settings.getInstance(this).getBoolean(PLAYLIST_MODE_AUDIO, false))
MediaUtils.playTracks(this, viewModel.tracksProvider, position) MediaUtils.playTracks(this, viewModel.tracksProvider, position)
else else
MediaUtils.openMedia(this, item as MediaWrapper) MediaUtils.openMedia(this, item as MediaWrapper)

2
application/vlc-android/src/org/videolan/vlc/gui/audio/AudioAlbumsSongsFragment.kt

@ -286,7 +286,7 @@ class AudioAlbumsSongsFragment : BaseAudioBrowser<AlbumSongsViewModel>(), SwipeR
startActivity(i) startActivity(i)
} else { } else {
if (inSearchMode()) UiTools.setKeyboardVisibility(v, false) if (inSearchMode()) UiTools.setKeyboardVisibility(v, false)
if (Settings.getInstance(requireContext()).getBoolean(FORCE_PLAY_ALL_AUDIO, false)) if (Settings.getInstance(requireContext()).getBoolean(PLAYLIST_MODE_AUDIO, false))
MediaUtils.playAll(activity, viewModel.tracksProvider, position, false) MediaUtils.playAll(activity, viewModel.tracksProvider, position, false)
else else
MediaUtils.openMedia(v.context, item as MediaWrapper) MediaUtils.openMedia(v.context, item as MediaWrapper)

2
application/vlc-android/src/org/videolan/vlc/gui/audio/AudioBrowserFragment.kt

@ -435,7 +435,7 @@ class AudioBrowserFragment : BaseAudioBrowser<AudioBrowserViewModel>() {
return return
} }
Log.d(TAG, "onClick: skbench: ") Log.d(TAG, "onClick: skbench: ")
if (Settings.getInstance(requireContext()).getBoolean(FORCE_PLAY_ALL_AUDIO, false)) { if (Settings.getInstance(requireContext()).getBoolean(PLAYLIST_MODE_AUDIO, false)) {
MediaUtils.playAll(activity, MediaUtils.playAll(activity,
viewModel.providers[currentTab] as MedialibraryProvider<MediaWrapper>, position, false) viewModel.providers[currentTab] as MedialibraryProvider<MediaWrapper>, position, false)
} else { } else {

8
application/vlc-android/src/org/videolan/vlc/gui/browser/BaseBrowserFragment.kt

@ -80,8 +80,8 @@ import org.videolan.resources.util.parcelable
import org.videolan.tools.BROWSER_DISPLAY_IN_CARDS import org.videolan.tools.BROWSER_DISPLAY_IN_CARDS
import org.videolan.tools.BROWSER_SHOW_HIDDEN_FILES import org.videolan.tools.BROWSER_SHOW_HIDDEN_FILES
import org.videolan.tools.BROWSER_SHOW_ONLY_MULTIMEDIA import org.videolan.tools.BROWSER_SHOW_ONLY_MULTIMEDIA
import org.videolan.tools.FORCE_PLAY_ALL_AUDIO import org.videolan.tools.PLAYLIST_MODE_AUDIO
import org.videolan.tools.FORCE_PLAY_ALL_VIDEO import org.videolan.tools.PLAYLIST_MODE_VIDEO
import org.videolan.tools.KeyHelper import org.videolan.tools.KeyHelper
import org.videolan.tools.MultiSelectHelper import org.videolan.tools.MultiSelectHelper
import org.videolan.tools.Settings import org.videolan.tools.Settings
@ -707,8 +707,8 @@ abstract class BaseBrowserFragment : MediaBrowserFragment<BrowserModel>(), IRefr
mediaWrapper.removeFlags(MediaWrapper.MEDIA_FORCE_AUDIO) mediaWrapper.removeFlags(MediaWrapper.MEDIA_FORCE_AUDIO)
if (mediaWrapper.type == MediaWrapper.TYPE_DIR) browse(mediaWrapper, true) if (mediaWrapper.type == MediaWrapper.TYPE_DIR) browse(mediaWrapper, true)
else { else {
val forcePlayType = if (mediaWrapper.type == MediaWrapper.TYPE_AUDIO) FORCE_PLAY_ALL_AUDIO else FORCE_PLAY_ALL_VIDEO val forcePlayType = if (mediaWrapper.type == MediaWrapper.TYPE_AUDIO) PLAYLIST_MODE_AUDIO else PLAYLIST_MODE_VIDEO
if (!Settings.getInstance(requireContext()).getBoolean(forcePlayType, forcePlayType == FORCE_PLAY_ALL_VIDEO && Settings.tvUI)) { if (!Settings.getInstance(requireContext()).getBoolean(forcePlayType, forcePlayType == PLAYLIST_MODE_VIDEO && Settings.tvUI)) {
lifecycleScope.launch { lifecycleScope.launch {
MediaUtils.openMedia(requireContext(), getMediaWithMeta(item)) MediaUtils.openMedia(requireContext(), getMediaWithMeta(item))
} }

38
application/vlc-android/src/org/videolan/vlc/util/VersionMigration.kt

@ -36,8 +36,8 @@ import org.videolan.medialibrary.interfaces.Medialibrary
import org.videolan.medialibrary.interfaces.media.Playlist import org.videolan.medialibrary.interfaces.media.Playlist
import org.videolan.resources.AndroidDevices import org.videolan.resources.AndroidDevices
import org.videolan.resources.util.getFromMl import org.videolan.resources.util.getFromMl
import org.videolan.tools.FORCE_PLAY_ALL_AUDIO import org.videolan.tools.PLAYLIST_MODE_AUDIO
import org.videolan.tools.FORCE_PLAY_ALL_VIDEO import org.videolan.tools.PLAYLIST_MODE_VIDEO
import org.videolan.tools.KEY_APP_THEME import org.videolan.tools.KEY_APP_THEME
import org.videolan.tools.KEY_CURRENT_MAJOR_VERSION import org.videolan.tools.KEY_CURRENT_MAJOR_VERSION
import org.videolan.tools.KEY_CURRENT_SETTINGS_VERSION import org.videolan.tools.KEY_CURRENT_SETTINGS_VERSION
@ -53,12 +53,16 @@ import org.videolan.vlc.isVLC4
import java.io.File import java.io.File
import java.io.IOException import java.io.IOException
private const val CURRENT_VERSION = 12 private const val CURRENT_VERSION = 13
object VersionMigration { object VersionMigration {
val currentMajorVersion = if (isVLC4()) 4 else 3 val currentMajorVersion = if (isVLC4()) 4 else 3
// Used for migration 13, old parameter constants
private const val FORCE_PLAY_ALL_VIDEO = "force_play_all_video"
private const val FORCE_PLAY_ALL_AUDIO = "force_play_all_audio"
suspend fun migrateVersion(context: Context) { suspend fun migrateVersion(context: Context) {
val settings = Settings.getInstance(context) val settings = Settings.getInstance(context)
val lastVersion = settings.getInt(KEY_CURRENT_SETTINGS_VERSION, 0) val lastVersion = settings.getInt(KEY_CURRENT_SETTINGS_VERSION, 0)
@ -104,6 +108,10 @@ object VersionMigration {
migrateToVersion12(settings) migrateToVersion12(settings)
} }
if (lastVersion < 13) {
migrateToVersion13(settings)
}
//Major version upgrade //Major version upgrade
if (lastMajorVersion == 3 && currentMajorVersion == 4) { if (lastMajorVersion == 3 && currentMajorVersion == 4) {
migrateToVlc4(settings) migrateToVlc4(settings)
@ -235,8 +243,8 @@ object VersionMigration {
if (settings.contains("force_play_all")) if (settings.contains("force_play_all"))
settings.edit { settings.edit {
val oldSetting = settings.getBoolean("force_play_all", false) val oldSetting = settings.getBoolean("force_play_all", false)
putBoolean(FORCE_PLAY_ALL_VIDEO, oldSetting) putBoolean(PLAYLIST_MODE_VIDEO, oldSetting)
putBoolean(FORCE_PLAY_ALL_AUDIO, oldSetting) putBoolean(PLAYLIST_MODE_AUDIO, oldSetting)
remove("force_play_all") remove("force_play_all")
} }
} }
@ -306,6 +314,26 @@ object VersionMigration {
remove("browser_show_all_files") remove("browser_show_all_files")
} }
} }
private val TAG = this::class.java.name
/**
* Migrate after refactor to move all FORCE_PLAY_ALL_VIDEO/AUDIO to PLAYLIST_MODE_VIDEO/AUDIO
* This is to have the constant name and setting name more similar
*/
private fun migrateToVersion13(settings: SharedPreferences) {
Log.i(this::class.java.simpleName, "Migration to Version 13: refactor to move all FORCE_PLAY_ALL_VIDEO/AUDIO to PLAYLIST_MODE_VIDEO/AUDIO")
if (settings.contains(FORCE_PLAY_ALL_VIDEO)) {
settings.edit(true) {
putBoolean(PLAYLIST_MODE_VIDEO, settings.getBoolean(FORCE_PLAY_ALL_VIDEO, false))
remove(FORCE_PLAY_ALL_VIDEO)
}
}
if (settings.contains(FORCE_PLAY_ALL_AUDIO)) {
settings.edit(true) {
putBoolean(PLAYLIST_MODE_AUDIO, settings.getBoolean(FORCE_PLAY_ALL_AUDIO, false))
remove(FORCE_PLAY_ALL_AUDIO)
}
}
}
/** /**
* Migration to vlc 4 * Migration to vlc 4

4
application/vlc-android/src/org/videolan/vlc/viewmodels/mobile/VideosViewModel.kt

@ -32,7 +32,7 @@ import org.videolan.medialibrary.interfaces.media.Folder
import org.videolan.medialibrary.interfaces.media.MediaWrapper import org.videolan.medialibrary.interfaces.media.MediaWrapper
import org.videolan.medialibrary.interfaces.media.VideoGroup import org.videolan.medialibrary.interfaces.media.VideoGroup
import org.videolan.medialibrary.media.MediaLibraryItem import org.videolan.medialibrary.media.MediaLibraryItem
import org.videolan.tools.FORCE_PLAY_ALL_VIDEO import org.videolan.tools.PLAYLIST_MODE_VIDEO
import org.videolan.tools.Settings import org.videolan.tools.Settings
import org.videolan.tools.isStarted import org.videolan.tools.isStarted
import org.videolan.vlc.gui.helpers.UiTools import org.videolan.vlc.gui.helpers.UiTools
@ -137,7 +137,7 @@ class VideosViewModel(context: Context, type: VideoGroupingType, val folder: Fol
mw.removeFlags(MediaWrapper.MEDIA_FORCE_AUDIO) mw.removeFlags(MediaWrapper.MEDIA_FORCE_AUDIO)
PlaylistManager.playingAsAudio = false PlaylistManager.playingAsAudio = false
val settings = Settings.getInstance(context) val settings = Settings.getInstance(context)
if (!fromStart && (settings.getBoolean(FORCE_PLAY_ALL_VIDEO, Settings.tvUI) || forceAll)) { if (!fromStart && (settings.getBoolean(PLAYLIST_MODE_VIDEO, Settings.tvUI) || forceAll)) {
when(val prov = provider) { when(val prov = provider) {
is VideosProvider -> MediaUtils.playAll(context, prov, position, false) is VideosProvider -> MediaUtils.playAll(context, prov, position, false)
is FoldersProvider -> MediaUtils.playAllTracks(context, prov, position, false) is FoldersProvider -> MediaUtils.playAllTracks(context, prov, position, false)

Loading…
Cancel
Save