From a19bb7025445894b1fc4076235b530c23eec21ad Mon Sep 17 00:00:00 2001
From: deniscerri <64997243+deniscerri@users.noreply.github.com>
Date: Mon, 13 Mar 2023 18:32:58 +0100
Subject: [PATCH 1/6] Update README.md
---
README.md | 8 +++++++-
1 file changed, 7 insertions(+), 1 deletion(-)
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)
From 69b1e55ebdbd47e101f33bb5336f5341bd68529b Mon Sep 17 00:00:00 2001
From: deniscerri <64997243+deniscerri@users.noreply.github.com>
Date: Mon, 13 Mar 2023 18:43:52 +0100
Subject: [PATCH 2/6] bye last java file
---
.../com/deniscerri/ytdlnis/ExampleUnitTest.java | 17 -----------------
.../com/deniscerri/ytdlnis/ExampleUnitTest.kt | 16 ++++++++++++++++
2 files changed, 16 insertions(+), 17 deletions(-)
delete mode 100644 app/src/test/java/com/deniscerri/ytdlnis/ExampleUnitTest.java
create mode 100644 app/src/test/java/com/deniscerri/ytdlnis/ExampleUnitTest.kt
diff --git a/app/src/test/java/com/deniscerri/ytdlnis/ExampleUnitTest.java b/app/src/test/java/com/deniscerri/ytdlnis/ExampleUnitTest.java
deleted file mode 100644
index 73a186e8..00000000
--- a/app/src/test/java/com/deniscerri/ytdlnis/ExampleUnitTest.java
+++ /dev/null
@@ -1,17 +0,0 @@
-package com.deniscerri.ytdlnis;
-
-import static org.junit.Assert.assertEquals;
-
-import org.junit.Test;
-
-/**
- * Example local unit test, which will execute on the development machine (host).
- *
- * @see
Testing documentation
- */
-public class ExampleUnitTest {
- @Test
- public void addition_isCorrect() {
- assertEquals(4, 2 + 2);
- }
-}
\ No newline at end of file
diff --git a/app/src/test/java/com/deniscerri/ytdlnis/ExampleUnitTest.kt b/app/src/test/java/com/deniscerri/ytdlnis/ExampleUnitTest.kt
new file mode 100644
index 00000000..36ef53a3
--- /dev/null
+++ b/app/src/test/java/com/deniscerri/ytdlnis/ExampleUnitTest.kt
@@ -0,0 +1,16 @@
+package com.deniscerri.ytdlnis
+
+import org.junit.Assert
+import org.junit.Test
+
+/**
+ * Example local unit test, which will execute on the development machine (host).
+ *
+ * @see [Testing documentation](http://d.android.com/tools/testing)
+ */
+class ExampleUnitTest {
+ @Test
+ fun addition_isCorrect() {
+ Assert.assertEquals(4, (2 + 2).toLong())
+ }
+}
\ No newline at end of file
From 075dcf874dc9342ad39c0b7d9c5f9fa590c4b221 Mon Sep 17 00:00:00 2001
From: deniscerri <64997243+deniscerri@users.noreply.github.com>
Date: Mon, 13 Mar 2023 21:36:50 +0100
Subject: [PATCH 3/6] added themed icon for a12 and up & added ability to
change scheduled time of a download
---
.../ytdlnis/adapter/ActiveDownloadAdapter.kt | 2 +
.../ytdlnis/adapter/GenericDownloadAdapter.kt | 4 +-
.../downloadcard/DownloadBottomSheetDialog.kt | 46 ++----
.../FormatSelectionBottomSheetDialog.kt | 1 +
.../downloads/CancelledDownloadsFragment.kt | 10 +-
.../ui/downloads/ErroredDownloadsFragment.kt | 4 +
.../ytdlnis/ui/downloads/HistoryFragment.kt | 9 ++
.../ui/downloads/QueuedDownloadsFragment.kt | 31 +++-
.../com/deniscerri/ytdlnis/util/UiUtil.kt | 42 ++++++
.../drawable-v24/ic_launcher_foreground.xml | 2 +-
.../res/drawable/image_gradient_shape.xml | 11 ++
.../main/res/layout/active_download_card.xml | 138 ++++++++----------
app/src/main/res/layout/history_card.xml | 2 +-
.../history_item_details_bottom_sheet.xml | 14 ++
.../res/layout/search_suggestion_item.xml | 22 ++-
app/src/main/res/values-night-v31/colors.xml | 9 ++
.../main/res/values-notnight-v31/colors.xml | 9 ++
app/src/main/res/values/colors.xml | 1 +
app/src/main/res/values/strings.xml | 1 +
19 files changed, 224 insertions(+), 134 deletions(-)
create mode 100644 app/src/main/res/drawable/image_gradient_shape.xml
create mode 100644 app/src/main/res/values-night-v31/colors.xml
create mode 100644 app/src/main/res/values-notnight-v31/colors.xml
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/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