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
fun checkVideoPlaylistMode() {
val key = FORCE_PLAY_ALL_VIDEO
val key = PLAYLIST_MODE_VIDEO
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.VerticalGridActivity
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.Settings
import org.videolan.tools.getposition
@ -179,7 +179,7 @@ object TvUtil {
}
else -> {
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)
} else {
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.viewmodel.MediaBrowserViewModel
import org.videolan.television.viewmodel.getMediaBrowserModel
import org.videolan.tools.FORCE_PLAY_ALL_AUDIO
import org.videolan.tools.FORCE_PLAY_ALL_VIDEO
import org.videolan.tools.PLAYLIST_MODE_AUDIO
import org.videolan.tools.PLAYLIST_MODE_VIDEO
import org.videolan.tools.Settings
import org.videolan.vlc.R
import org.videolan.vlc.gui.view.EmptyLoadingState
@ -99,9 +99,9 @@ class MediaBrowserTvFragment : BaseBrowserTvFragment<MediaLibraryItem>() {
override fun onClick(v: View, position: Int, item: MediaLibraryItem) {
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)
} 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)
} else {
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?) {
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)
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_TV_UI = "tv_ui"
const val FORCE_PLAY_ALL_VIDEO = "force_play_all_video"
const val FORCE_PLAY_ALL_AUDIO = "force_play_all_audio"
const val PLAYLIST_MODE_VIDEO = "playlist_mode_video"
const val PLAYLIST_MODE_AUDIO = "playlist_mode_audio"
const val SCREEN_ORIENTATION = "screen_orientation"
const val VIDEO_RESUME_TIME = "VideoResumeTime"

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

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

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

@ -342,7 +342,7 @@ open class HeaderMediaListActivity : AudioPlayerContainerActivity(), IEventsHand
invalidateActionMode()
} else {
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)
else
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)
} else {
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)
else
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
}
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,
viewModel.providers[currentTab] as MedialibraryProvider<MediaWrapper>, position, false)
} 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_SHOW_HIDDEN_FILES
import org.videolan.tools.BROWSER_SHOW_ONLY_MULTIMEDIA
import org.videolan.tools.FORCE_PLAY_ALL_AUDIO
import org.videolan.tools.FORCE_PLAY_ALL_VIDEO
import org.videolan.tools.PLAYLIST_MODE_AUDIO
import org.videolan.tools.PLAYLIST_MODE_VIDEO
import org.videolan.tools.KeyHelper
import org.videolan.tools.MultiSelectHelper
import org.videolan.tools.Settings
@ -707,8 +707,8 @@ abstract class BaseBrowserFragment : MediaBrowserFragment<BrowserModel>(), IRefr
mediaWrapper.removeFlags(MediaWrapper.MEDIA_FORCE_AUDIO)
if (mediaWrapper.type == MediaWrapper.TYPE_DIR) browse(mediaWrapper, true)
else {
val forcePlayType = if (mediaWrapper.type == MediaWrapper.TYPE_AUDIO) FORCE_PLAY_ALL_AUDIO else FORCE_PLAY_ALL_VIDEO
if (!Settings.getInstance(requireContext()).getBoolean(forcePlayType, forcePlayType == FORCE_PLAY_ALL_VIDEO && Settings.tvUI)) {
val forcePlayType = if (mediaWrapper.type == MediaWrapper.TYPE_AUDIO) PLAYLIST_MODE_AUDIO else PLAYLIST_MODE_VIDEO
if (!Settings.getInstance(requireContext()).getBoolean(forcePlayType, forcePlayType == PLAYLIST_MODE_VIDEO && Settings.tvUI)) {
lifecycleScope.launch {
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.resources.AndroidDevices
import org.videolan.resources.util.getFromMl
import org.videolan.tools.FORCE_PLAY_ALL_AUDIO
import org.videolan.tools.FORCE_PLAY_ALL_VIDEO
import org.videolan.tools.PLAYLIST_MODE_AUDIO
import org.videolan.tools.PLAYLIST_MODE_VIDEO
import org.videolan.tools.KEY_APP_THEME
import org.videolan.tools.KEY_CURRENT_MAJOR_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.IOException
private const val CURRENT_VERSION = 12
private const val CURRENT_VERSION = 13
object VersionMigration {
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) {
val settings = Settings.getInstance(context)
val lastVersion = settings.getInt(KEY_CURRENT_SETTINGS_VERSION, 0)
@ -104,6 +108,10 @@ object VersionMigration {
migrateToVersion12(settings)
}
if (lastVersion < 13) {
migrateToVersion13(settings)
}
//Major version upgrade
if (lastMajorVersion == 3 && currentMajorVersion == 4) {
migrateToVlc4(settings)
@ -235,8 +243,8 @@ object VersionMigration {
if (settings.contains("force_play_all"))
settings.edit {
val oldSetting = settings.getBoolean("force_play_all", false)
putBoolean(FORCE_PLAY_ALL_VIDEO, oldSetting)
putBoolean(FORCE_PLAY_ALL_AUDIO, oldSetting)
putBoolean(PLAYLIST_MODE_VIDEO, oldSetting)
putBoolean(PLAYLIST_MODE_AUDIO, oldSetting)
remove("force_play_all")
}
}
@ -306,6 +314,26 @@ object VersionMigration {
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

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.VideoGroup
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.isStarted
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)
PlaylistManager.playingAsAudio = false
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) {
is VideosProvider -> MediaUtils.playAll(context, prov, position, false)
is FoldersProvider -> MediaUtils.playAllTracks(context, prov, position, false)

Loading…
Cancel
Save