From 724702ffc1874f023774b9c756ef1b89900dcb9a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Denis=20=C3=87erri?= <64997243+deniscerri@users.noreply.github.com> Date: Sat, 11 Mar 2023 09:47:30 +0100 Subject: [PATCH] added copy url in download card --- .../ytdlnis/adapter/HistoryAdapter.kt | 1 + .../ui/downloadcard/DownloadAudioFragment.kt | 9 +++ .../downloadcard/DownloadCommandFragment.kt | 7 +++ .../ui/downloadcard/DownloadVideoFragment.kt | 9 +++ app/src/main/res/drawable/ic_edit.xml | 4 +- .../main/res/layout/download_bottom_sheet.xml | 3 - .../res/layout/fragment_download_audio.xml | 22 ++++++- .../res/layout/fragment_download_command.xml | 61 +++++++++++++------ .../res/layout/fragment_download_video.xml | 21 ++++++- app/src/main/res/values/strings.xml | 1 + 10 files changed, 110 insertions(+), 28 deletions(-) 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 60c8c133..58a3bef7 100644 --- a/app/src/main/java/com/deniscerri/ytdlnis/adapter/HistoryAdapter.kt +++ b/app/src/main/java/com/deniscerri/ytdlnis/adapter/HistoryAdapter.kt @@ -136,6 +136,7 @@ class HistoryAdapter(onItemClickListener: OnItemClickListener, activity: Activit btn.icon = ContextCompat.getDrawable(activity, R.drawable.ic_terminal) } if (btn.hasOnClickListeners()) btn.setOnClickListener(null) + btn.isClickable = false if (checkedItems.contains(item.id)) { card.isChecked = true card.strokeWidth = 5 diff --git a/app/src/main/java/com/deniscerri/ytdlnis/ui/downloadcard/DownloadAudioFragment.kt b/app/src/main/java/com/deniscerri/ytdlnis/ui/downloadcard/DownloadAudioFragment.kt index 8272e66f..babe732a 100644 --- a/app/src/main/java/com/deniscerri/ytdlnis/ui/downloadcard/DownloadAudioFragment.kt +++ b/app/src/main/java/com/deniscerri/ytdlnis/ui/downloadcard/DownloadAudioFragment.kt @@ -1,6 +1,7 @@ package com.deniscerri.ytdlnis.ui.downloadcard import android.app.Activity +import android.content.ClipboardManager import android.content.Intent import android.os.Bundle import android.text.Editable @@ -14,6 +15,7 @@ import android.widget.ArrayAdapter import android.widget.AutoCompleteTextView import android.widget.TextView import androidx.activity.result.contract.ActivityResultContracts +import androidx.appcompat.app.AppCompatActivity import androidx.constraintlayout.widget.ConstraintLayout import androidx.fragment.app.Fragment import androidx.lifecycle.ViewModelProvider @@ -171,6 +173,13 @@ class DownloadAudioFragment(private var resultItem: ResultItem, private var curr downloadItem.audioPreferences.embedThumb = embedThumb.isChecked } + val copyURL = view.findViewById(R.id.copy_url) + copyURL.setOnClickListener { + val clipboard: ClipboardManager = + requireContext().getSystemService(AppCompatActivity.CLIPBOARD_SERVICE) as ClipboardManager + clipboard.setText(downloadItem.url) + } + }catch (e : Exception){ e.printStackTrace() } diff --git a/app/src/main/java/com/deniscerri/ytdlnis/ui/downloadcard/DownloadCommandFragment.kt b/app/src/main/java/com/deniscerri/ytdlnis/ui/downloadcard/DownloadCommandFragment.kt index 46c4b557..8b3deb8f 100644 --- a/app/src/main/java/com/deniscerri/ytdlnis/ui/downloadcard/DownloadCommandFragment.kt +++ b/app/src/main/java/com/deniscerri/ytdlnis/ui/downloadcard/DownloadCommandFragment.kt @@ -196,6 +196,13 @@ class DownloadCommandFragment(private val resultItem: ResultItem, private var cu } } + val copyURL = view.findViewById(R.id.copy_url) + copyURL.setOnClickListener { + val clipboard: ClipboardManager = + requireContext().getSystemService(AppCompatActivity.CLIPBOARD_SERVICE) as ClipboardManager + clipboard.setText(downloadItem.url) + } + } catch (e: Exception) { e.printStackTrace() } diff --git a/app/src/main/java/com/deniscerri/ytdlnis/ui/downloadcard/DownloadVideoFragment.kt b/app/src/main/java/com/deniscerri/ytdlnis/ui/downloadcard/DownloadVideoFragment.kt index 81dc56b3..18f7e560 100644 --- a/app/src/main/java/com/deniscerri/ytdlnis/ui/downloadcard/DownloadVideoFragment.kt +++ b/app/src/main/java/com/deniscerri/ytdlnis/ui/downloadcard/DownloadVideoFragment.kt @@ -1,6 +1,7 @@ package com.deniscerri.ytdlnis.ui.downloadcard import android.app.Activity +import android.content.ClipboardManager import android.content.Intent import android.os.Bundle import android.text.Editable @@ -13,6 +14,7 @@ import android.widget.ArrayAdapter import android.widget.AutoCompleteTextView import android.widget.TextView import androidx.activity.result.contract.ActivityResultContracts +import androidx.appcompat.app.AppCompatActivity import androidx.constraintlayout.widget.ConstraintLayout import androidx.fragment.app.Fragment import androidx.lifecycle.ViewModelProvider @@ -192,6 +194,13 @@ class DownloadVideoFragment(private val resultItem: ResultItem, private var curr downloadItem.SaveThumb = saveThumbnail.isChecked } + val copyURL = view.findViewById(R.id.copy_url) + copyURL.setOnClickListener { + val clipboard: ClipboardManager = + requireContext().getSystemService(AppCompatActivity.CLIPBOARD_SERVICE) as ClipboardManager + clipboard.setText(downloadItem.url) + } + } catch (e: Exception) { e.printStackTrace() } diff --git a/app/src/main/res/drawable/ic_edit.xml b/app/src/main/res/drawable/ic_edit.xml index 1c9bd3e6..89ed83a7 100644 --- a/app/src/main/res/drawable/ic_edit.xml +++ b/app/src/main/res/drawable/ic_edit.xml @@ -1,5 +1,5 @@ - - + diff --git a/app/src/main/res/layout/download_bottom_sheet.xml b/app/src/main/res/layout/download_bottom_sheet.xml index 27dbab88..91b8f38f 100644 --- a/app/src/main/res/layout/download_bottom_sheet.xml +++ b/app/src/main/res/layout/download_bottom_sheet.xml @@ -96,9 +96,6 @@ android:id="@+id/download_viewpager" android:layout_width="match_parent" android:layout_height="wrap_content" /> - - - diff --git a/app/src/main/res/layout/fragment_download_audio.xml b/app/src/main/res/layout/fragment_download_audio.xml index e1626fe8..42af7af2 100644 --- a/app/src/main/res/layout/fragment_download_audio.xml +++ b/app/src/main/res/layout/fragment_download_audio.xml @@ -144,7 +144,8 @@ + android:maxLines="2" + android:inputType="textMultiLine" /> @@ -152,7 +153,7 @@ @@ -182,6 +183,23 @@ android:checked="false" android:text="@string/embed_thumb"/> + + + + diff --git a/app/src/main/res/layout/fragment_download_command.xml b/app/src/main/res/layout/fragment_download_command.xml index 40edf84a..9ca53169 100644 --- a/app/src/main/res/layout/fragment_download_command.xml +++ b/app/src/main/res/layout/fragment_download_command.xml @@ -75,31 +75,54 @@ android:layout_height="wrap_content" android:text="@string/adjust_templates" /> - + android:layout_height="wrap_content"> - + app:selectionRequired="false" + app:singleLine="true" + app:singleSelection="false"> - + - + + + + + + + + + diff --git a/app/src/main/res/layout/fragment_download_video.xml b/app/src/main/res/layout/fragment_download_video.xml index cc9dcdce..bedf0545 100644 --- a/app/src/main/res/layout/fragment_download_video.xml +++ b/app/src/main/res/layout/fragment_download_video.xml @@ -139,7 +139,8 @@ + android:maxLines="2" + android:inputType="textMultiLine" /> @@ -148,7 +149,7 @@ android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="vertical" - android:padding="10dp"> + android:paddingVertical="10dp"> + + + diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 695bf65d..737de534 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -209,4 +209,5 @@ Allow access to all directories Let the app download on directories that are restricted by default Redownload + Copy URL \ No newline at end of file