diff --git a/app/src/main/java/com/deniscerri/ytdlnis/database/repository/HistoryRepository.kt b/app/src/main/java/com/deniscerri/ytdlnis/database/repository/HistoryRepository.kt index affaae60..c936f0f8 100644 --- a/app/src/main/java/com/deniscerri/ytdlnis/database/repository/HistoryRepository.kt +++ b/app/src/main/java/com/deniscerri/ytdlnis/database/repository/HistoryRepository.kt @@ -12,7 +12,7 @@ class HistoryRepository(private val historyDao: HistoryDao) { } enum class HistorySortType { - DATE, TITLE, AUTHOR + DATE, TITLE, AUTHOR, FILESIZE } suspend fun getItem(id: Int) : HistoryItem { @@ -24,6 +24,13 @@ class HistoryRepository(private val historyDao: HistoryDao) { HistorySortType.DATE -> historyDao.getHistorySortedByID(query, format, site, sort.toString()) HistorySortType.TITLE -> historyDao.getHistorySortedByTitle(query, format, site, sort.toString()) HistorySortType.AUTHOR -> historyDao.getHistorySortedByAuthor(query, format, site, sort.toString()) + HistorySortType.FILESIZE -> { + val items = historyDao.getHistorySortedByID(query, format, site, sort.toString()) + when(sort){ + HistorySort.DESC -> items.sortedByDescending { it.format.filesize } + HistorySort.ASC -> items.sortedBy { it.format.filesize } + } + } } } diff --git a/app/src/main/java/com/deniscerri/ytdlnis/ui/downloadcard/DownloadMultipleBottomSheetDialog.kt b/app/src/main/java/com/deniscerri/ytdlnis/ui/downloadcard/DownloadMultipleBottomSheetDialog.kt index f53dac90..39d9aee9 100644 --- a/app/src/main/java/com/deniscerri/ytdlnis/ui/downloadcard/DownloadMultipleBottomSheetDialog.kt +++ b/app/src/main/java/com/deniscerri/ytdlnis/ui/downloadcard/DownloadMultipleBottomSheetDialog.kt @@ -25,6 +25,7 @@ import com.deniscerri.ytdlnis.database.viewmodel.DownloadViewModel import com.deniscerri.ytdlnis.database.viewmodel.ResultViewModel import com.deniscerri.ytdlnis.receiver.ShareActivity import com.deniscerri.ytdlnis.util.FileUtil +import com.deniscerri.ytdlnis.util.UiUtil import com.google.android.material.bottomappbar.BottomAppBar import com.google.android.material.bottomsheet.BottomSheetBehavior import com.google.android.material.bottomsheet.BottomSheetDialog @@ -49,6 +50,7 @@ class DownloadMultipleBottomSheetDialog(private var items: MutableList private lateinit var fileUtil: FileUtil + private lateinit var uiUtil: UiUtil override fun onCreate(savedInstanceState: Bundle?) { @@ -57,6 +59,7 @@ class DownloadMultipleBottomSheetDialog(private var items: MutableList(R.id.bottomsheet_schedule_button) scheduleBtn.setOnClickListener{ - val currentDate = Calendar.getInstance() - val date = Calendar.getInstance() - - val datepicker = MaterialDatePicker.Builder.datePicker() - .setCalendarConstraints( - CalendarConstraints.Builder() - .setValidator(DateValidatorPointForward.now()) - .build() - ) - .setSelection(MaterialDatePicker.todayInUtcMilliseconds()) - .build() - - datepicker.addOnPositiveButtonClickListener{ - date.timeInMillis = it - - - val timepicker = MaterialTimePicker.Builder() - .setTimeFormat(TimeFormat.CLOCK_24H) - .setHour(currentDate.get(Calendar.HOUR_OF_DAY)) - .setMinute(currentDate.get(Calendar.MINUTE)) - .build() - - timepicker.addOnPositiveButtonClickListener{ - date[Calendar.HOUR_OF_DAY] = timepicker.hour - date[Calendar.MINUTE] = timepicker.minute - - - items.forEach { item -> - item.downloadStartTime = date.timeInMillis - } - downloadViewModel.queueDownloads(items) - dismiss() + uiUtil.showDatePicker(parentFragmentManager) { + items.forEach { item -> + item.downloadStartTime = it.timeInMillis } - timepicker.show(parentFragmentManager, "timepicker") - + downloadViewModel.queueDownloads(items) + dismiss() } - datepicker.show(parentFragmentManager, "datepicker") - } val download = view.findViewById