Skip to content
Snippets Groups Projects
Commit 7c9bde64 authored by Nicolas Pomepuy's avatar Nicolas Pomepuy
Browse files

Migrate the time picker to databinding

parent 8bf56354
No related branches found
Tags 3.0.12.1
1 merge request!1909Time picker
<?xml version="1.0" encoding="utf-8"?>
<androidx.core.widget.NestedScrollView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent">
<layout>
<androidx.constraintlayout.widget.ConstraintLayout
<androidx.core.widget.NestedScrollView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_gravity="center_horizontal"
android:orientation="vertical">
android:layout_height="match_parent">
<TextView
android:id="@+id/tim_pic_title"
style="@style/Theme.VLC.BottomSheetTitle"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="16dp"
android:layout_marginTop="8dp"
android:layout_marginEnd="16dp"
tools:text="PickTimeText"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<TextView
android:id="@+id/tim_pic_timetojump"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_marginStart="56dp"
android:layout_marginTop="8dp"
android:layout_marginEnd="8dp"
android:textSize="24sp"
android:textStyle="bold"
app:layout_constraintEnd_toStartOf="@+id/tim_pic_delete"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/tim_pic_title" />
<ImageButton
android:id="@+id/tim_pic_delete"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="16dp"
android:background="@color/transparent"
android:contentDescription="@string/clear"
app:layout_constraintBottom_toBottomOf="@+id/tim_pic_timetojump"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="@+id/tim_pic_timetojump"
app:srcCompat="@drawable/ic_backspace" />
<LinearLayout
android:id="@+id/linearLayout2"
android:layout_width="0dp"
android:layout_height="44dp"
android:layout_marginStart="16dp"
android:layout_marginTop="8dp"
android:layout_marginEnd="16dp"
android:gravity="center_vertical"
android:orientation="horizontal"
android:weightSum="3"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/tim_pic_timetojump">
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_gravity="center_horizontal"
android:orientation="vertical">
<TextView
android:id="@+id/tim_pic_1"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_weight="1"
android:clickable="true"
android:focusable="true"
android:focusableInTouchMode="true"
android:gravity="center"
android:text="1"
android:textSize="18sp"
android:textStyle="bold" />
android:id="@+id/tim_pic_title"
style="@style/Theme.VLC.BottomSheetTitle"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="16dp"
android:layout_marginTop="8dp"
android:layout_marginEnd="16dp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
tools:text="PickTimeText" />
<TextView
android:id="@+id/tim_pic_2"
android:id="@+id/tim_pic_timetojump"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_weight="1"
android:clickable="true"
android:focusable="true"
android:gravity="center"
android:text="2"
android:textSize="18sp"
android:textStyle="bold" />
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_marginStart="56dp"
android:layout_marginTop="8dp"
android:layout_marginEnd="8dp"
android:textSize="24sp"
android:textStyle="bold"
app:layout_constraintEnd_toStartOf="@+id/tim_pic_delete"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/tim_pic_title" />
<TextView
android:id="@+id/tim_pic_3"
<ImageButton
android:id="@+id/tim_pic_delete"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_weight="1"
android:clickable="true"
android:focusable="true"
android:gravity="center"
android:text="3"
android:textSize="18sp"
android:textStyle="bold" />
android:layout_height="wrap_content"
android:layout_marginEnd="16dp"
android:background="@color/transparent"
android:contentDescription="@string/clear"
app:layout_constraintBottom_toBottomOf="@+id/tim_pic_timetojump"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="@+id/tim_pic_timetojump"
app:srcCompat="@drawable/ic_backspace" />
</LinearLayout>
<LinearLayout
android:id="@+id/linearLayout2"
android:layout_width="0dp"
android:layout_height="44dp"
android:layout_marginStart="16dp"
android:layout_marginTop="8dp"
android:layout_marginEnd="16dp"
android:gravity="center_vertical"
android:orientation="horizontal"
android:weightSum="3"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/tim_pic_timetojump">
<LinearLayout
android:id="@+id/linearLayout3"
android:layout_width="0dp"
android:layout_height="44dp"
android:layout_marginStart="16dp"
android:layout_marginTop="8dp"
android:layout_marginEnd="16dp"
android:gravity="center_vertical"
android:orientation="horizontal"
android:weightSum="3"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/linearLayout2">
<TextView
android:id="@+id/tim_pic_1"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_weight="1"
android:clickable="true"
android:focusable="true"
android:focusableInTouchMode="true"
android:gravity="center"
android:text="1"
android:textSize="18sp"
android:textStyle="bold" />
<TextView
android:id="@+id/tim_pic_4"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_weight="1"
android:clickable="true"
android:focusable="true"
android:gravity="center"
android:text="4"
android:textSize="18sp"
android:textStyle="bold" />
<TextView
android:id="@+id/tim_pic_2"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_weight="1"
android:clickable="true"
android:focusable="true"
android:gravity="center"
android:text="2"
android:textSize="18sp"
android:textStyle="bold" />
<TextView
android:id="@+id/tim_pic_5"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_weight="1"
android:clickable="true"
android:focusable="true"
android:gravity="center"
android:text="5"
android:textSize="18sp"
android:textStyle="bold" />
<TextView
android:id="@+id/tim_pic_3"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_weight="1"
android:clickable="true"
android:focusable="true"
android:gravity="center"
android:text="3"
android:textSize="18sp"
android:textStyle="bold" />
<TextView
android:id="@+id/tim_pic_6"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_weight="1"
android:clickable="true"
android:focusable="true"
android:gravity="center"
android:text="6"
android:textSize="18sp"
android:textStyle="bold" />
</LinearLayout>
</LinearLayout>
<LinearLayout
android:id="@+id/linearLayout3"
android:layout_width="0dp"
android:layout_height="44dp"
android:layout_marginStart="16dp"
android:layout_marginTop="8dp"
android:layout_marginEnd="16dp"
android:gravity="center_vertical"
android:orientation="horizontal"
android:weightSum="3"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/linearLayout2">
<LinearLayout
android:id="@+id/linearLayout4"
android:layout_width="0dp"
android:layout_height="44dp"
android:layout_marginStart="16dp"
android:layout_marginTop="8dp"
android:layout_marginEnd="16dp"
android:gravity="center_vertical"
android:orientation="horizontal"
android:weightSum="3"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/linearLayout3">
<TextView
android:id="@+id/tim_pic_4"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_weight="1"
android:clickable="true"
android:focusable="true"
android:gravity="center"
android:text="4"
android:textSize="18sp"
android:textStyle="bold" />
<TextView
android:id="@+id/tim_pic_7"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_weight="1"
android:clickable="true"
android:focusable="true"
android:gravity="center"
android:text="7"
android:textSize="18sp"
android:textStyle="bold" />
<TextView
android:id="@+id/tim_pic_5"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_weight="1"
android:clickable="true"
android:focusable="true"
android:gravity="center"
android:text="5"
android:textSize="18sp"
android:textStyle="bold" />
<TextView
android:id="@+id/tim_pic_8"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_weight="1"
android:clickable="true"
android:focusable="true"
android:gravity="center"
android:text="8"
android:textSize="18sp"
android:textStyle="bold" />
<TextView
android:id="@+id/tim_pic_6"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_weight="1"
android:clickable="true"
android:focusable="true"
android:gravity="center"
android:text="6"
android:textSize="18sp"
android:textStyle="bold" />
<TextView
android:id="@+id/tim_pic_9"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_weight="1"
android:clickable="true"
android:focusable="true"
android:gravity="center"
android:text="9"
android:textSize="18sp"
android:textStyle="bold" />
</LinearLayout>
</LinearLayout>
<LinearLayout
android:id="@+id/linearLayout4"
android:layout_width="0dp"
android:layout_height="44dp"
android:layout_marginStart="16dp"
android:layout_marginTop="8dp"
android:layout_marginEnd="16dp"
android:gravity="center_vertical"
android:orientation="horizontal"
android:weightSum="3"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/linearLayout3">
<LinearLayout
android:id="@+id/linearLayout5"
android:layout_width="0dp"
android:layout_height="44dp"
android:layout_marginStart="16dp"
android:layout_marginEnd="16dp"
android:gravity="center_vertical"
android:orientation="horizontal"
android:weightSum="3"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/linearLayout4">
<TextView
android:id="@+id/tim_pic_7"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_weight="1"
android:clickable="true"
android:focusable="true"
android:gravity="center"
android:text="7"
android:textSize="18sp"
android:textStyle="bold" />
<TextView
android:id="@+id/tim_pic_00"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_weight="1"
android:clickable="true"
android:focusable="true"
android:gravity="center"
android:text=":00"
android:textSize="18sp"
android:textStyle="bold" />
<TextView
android:id="@+id/tim_pic_8"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_weight="1"
android:clickable="true"
android:focusable="true"
android:gravity="center"
android:text="8"
android:textSize="18sp"
android:textStyle="bold" />
<TextView
android:id="@+id/tim_pic_0"
<TextView
android:id="@+id/tim_pic_9"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_weight="1"
android:clickable="true"
android:focusable="true"
android:gravity="center"
android:text="9"
android:textSize="18sp"
android:textStyle="bold" />
</LinearLayout>
<LinearLayout
android:id="@+id/linearLayout5"
android:layout_width="0dp"
android:layout_height="44dp"
android:layout_marginStart="16dp"
android:layout_marginEnd="16dp"
android:gravity="center_vertical"
android:orientation="horizontal"
android:weightSum="3"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/linearLayout4">
<TextView
android:id="@+id/tim_pic_00"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_weight="1"
android:clickable="true"
android:focusable="true"
android:gravity="center"
android:text=":00"
android:textSize="18sp"
android:textStyle="bold" />
<TextView
android:id="@+id/tim_pic_0"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_weight="1"
android:clickable="true"
android:focusable="true"
android:gravity="center"
android:text="0"
android:textSize="18sp"
android:textStyle="bold" />
<TextView
android:id="@+id/tim_pic_30"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_weight="1"
android:clickable="true"
android:focusable="true"
android:gravity="center"
android:text=":30"
android:textSize="18sp"
android:textStyle="bold" />
</LinearLayout>
<CheckBox
android:id="@+id/tim_pic_wait_checkbox"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="16dp"
android:layout_marginTop="16dp"
android:text="@string/wait_before_sleep"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/linearLayout5" />
<Button
android:id="@+id/tim_pic_delete_current"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_marginEnd="16dp"
android:layout_weight="1"
android:clickable="true"
android:focusable="true"
android:gravity="center"
android:text="0"
android:textSize="18sp"
android:textStyle="bold" />
android:text="@string/remove_current"
android:textStyle="bold"
app:layout_constraintEnd_toStartOf="@+id/tim_pic_ok"
app:layout_constraintTop_toTopOf="@+id/tim_pic_ok" />
<TextView
android:id="@+id/tim_pic_30"
android:layout_width="wrap_content"
<Button
android:id="@+id/tim_pic_ok"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_marginTop="24dp"
android:layout_marginEnd="8dp"
android:layout_weight="1"
android:clickable="true"
android:focusable="true"
android:gravity="center"
android:text=":30"
android:textSize="18sp"
android:textStyle="bold" />
</LinearLayout>
<CheckBox
android:id="@+id/tim_pic_wait_checkbox"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="16dp"
android:layout_marginTop="16dp"
android:text="@string/wait_before_sleep"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/linearLayout5" />
<Button
android:id="@+id/tim_pic_delete_current"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_marginEnd="16dp"
android:layout_weight="1"
android:clickable="true"
android:focusable="true"
android:gravity="center"
android:text="@string/remove_current"
android:textStyle="bold"
app:layout_constraintEnd_toStartOf="@+id/tim_pic_ok"
app:layout_constraintTop_toTopOf="@+id/tim_pic_ok" />
<Button
android:id="@+id/tim_pic_ok"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_marginTop="24dp"
android:layout_marginEnd="8dp"
android:layout_weight="1"
android:clickable="true"
android:focusable="true"
android:gravity="center"
android:text="@string/ok"
android:textStyle="bold"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toBottomOf="@+id/tim_pic_wait_checkbox" />
android:text="@string/ok"
android:textStyle="bold"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toBottomOf="@+id/tim_pic_wait_checkbox" />
</androidx.constraintlayout.widget.ConstraintLayout>
</androidx.core.widget.NestedScrollView>
\ No newline at end of file
</androidx.constraintlayout.widget.ConstraintLayout>
</androidx.core.widget.NestedScrollView>
</layout>
\ No newline at end of file
......@@ -34,11 +34,14 @@ import kotlinx.coroutines.flow.filterNotNull
import kotlinx.coroutines.flow.onEach
import org.videolan.vlc.PlaybackService
import org.videolan.vlc.R
import org.videolan.vlc.databinding.AudioBrowserBinding
import org.videolan.vlc.databinding.DialogTimePickerBinding
import org.videolan.vlc.gui.helpers.TalkbackUtil
import org.videolan.vlc.util.launchWhenStarted
abstract class PickTimeFragment : VLCBottomSheetDialogFragment(), View.OnClickListener, View.OnFocusChangeListener {
lateinit var binding: DialogTimePickerBinding
private var mTextColor: Int = 0
var hours = ""
......@@ -47,7 +50,6 @@ abstract class PickTimeFragment : VLCBottomSheetDialogFragment(), View.OnClickLi
private var formatTime = ""
private var pickedRawTime = ""
var maxTimeSize = 6
private lateinit var tvTimeToJump: TextView
lateinit var playbackService: PlaybackService
......@@ -65,50 +67,25 @@ abstract class PickTimeFragment : VLCBottomSheetDialogFragment(), View.OnClickLi
override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?,
savedInstanceState: Bundle?): View? {
val view = inflater.inflate(R.layout.dialog_time_picker, container)
tvTimeToJump = view.findViewById<View>(R.id.tim_pic_timetojump) as TextView
(view.findViewById<View>(R.id.tim_pic_title) as TextView).setText(getTitle())
view.findViewById<View>(R.id.tim_pic_1).setOnClickListener(this)
view.findViewById<View>(R.id.tim_pic_1).onFocusChangeListener = this
view.findViewById<View>(R.id.tim_pic_2).setOnClickListener(this)
view.findViewById<View>(R.id.tim_pic_2).onFocusChangeListener = this
view.findViewById<View>(R.id.tim_pic_3).setOnClickListener(this)
view.findViewById<View>(R.id.tim_pic_3).onFocusChangeListener = this
view.findViewById<View>(R.id.tim_pic_4).setOnClickListener(this)
view.findViewById<View>(R.id.tim_pic_4).onFocusChangeListener = this
view.findViewById<View>(R.id.tim_pic_5).setOnClickListener(this)
view.findViewById<View>(R.id.tim_pic_5).onFocusChangeListener = this
view.findViewById<View>(R.id.tim_pic_6).setOnClickListener(this)
view.findViewById<View>(R.id.tim_pic_6).onFocusChangeListener = this
view.findViewById<View>(R.id.tim_pic_7).setOnClickListener(this)
view.findViewById<View>(R.id.tim_pic_7).onFocusChangeListener = this
view.findViewById<View>(R.id.tim_pic_8).setOnClickListener(this)
view.findViewById<View>(R.id.tim_pic_8).onFocusChangeListener = this
view.findViewById<View>(R.id.tim_pic_9).setOnClickListener(this)
view.findViewById<View>(R.id.tim_pic_9).onFocusChangeListener = this
view.findViewById<View>(R.id.tim_pic_0).setOnClickListener(this)
view.findViewById<View>(R.id.tim_pic_0).onFocusChangeListener = this
view.findViewById<View>(R.id.tim_pic_00).setOnClickListener(this)
view.findViewById<View>(R.id.tim_pic_00).onFocusChangeListener = this
view.findViewById<View>(R.id.tim_pic_30).setOnClickListener(this)
view.findViewById<View>(R.id.tim_pic_30).onFocusChangeListener = this
view.findViewById<View>(R.id.tim_pic_delete).setOnClickListener(this)
view.findViewById<View>(R.id.tim_pic_delete).onFocusChangeListener = this
view.findViewById<View>(R.id.tim_pic_ok).setOnClickListener(this)
view.findViewById<View>(R.id.tim_pic_ok).onFocusChangeListener = this
val deleteCurrent = view.findViewById<View>(R.id.tim_pic_delete_current)
deleteCurrent.setOnClickListener(this)
deleteCurrent.visibility = if (showDeleteCurrent()) View.VISIBLE else View.GONE
deleteCurrent.onFocusChangeListener = this
mTextColor = tvTimeToJump.currentTextColor
return view
binding = DialogTimePickerBinding.inflate(inflater, container, false)
binding.timPicTitle.setText(getTitle())
arrayOf(binding.timPic0, binding.timPic1, binding.timPic2, binding.timPic3, binding.timPic4, binding.timPic5, binding.timPic6, binding.timPic7, binding.timPic8, binding.timPic9, binding.timPic00, binding.timPic30, binding.timPicDelete, binding.timPicOk).forEach {
it .setOnClickListener(this)
it .onFocusChangeListener = this
}
binding.timPicDeleteCurrent.setOnClickListener(this)
binding.timPicDeleteCurrent.visibility = if (showDeleteCurrent()) View.VISIBLE else View.GONE
binding.timPicDeleteCurrent.onFocusChangeListener = this
mTextColor = binding.timPicTimetojump.currentTextColor
return binding.root
}
override fun initialFocusedView(): View {
return requireView().findViewById(R.id.tim_pic_1)
return binding.timPic1
}
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
......@@ -185,8 +162,8 @@ abstract class PickTimeFragment : VLCBottomSheetDialogFragment(), View.OnClickLi
if (hours !== "")
formatTime = hours + "h " + formatTime
tvTimeToJump.text = formatTime
tvTimeToJump.announceForAccessibility(TalkbackUtil.millisToString(requireActivity(), getTimeInMillis() ))
binding.timPicTimetojump.text = formatTime
binding.timPicTimetojump.announceForAccessibility(TalkbackUtil.millisToString(requireActivity(), getTimeInMillis() ))
}
fun getTimeInMillis(): Long {
......
......@@ -40,7 +40,6 @@ import java.util.*
class SleepTimerDialog : PickTimeFragment() {
private lateinit var settings: SharedPreferences
private lateinit var waitCheckBox: CheckBox
private val playlistModel by lazy { PlaylistModel.get(this) }
override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?,
......@@ -53,13 +52,12 @@ class SleepTimerDialog : PickTimeFragment() {
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
waitCheckBox = view.findViewById(R.id.tim_pic_wait_checkbox)
waitCheckBox.isChecked = settings.getBoolean(SLEEP_TIMER_WAIT, false)
binding.timPicWaitCheckbox.isChecked = settings.getBoolean(SLEEP_TIMER_WAIT, false)
}
override fun executeAction() {
playlistModel.service?.waitForMediaEnd = waitCheckBox.isChecked
settings.putSingle(SLEEP_TIMER_WAIT, waitCheckBox.isChecked)
playlistModel.service?.waitForMediaEnd = binding.timPicWaitCheckbox.isChecked
settings.putSingle(SLEEP_TIMER_WAIT, binding.timPicWaitCheckbox.isChecked)
val hours = if (hours != "") java.lang.Long.parseLong(hours) * HOURS_IN_MICROS else 0L
val minutes = if (minutes != "") java.lang.Long.parseLong(minutes) * MINUTES_IN_MICROS else 0L
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment