diff --git a/.idea/assetWizardSettings.xml b/.idea/assetWizardSettings.xml
index c292dc5e..f7074742 100644
--- a/.idea/assetWizardSettings.xml
+++ b/.idea/assetWizardSettings.xml
@@ -320,7 +320,7 @@
@@ -330,8 +330,7 @@
diff --git a/README.md b/README.md
index 0aaeb02a..665aa052 100644
--- a/README.md
+++ b/README.md
@@ -9,7 +9,13 @@
- [](https://github.com/deniscerri/ytdlnis/releases/latest) [](https://github.com/deniscerri/ytdlnis/releases) [](https://hosted.weblate.org/engage/ytdlnis/?utm_source=widget) [](https://discord.gg/WW3KYWxAPm)
+
+[](https://github.com/deniscerri/ytdlnis/releases/latest)
+[](https://github.com/deniscerri/ytdlnis/releases)
+[](https://github.com/deniscerri/ytdlnis/releases)
+[](https://hosted.weblate.org/engage/ytdlnis/?utm_source=widget)
+[](https://discord.gg/WW3KYWxAPm)
+[](https://t.me/ytdlnis)
diff --git a/app/src/main/java/com/deniscerri/ytdlnis/adapter/ActiveDownloadAdapter.kt b/app/src/main/java/com/deniscerri/ytdlnis/adapter/ActiveDownloadAdapter.kt
index cc82153b..327c50fb 100644
--- a/app/src/main/java/com/deniscerri/ytdlnis/adapter/ActiveDownloadAdapter.kt
+++ b/app/src/main/java/com/deniscerri/ytdlnis/adapter/ActiveDownloadAdapter.kt
@@ -20,6 +20,7 @@ import com.google.android.material.button.MaterialButton
import com.google.android.material.card.MaterialCardView
import com.google.android.material.progressindicator.LinearProgressIndicator
import com.squareup.picasso.Picasso
+import java.util.zip.GZIPOutputStream
class ActiveDownloadAdapter(onItemClickListener: OnItemClickListener, activity: Activity) : ListAdapter
(AsyncDifferConfig.Builder(DIFF_CALLBACK).build()) {
private val onItemClickListener: OnItemClickListener
@@ -103,6 +104,7 @@ class ActiveDownloadAdapter(onItemClickListener: OnItemClickListener, activity:
val fileSize = card.findViewById(R.id.file_size)
fileSize.text = fileUtil.convertFileSize(item.format.filesize)
+ if (fileSize.text == "?") fileSize.visibility = View.GONE
//OUTPUT
val output = card.findViewById(R.id.output)
diff --git a/app/src/main/java/com/deniscerri/ytdlnis/adapter/GenericDownloadAdapter.kt b/app/src/main/java/com/deniscerri/ytdlnis/adapter/GenericDownloadAdapter.kt
index 45eefe2f..2e9a69aa 100644
--- a/app/src/main/java/com/deniscerri/ytdlnis/adapter/GenericDownloadAdapter.kt
+++ b/app/src/main/java/com/deniscerri/ytdlnis/adapter/GenericDownloadAdapter.kt
@@ -74,7 +74,9 @@ class GenericDownloadAdapter(onItemClickListener: OnItemClickListener, activity:
itemUrl.text = item.url
val formatNote = card.findViewById(R.id.format_note)
- formatNote!!.text = item.format.format_note.uppercase()
+ if (item.format.format_note == "?" || item.format.format_note == "") formatNote!!.visibility =
+ View.GONE
+ else formatNote!!.text = item.format.format_note.uppercase()
val codec = card.findViewById(R.id.codec)
val codecText =
diff --git a/app/src/main/java/com/deniscerri/ytdlnis/adapter/HistoryAdapter.kt b/app/src/main/java/com/deniscerri/ytdlnis/adapter/HistoryAdapter.kt
index 106756fe..b06b51fb 100644
--- a/app/src/main/java/com/deniscerri/ytdlnis/adapter/HistoryAdapter.kt
+++ b/app/src/main/java/com/deniscerri/ytdlnis/adapter/HistoryAdapter.kt
@@ -92,22 +92,6 @@ class HistoryAdapter(onItemClickListener: OnItemClickListener, activity: Activit
System.currentTimeMillis(),
DateUtils.MINUTE_IN_MILLIS
)
-//
-// val time = item.time
-// val downloadedTime: String
-// if (time == 0L) {
-// downloadedTime = activity.getString(R.string.currently_downloading) + " " + item.type
-// } else {
-// val cal = Calendar.getInstance()
-// val date = Date(time * 1000L)
-// cal.time = date
-// val day = cal[Calendar.DAY_OF_MONTH]
-// val month = cal.getDisplayName(Calendar.MONTH, Calendar.LONG, Locale.getDefault())
-// val year = cal[Calendar.YEAR]
-// val formatter: DateFormat = SimpleDateFormat("HH:mm", Locale.getDefault())
-// val timeString = formatter.format(date)
-// downloadedTime = "$day $month $year - $timeString"
-// }
datetime.text = relativeTime
// BUTTON ----------------------------------
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/DownloadBottomSheetDialog.kt b/app/src/main/java/com/deniscerri/ytdlnis/ui/downloadcard/DownloadBottomSheetDialog.kt
index 2249b742..23c3b2e7 100644
--- a/app/src/main/java/com/deniscerri/ytdlnis/ui/downloadcard/DownloadBottomSheetDialog.kt
+++ b/app/src/main/java/com/deniscerri/ytdlnis/ui/downloadcard/DownloadBottomSheetDialog.kt
@@ -22,6 +22,8 @@ import com.deniscerri.ytdlnis.database.models.ResultItem
import com.deniscerri.ytdlnis.database.viewmodel.DownloadViewModel
import com.deniscerri.ytdlnis.database.viewmodel.DownloadViewModel.Type
import com.deniscerri.ytdlnis.receiver.ShareActivity
+import com.deniscerri.ytdlnis.util.FileUtil
+import com.deniscerri.ytdlnis.util.UiUtil
import com.google.android.material.bottomsheet.BottomSheetBehavior
import com.google.android.material.bottomsheet.BottomSheetDialogFragment
import com.google.android.material.button.MaterialButton
@@ -34,6 +36,7 @@ import com.google.android.material.timepicker.TimeFormat
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.launch
import kotlinx.coroutines.withContext
+import java.io.File
import java.util.*
@@ -44,11 +47,13 @@ class DownloadBottomSheetDialog(private val resultItem: ResultItem, private val
private lateinit var downloadViewModel: DownloadViewModel
private lateinit var behavior: BottomSheetBehavior
private lateinit var commandTemplateDao : CommandTemplateDao
+ private lateinit var uiUtil: UiUtil
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
downloadViewModel = ViewModelProvider(this)[DownloadViewModel::class.java]
commandTemplateDao = DBManager.getInstance(requireContext()).commandTemplateDao
+ uiUtil = UiUtil(FileUtil())
}
@SuppressLint("RestrictedApi")
@@ -139,43 +144,12 @@ class DownloadBottomSheetDialog(private val resultItem: ResultItem, private val
val scheduleBtn = view.findViewById(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
-
-
- val item: DownloadItem = getDownloadItem();
- item.downloadStartTime = date.timeInMillis
- downloadViewModel.queueDownloads(listOf(item))
- dismiss()
- }
- timepicker.show(fragmentManager, "timepicker")
-
+ uiUtil.showDatePicker(fragmentManager) {
+ val item: DownloadItem = getDownloadItem();
+ item.downloadStartTime = it.timeInMillis
+ downloadViewModel.queueDownloads(listOf(item))
+ dismiss()
}
- datepicker.show(fragmentManager, "datepicker")
-
}
val download = view.findViewById