pull/1117/head v1.8.7.4-beta
deniscerri 7 months ago
parent cdc62c74c6
commit 01272688c8
No known key found for this signature in database
GPG Key ID: 95C43D517D830350

@ -33,6 +33,7 @@ import com.deniscerri.ytdl.database.viewmodel.FormatViewModel
import com.deniscerri.ytdl.database.viewmodel.ResultViewModel
import com.deniscerri.ytdl.database.viewmodel.YTDLPViewModel
import com.deniscerri.ytdl.util.Extensions.applyFilenameTemplateForCuts
import com.deniscerri.ytdl.util.Extensions.createBadge
import com.deniscerri.ytdl.util.FileUtil
import com.deniscerri.ytdl.util.FormatUtil
import com.deniscerri.ytdl.util.UiUtil
@ -294,12 +295,14 @@ class DownloadAudioFragment(private var resultItem: ResultItem? = null, private
if (containers[index] == getString(R.string.defaultValue)) downloadItem.container = ""
if (downloadItem.container == "wav") {
downloadItem.audioPreferences.embedThumb = false
view.findViewById<Chip>(R.id.embed_thumb).apply {
downloadItem.audioPreferences.cropThumb = false
view.findViewById<Chip>(R.id.thumbnail).apply {
isEnabled = false
isChecked = false
createBadge(requireContext(), 0)
}
}else {
view.findViewById<Chip>(R.id.embed_thumb).isEnabled = true
view.findViewById<Chip>(R.id.thumbnail).isEnabled = true
}
}

@ -1804,19 +1804,47 @@ object UiUtil {
){
val sharedPreferences = PreferenceManager.getDefaultSharedPreferences(context)
val embedThumb = view.findViewById<Chip>(R.id.embed_thumb)
val cropThumb = view.findViewById<Chip>(R.id.crop_thumb)
val adjustThumbnail = view.findViewById<Chip>(R.id.thumbnail)
fun calculateAdjustThumbnailChangeCount() {
if (items.size == 1) {
val firstItem = items.first()
val count = listOf(
firstItem.audioPreferences.embedThumb,
firstItem.audioPreferences.cropThumb
)
adjustThumbnail.createBadge(context, count.filter { it == true }.size)
}
}
calculateAdjustThumbnailChangeCount()
adjustThumbnail.setOnClickListener {
val adjustThumbnailView = context.layoutInflater.inflate(R.layout.audio_thumbnail_download_preferences_dialog, null)
val embedThumb = adjustThumbnailView.findViewById<MaterialSwitch>(R.id.embed_thumbnail)
val cropThumb = adjustThumbnailView.findViewById<MaterialSwitch>(R.id.crop_thumbnail)
embedThumb!!.isChecked = items.all { it.audioPreferences.embedThumb }
cropThumb.isVisible = embedThumb.isChecked
embedThumb.setOnClickListener {
embedThumbClicked(embedThumb.isChecked)
embedThumb!!.isChecked = items.all { it.audioPreferences.embedThumb }
cropThumb.isVisible = embedThumb.isChecked
}
cropThumb!!.isChecked = items.all { it.audioPreferences.cropThumb == true }
cropThumb.setOnClickListener {
cropThumbClicked(cropThumb.isChecked)
embedThumb.setOnClickListener {
embedThumbClicked(embedThumb.isChecked)
cropThumb.isVisible = embedThumb.isChecked
items.forEach { it.audioPreferences.embedThumb = embedThumb.isChecked }
calculateAdjustThumbnailChangeCount()
}
cropThumb!!.isChecked = items.all { it.audioPreferences.cropThumb == true }
cropThumb.setOnClickListener {
cropThumbClicked(cropThumb.isChecked)
items.forEach { it.audioPreferences.cropThumb = cropThumb.isChecked }
calculateAdjustThumbnailChangeCount()
}
val adjustThumbnailDialog = MaterialAlertDialogBuilder(context)
.setTitle(context.getString(R.string.thumbnail))
.setView(adjustThumbnailView)
.setIcon(R.drawable.ic_image)
.setNegativeButton(context.resources.getString(R.string.dismiss)) { _: DialogInterface?, _: Int -> }
adjustThumbnailDialog.show()
}
val splitByChapters = view.findViewById<Chip>(R.id.split_by_chapters)

@ -491,7 +491,16 @@ class YTDLPUtil(private val context: Context, private val commandTemplateDao: Co
val json = results[0]
val jsonArray = runCatching { JSONArray(json) }.getOrElse { JSONArray() }
return parseYTDLFormats(jsonArray)
val formats = parseYTDLFormats(jsonArray)
if (formats.isEmpty()) {
runCatching {
getInfoJsonFile(url)?.apply {
this.delete()
}
}
}
return formats
}
private fun parseYTDLFormats(formatsInJSON: JSONArray?) : ArrayList<Format> {
@ -862,7 +871,7 @@ class YTDLPUtil(private val context: Context, private val commandTemplateDao: Co
}
if (downloadItem.playlistIndex != null) {
metadataCommands.addOption("--parse-metadata", "%(playlist_autonumber)s:playlist_autonumber")
metadataCommands.addOption("--parse-metadata", "%(playlist_index)s:playlist_index")
}
downloadItem.rowNumber.apply {

@ -25,32 +25,39 @@
android:layout_height="wrap_content">
<com.google.android.material.chip.Chip
android:id="@+id/embed_thumb"
style="@style/Widget.Material3.Chip.Filter.Elevated"
android:id="@+id/thumbnail"
style="@style/Widget.Material3.Chip.Assist.Elevated"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:outlineProvider="none"
android:checked="false"
android:text="@string/embed_thumb"/>
app:chipIcon="@drawable/ic_image"
android:outlineProvider="none"
android:text="@string/thumbnail" />
<com.google.android.material.chip.Chip
android:id="@+id/crop_thumb"
android:id="@+id/split_by_chapters"
style="@style/Widget.Material3.Chip.Filter.Elevated"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:checked="false"
android:outlineProvider="none"
android:visibility="gone"
android:text="@string/crop_thumb"/>
android:text="@string/split_by_chapters"/>
<com.google.android.material.chip.Chip
android:id="@+id/split_by_chapters"
style="@style/Widget.Material3.Chip.Filter.Elevated"
android:id="@+id/audio_bitrate"
style="@style/Widget.Material3.Chip.Assist.Elevated"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:checked="false"
android:gravity="center"
android:minWidth="30dp"
android:outlineProvider="none"
android:text="@string/split_by_chapters"/>
android:text="@string/bitrate"
app:chipIcon="@drawable/baseline_high_quality_24"
app:chipIconVisible="true"
app:cornerRadius="10dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
</com.google.android.material.chip.ChipGroup>
@ -84,22 +91,6 @@
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<com.google.android.material.chip.Chip
android:id="@+id/audio_bitrate"
style="@style/Widget.Material3.Chip.Assist.Elevated"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center"
android:minWidth="30dp"
android:outlineProvider="none"
android:text="@string/bitrate"
app:chipIcon="@drawable/baseline_high_quality_24"
app:chipIconVisible="true"
app:cornerRadius="10dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<com.google.android.material.chip.Chip
android:id="@+id/filename_template"
style="@style/Widget.Material3.Chip.Assist.Elevated"

@ -0,0 +1,22 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:orientation="vertical"
android:layout_height="wrap_content">
<com.google.android.material.materialswitch.MaterialSwitch
android:id="@+id/embed_thumbnail"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginHorizontal="20dp"
android:layout_marginTop="10dp"
android:text="@string/embed_thumb" />
<com.google.android.material.materialswitch.MaterialSwitch
android:id="@+id/crop_thumbnail"
android:layout_width="match_parent"
android:layout_marginHorizontal="20dp"
android:text="@string/crop_thumb"
android:layout_height="wrap_content" />
</LinearLayout>

@ -1567,15 +1567,16 @@
<string-array name="audio_bitrate">
<item>@string/defaultValue</item>
<item>320 kpbs</item>
<item>192 kpbs</item>
<item>128 kpbs</item>
<item>64 kpbs</item>
<item>968 kbps</item>
<item>320 kbps</item>
<item>192 kbps</item>
<item>128 kbps</item>
<item>64 kbps</item>
</string-array>
<string-array name="audio_bitrate_values">
<item></item>
<item>320k</item>
<item>968k</item>
<item>192k</item>
<item>128k</item>
<item>64k</item>

Loading…
Cancel
Save