changed date and timer pickers to material
This commit is contained in:
parent
9f7ef2f93d
commit
c43cc4bfc6
1 changed files with 43 additions and 25 deletions
|
|
@ -6,6 +6,8 @@ import android.app.Dialog
|
||||||
import android.app.TimePickerDialog
|
import android.app.TimePickerDialog
|
||||||
import android.content.DialogInterface
|
import android.content.DialogInterface
|
||||||
import android.os.Bundle
|
import android.os.Bundle
|
||||||
|
import android.util.DisplayMetrics
|
||||||
|
import android.view.Display
|
||||||
import android.view.LayoutInflater
|
import android.view.LayoutInflater
|
||||||
import android.view.View
|
import android.view.View
|
||||||
import android.widget.Adapter
|
import android.widget.Adapter
|
||||||
|
|
@ -23,7 +25,13 @@ import com.deniscerri.ytdlnis.database.viewmodel.DownloadViewModel.Type
|
||||||
import com.google.android.material.bottomsheet.BottomSheetBehavior
|
import com.google.android.material.bottomsheet.BottomSheetBehavior
|
||||||
import com.google.android.material.bottomsheet.BottomSheetDialogFragment
|
import com.google.android.material.bottomsheet.BottomSheetDialogFragment
|
||||||
import com.google.android.material.button.MaterialButton
|
import com.google.android.material.button.MaterialButton
|
||||||
|
import com.google.android.material.datepicker.CalendarConstraints
|
||||||
|
import com.google.android.material.datepicker.DateValidatorPointBackward
|
||||||
|
import com.google.android.material.datepicker.DateValidatorPointForward
|
||||||
|
import com.google.android.material.datepicker.MaterialDatePicker
|
||||||
import com.google.android.material.tabs.TabLayout
|
import com.google.android.material.tabs.TabLayout
|
||||||
|
import com.google.android.material.timepicker.MaterialTimePicker
|
||||||
|
import com.google.android.material.timepicker.TimeFormat
|
||||||
import java.util.*
|
import java.util.*
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -47,7 +55,9 @@ class DownloadBottomSheetDialog(private val resultItem: ResultItem, private val
|
||||||
|
|
||||||
dialog.setOnShowListener {
|
dialog.setOnShowListener {
|
||||||
behavior = BottomSheetBehavior.from(view.parent as View)
|
behavior = BottomSheetBehavior.from(view.parent as View)
|
||||||
behavior.peekHeight = 1200
|
val displayMetrics = DisplayMetrics()
|
||||||
|
requireActivity().windowManager.defaultDisplay.getMetrics(displayMetrics)
|
||||||
|
behavior.peekHeight = displayMetrics.heightPixels / 2
|
||||||
}
|
}
|
||||||
|
|
||||||
tabLayout = view.findViewById(R.id.download_tablayout)
|
tabLayout = view.findViewById(R.id.download_tablayout)
|
||||||
|
|
@ -103,32 +113,40 @@ class DownloadBottomSheetDialog(private val resultItem: ResultItem, private val
|
||||||
val currentDate = Calendar.getInstance()
|
val currentDate = Calendar.getInstance()
|
||||||
val date = Calendar.getInstance()
|
val date = Calendar.getInstance()
|
||||||
|
|
||||||
val datepicker = DatePickerDialog(
|
val datepicker = MaterialDatePicker.Builder.datePicker()
|
||||||
requireContext(),
|
.setCalendarConstraints(
|
||||||
{ view, year, monthOfYear, dayOfMonth ->
|
CalendarConstraints.Builder()
|
||||||
date[year, monthOfYear] = dayOfMonth
|
.setValidator(DateValidatorPointForward.now())
|
||||||
TimePickerDialog(context,
|
.build()
|
||||||
{ _, hourOfDay, minute ->
|
)
|
||||||
date[Calendar.HOUR_OF_DAY] = hourOfDay
|
.setSelection(MaterialDatePicker.todayInUtcMilliseconds())
|
||||||
date[Calendar.MINUTE] = minute
|
.build()
|
||||||
|
|
||||||
|
datepicker.addOnPositiveButtonClickListener{
|
||||||
|
date.timeInMillis = it
|
||||||
|
|
||||||
|
|
||||||
val item: DownloadItem = getDownloadItem();
|
val timepicker = MaterialTimePicker.Builder()
|
||||||
item.downloadStartTime = date.timeInMillis
|
.setTimeFormat(TimeFormat.CLOCK_12H)
|
||||||
downloadViewModel.queueDownloads(listOf(item))
|
.setHour(currentDate.get(Calendar.HOUR_OF_DAY))
|
||||||
dismiss()
|
.setMinute(currentDate.get(Calendar.MINUTE))
|
||||||
},
|
.build()
|
||||||
currentDate.get(Calendar.HOUR_OF_DAY),
|
|
||||||
currentDate.get(Calendar.MINUTE),
|
timepicker.addOnPositiveButtonClickListener{
|
||||||
false
|
date[Calendar.HOUR_OF_DAY] = timepicker.hour
|
||||||
).show()
|
date[Calendar.MINUTE] = timepicker.minute
|
||||||
},
|
|
||||||
currentDate.get(Calendar.YEAR),
|
|
||||||
currentDate.get(Calendar.MONTH),
|
val item: DownloadItem = getDownloadItem();
|
||||||
currentDate.get(Calendar.DATE)
|
item.downloadStartTime = date.timeInMillis
|
||||||
)
|
downloadViewModel.queueDownloads(listOf(item))
|
||||||
datepicker.datePicker.minDate = System.currentTimeMillis() - 1000
|
dismiss()
|
||||||
datepicker.show()
|
}
|
||||||
|
timepicker.show(fragmentManager, "timepicker")
|
||||||
|
|
||||||
|
}
|
||||||
|
datepicker.show(fragmentManager, "datepicker")
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
val download = view.findViewById<Button>(R.id.bottomsheet_download_button)
|
val download = view.findViewById<Button>(R.id.bottomsheet_download_button)
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue