Browse Source

Prevent sending the playback default action immediately when opening the display settings

merge-requests/1594/merge
Nicolas Pomepuy 1 year ago
parent
commit
e83afe6487
  1. 9
      application/vlc-android/src/org/videolan/vlc/gui/dialogs/DisplaySettingsDialog.kt

9
application/vlc-android/src/org/videolan/vlc/gui/dialogs/DisplaySettingsDialog.kt

@ -90,6 +90,7 @@ class DisplaySettingsDialog : VLCBottomSheetDialogFragment() {
private var showVideoGroups: String? = null
private var defaultPlaybackActions: List<DefaultPlaybackAction>? = null
private var defaultActionType: String? = null
private var currentDefaultAction: DefaultPlaybackAction? = null
private lateinit var binding: DialogDisplaySettingsBinding
@ -252,11 +253,15 @@ class DisplaySettingsDialog : VLCBottomSheetDialogFragment() {
binding.defaultActionsGroup.setOnClickListener {
binding.defaultActionsSpinner.performClick()
}
binding.defaultActionsSpinner.setSelection(it.indexOf(it.find { it.selected }))
currentDefaultAction = it.find { it.selected }
binding.defaultActionsSpinner.setSelection(it.indexOf(currentDefaultAction))
binding.defaultActionsSpinner.onItemSelectedListener = object : OnItemSelectedListener {
override fun onItemSelected(parent: AdapterView<*>?, view: View?, position: Int, id: Long) {
val defaultPlaybackAction = defaultActionsArrayAdapter.getItem(position) as DefaultPlaybackAction
lifecycleScope.launch { displaySettingsViewModel.send(DEFAULT_ACTIONS, defaultPlaybackAction) }
if (defaultPlaybackAction != currentDefaultAction) {
lifecycleScope.launch { displaySettingsViewModel.send(DEFAULT_ACTIONS, defaultPlaybackAction) }
currentDefaultAction = defaultPlaybackAction
}
}
override fun onNothingSelected(parent: AdapterView<*>?) {}

Loading…
Cancel
Save