Browse Source

New equalizer: get rid of the useless state binding variable

merge-requests/2298/head
Nicolas Pomepuy 1 year ago
parent
commit
229028c6ba
  1. 22
      application/vlc-android/res/layout/dialog_equalizer.xml
  2. 4
      application/vlc-android/src/org/videolan/vlc/gui/AudioPlayerContainerActivity.kt
  3. 38
      application/vlc-android/src/org/videolan/vlc/gui/dialogs/EqualizerFragmentDialog.kt

22
application/vlc-android/res/layout/dialog_equalizer.xml

@ -31,10 +31,14 @@
<import type="android.view.View" />
<variable
name="name"
type="String" />
<variable
name="state"
type="org.videolan.vlc.gui.dialogs.EqualizerFragmentDialog.EqualizerState" />
name="custom"
type="Boolean" />
</data>
<androidx.core.widget.NestedScrollView
@ -139,7 +143,7 @@
android:contentDescription="@string/edit_eq_preset"
android:focusable="true"
android:padding="12dp"
android:visibility="@{state.type == 0 ? View.VISIBLE : View.GONE}"
android:visibility="@{custom ? View.GONE : View.VISIBLE}"
app:layout_constraintBottom_toBottomOf="@+id/top_bar"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.5"
@ -158,7 +162,7 @@
android:contentDescription="@string/reset"
android:focusable="true"
android:padding="12dp"
android:visibility="@{state.type != 0 ? View.VISIBLE : View.GONE}"
android:visibility="@{custom ? View.VISIBLE : View.GONE}"
app:layout_constraintBottom_toBottomOf="@+id/top_bar"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.5"
@ -177,7 +181,7 @@
android:contentDescription="@string/save"
android:focusable="true"
android:padding="12dp"
android:visibility="@{state.type != 0 ? View.VISIBLE : View.GONE}"
android:visibility="@{custom ? View.VISIBLE : View.GONE}"
app:layout_constraintBottom_toBottomOf="@+id/top_bar"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.5"
@ -194,10 +198,10 @@
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
android:layout_marginEnd="8dp"
android:text="@{state.name}"
android:text="@{name}"
android:textColor="?attr/font_default"
android:textSize="16sp"
android:visibility="@{state.type == 0 ? View.VISIBLE : View.GONE}"
android:visibility="@{custom ? View.GONE : View.VISIBLE}"
app:layout_constraintBottom_toBottomOf="@+id/linearLayout8"
app:layout_constraintEnd_toStartOf="@+id/linearLayout8"
app:layout_constraintStart_toStartOf="parent"
@ -213,8 +217,8 @@
android:ems="10"
android:inputType="text"
android:maxLines="1"
android:text="@{state.name}"
android:visibility="@{state.type != 0 ? View.VISIBLE : View.GONE}"
android:text="@{name}"
android:visibility="@{custom ? View.VISIBLE : View.GONE}"
app:layout_constraintBottom_toBottomOf="@+id/linearLayout8"
app:layout_constraintEnd_toStartOf="@+id/linearLayout8"
app:layout_constraintStart_toStartOf="parent"

4
application/vlc-android/src/org/videolan/vlc/gui/AudioPlayerContainerActivity.kt

@ -88,7 +88,7 @@ import org.videolan.vlc.VlcMigrationHelper
import org.videolan.vlc.gui.audio.AudioPlayer
import org.videolan.vlc.gui.audio.AudioPlaylistTipsDelegate
import org.videolan.vlc.gui.audio.AudioTipsDelegate
import org.videolan.vlc.gui.audio.EqualizerFragment
import org.videolan.vlc.gui.dialogs.EqualizerFragmentDialog
import org.videolan.vlc.gui.helpers.BottomNavigationBehavior
import org.videolan.vlc.gui.helpers.KeycodeListener
import org.videolan.vlc.gui.helpers.PlayerBehavior
@ -451,7 +451,7 @@ open class AudioPlayerContainerActivity : BaseActivity(), KeycodeListener, Sched
}
override fun showEqualizer() {
EqualizerFragment().show(supportFragmentManager, "equalizer")
EqualizerFragmentDialog().show(supportFragmentManager, "equalizer")
}
override fun increaseRate() {

38
application/vlc-android/src/org/videolan/vlc/gui/dialogs/EqualizerFragmentDialog.kt

@ -32,9 +32,6 @@ import android.view.ViewGroup.LayoutParams
import android.widget.LinearLayout
import androidx.core.content.edit
import androidx.core.view.children
import androidx.databinding.ObservableBoolean
import androidx.databinding.ObservableField
import androidx.databinding.ObservableInt
import androidx.fragment.app.viewModels
import androidx.lifecycle.lifecycleScope
import com.google.android.material.bottomsheet.BottomSheetBehavior.STATE_EXPANDED
@ -73,7 +70,6 @@ class EqualizerFragmentDialog : VLCBottomSheetDialogFragment(), Slider.OnChangeL
}
private lateinit var binding: DialogEqualizerBinding
private val state = EqualizerState()
private val eqBandsViews = ArrayList<EqualizerBar>()
var oldEqualiserSets = listOf<String>()
@ -92,7 +88,6 @@ class EqualizerFragmentDialog : VLCBottomSheetDialogFragment(), Slider.OnChangeL
savedInstanceState: Bundle?
): View? {
binding = DialogEqualizerBinding.inflate(layoutInflater, container, false)
binding.state = state
return binding.root
}
@ -236,7 +231,8 @@ class EqualizerFragmentDialog : VLCBottomSheetDialogFragment(), Slider.OnChangeL
*/
fun selectPreset() {
updateEqualizer()
state.name.set(viewModel.getCurrentEqualizer().equalizerEntry.name)
binding.name = viewModel.getCurrentEqualizer().equalizerEntry.name
binding.custom = getEqualizerType() == TYPE_CUSTOM
val selectedChip = binding.equalizerPresets.findViewWithTag<Chip>(viewModel.getCurrentEqualizer().equalizerEntry.id)
binding.equalizerPresets.check(selectedChip.id)
updateEnabledState()
@ -299,30 +295,6 @@ class EqualizerFragmentDialog : VLCBottomSheetDialogFragment(), Slider.OnChangeL
}
}
/**
* Equalizer state
*
* @constructor Create empty Equalizer state
*/
inner class EqualizerState {
internal var saved = true
var saveButtonVisibility = ObservableBoolean(false)
var revertButtonVisibility = ObservableBoolean(false)
var deleteButtonVisibility = ObservableBoolean(false)
var name = ObservableField<String>()
var type = ObservableInt(TYPE_PRESET)
fun update(newSaved: Boolean) {
saved = newSaved
name.set(viewModel.getCurrentEqualizer().equalizerEntry.name)
type.set(getEqualizerType())
saveButtonVisibility.set(!newSaved)
revertButtonVisibility.set(!newSaved)
deleteButtonVisibility.set(newSaved && getEqualizerType() == TYPE_CUSTOM)
}
}
/**
* Band listener
*
@ -346,12 +318,6 @@ class EqualizerFragmentDialog : VLCBottomSheetDialogFragment(), Slider.OnChangeL
if (!binding.equalizerButton.isChecked)
binding.equalizerButton.isChecked = true
if (getEqualizerType() == TYPE_PRESET) {
state.update(false)
} else if (getEqualizerType() == TYPE_CUSTOM) {
state.update(false)
}
/**
* Snap bands
*/

Loading…
Cancel
Save