From 3100e808306e579ac5325b25bbf4932464a435c6 Mon Sep 17 00:00:00 2001 From: Bnyro Date: Thu, 9 Jun 2022 13:45:16 +0200 Subject: [PATCH 1/3] fix --- .../github/libretube/adapters/SubscriptionChannelAdapter.kt | 2 +- app/src/main/res/layout/channel_subscription_row.xml | 5 +++-- app/src/main/res/layout/fragment_channel.xml | 4 ++-- 3 files changed, 6 insertions(+), 5 deletions(-) diff --git a/app/src/main/java/com/github/libretube/adapters/SubscriptionChannelAdapter.kt b/app/src/main/java/com/github/libretube/adapters/SubscriptionChannelAdapter.kt index ca8c24bef..3ae744511 100644 --- a/app/src/main/java/com/github/libretube/adapters/SubscriptionChannelAdapter.kt +++ b/app/src/main/java/com/github/libretube/adapters/SubscriptionChannelAdapter.kt @@ -44,7 +44,7 @@ class SubscriptionChannelAdapter(private val subscriptions: MutableList + android:layout_height="40dp" + android:layout_centerVertical="true" /> \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_channel.xml b/app/src/main/res/layout/fragment_channel.xml index 37c2f1246..a594e3de8 100644 --- a/app/src/main/res/layout/fragment_channel.xml +++ b/app/src/main/res/layout/fragment_channel.xml @@ -80,10 +80,10 @@ android:layout_alignParentEnd="true" android:backgroundTint="?attr/colorOnPrimary" android:text="@string/subscribe" - android:textColor="?android:attr/textColorPrimary" + android:textColor="@android:color/white" android:textSize="11sp" android:drawableLeft="@drawable/ic_bell_small" - android:drawableTint="?android:attr/textColorPrimary" /> + android:drawableTint="@android:color/white" /> From 4dc6e1024b5172b52c0bcc31d1fdc54641631a5a Mon Sep 17 00:00:00 2001 From: Bnyro Date: Thu, 9 Jun 2022 14:22:07 +0200 Subject: [PATCH 2/3] download location settings --- .../com/github/libretube/DownloadService.kt | 27 +++++++------- .../github/libretube/dialogs/ShareDialog.kt | 2 +- .../libretube/preferences/AdvancedSettings.kt | 36 +------------------ app/src/main/res/drawable/ic_download.xml | 4 +-- app/src/main/res/drawable/ic_folder.xml | 2 +- app/src/main/res/values/array.xml | 14 ++++++++ app/src/main/res/values/strings.xml | 12 +++++-- app/src/main/res/xml/advanced_settings.xml | 18 +++++++--- 8 files changed, 57 insertions(+), 58 deletions(-) diff --git a/app/src/main/java/com/github/libretube/DownloadService.kt b/app/src/main/java/com/github/libretube/DownloadService.kt index ca659b718..217a7f99a 100644 --- a/app/src/main/java/com/github/libretube/DownloadService.kt +++ b/app/src/main/java/com/github/libretube/DownloadService.kt @@ -11,6 +11,8 @@ import android.net.Uri import android.os.Build import android.os.Environment import android.os.Environment.DIRECTORY_DOWNLOADS +import android.os.Environment.DIRECTORY_MOVIES +import android.os.Environment.DIRECTORY_MUSIC import android.os.IBinder import android.util.Log import androidx.core.app.NotificationCompat @@ -82,20 +84,21 @@ class DownloadService : Service() { Log.e(TAG, "Directory already have") } - // create LibreTube folder in Downloads - /* val sharedPreferences = PreferenceManager.getDefaultSharedPreferences(this) - val downloadsDirectory = sharedPreferences.getString("download_directory_path", "") - Log.i(TAG, downloadsDirectory!!) - libretubeDir = if (downloadsDirectory == "") File( - Environment.getExternalStoragePublicDirectory(DIRECTORY_DOWNLOADS), - "LibreTube" - ) - else File(downloadsDirectory) - */ + val downloadLocationPref = sharedPreferences.getString("download_location", "") + val folderName = sharedPreferences.getString("download_folder", "") + + val location = when (downloadLocationPref) { + "downloads" -> Environment.getExternalStoragePublicDirectory(DIRECTORY_DOWNLOADS) + "music" -> Environment.getExternalStoragePublicDirectory(DIRECTORY_MUSIC) + "movies" -> Environment.getExternalStoragePublicDirectory(DIRECTORY_MOVIES) + "sdcard" -> Environment.getExternalStorageDirectory() + else -> Environment.getExternalStoragePublicDirectory(DIRECTORY_DOWNLOADS) + } + libretubeDir = File( - Environment.getExternalStoragePublicDirectory(DIRECTORY_DOWNLOADS), - "LibreTube" + location, + folderName ) if (!libretubeDir.exists()) libretubeDir.mkdirs() Log.i(TAG, libretubeDir.toString()) diff --git a/app/src/main/java/com/github/libretube/dialogs/ShareDialog.kt b/app/src/main/java/com/github/libretube/dialogs/ShareDialog.kt index afe2b6a06..bbaee9306 100644 --- a/app/src/main/java/com/github/libretube/dialogs/ShareDialog.kt +++ b/app/src/main/java/com/github/libretube/dialogs/ShareDialog.kt @@ -40,7 +40,7 @@ class ShareDialog(private val videoId: String) : DialogFragment() { intent.action = Intent.ACTION_SEND intent.putExtra(Intent.EXTRA_TEXT, url) intent.type = "text/plain" - context?.startActivity(Intent.createChooser(intent, "Share Url To:")) + context?.startActivity(Intent.createChooser(intent, context?.getString(R.string.shareTo))) } .show() } ?: throw IllegalStateException("Activity cannot be null") diff --git a/app/src/main/java/com/github/libretube/preferences/AdvancedSettings.kt b/app/src/main/java/com/github/libretube/preferences/AdvancedSettings.kt index 12b31a597..44330ad77 100644 --- a/app/src/main/java/com/github/libretube/preferences/AdvancedSettings.kt +++ b/app/src/main/java/com/github/libretube/preferences/AdvancedSettings.kt @@ -1,10 +1,7 @@ package com.github.libretube.preferences -import android.content.Intent import android.os.Bundle -import android.provider.DocumentsContract import android.widget.TextView -import androidx.core.net.toUri import androidx.preference.Preference import androidx.preference.PreferenceFragmentCompat import androidx.preference.PreferenceManager @@ -12,7 +9,7 @@ import com.github.libretube.R class AdvancedSettings : PreferenceFragmentCompat() { val TAG = "AdvancedSettings" - private val directoryRequestCode = 9999 + override fun onCreatePreferences(savedInstanceState: Bundle?, rootKey: String?) { setPreferencesFromResource(R.xml.advanced_settings, rootKey) @@ -26,36 +23,5 @@ class AdvancedSettings : PreferenceFragmentCompat() { sharedPreferences.edit().remove("search_history").commit() true } - - // doesn't work yet - val directory = findPreference("download_directory") - directory?.setOnPreferenceClickListener { - val sharedPreferences = PreferenceManager - .getDefaultSharedPreferences(requireContext()) - val pickerInitialUri = sharedPreferences - .getString("download_directory_path", "")?.toUri() - val intent = Intent(Intent.ACTION_OPEN_DOCUMENT_TREE) - intent.addCategory(Intent.CATEGORY_DEFAULT) - intent.putExtra(DocumentsContract.EXTRA_INITIAL_URI, pickerInitialUri) - startActivityForResult( - Intent.createChooser(intent, "Choose directory"), - directoryRequestCode - ) - true - } - } - - override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) { - super.onActivityResult(requestCode, resultCode, data) - when (requestCode) { - directoryRequestCode -> { - val directoryUri = data?.data - // save selected download directory to the shared preferences - val sharedPref = PreferenceManager - .getDefaultSharedPreferences(requireContext()) - sharedPref.edit().putString("download_directory_path", directoryUri.toString()) - .apply() - } - } } } diff --git a/app/src/main/res/drawable/ic_download.xml b/app/src/main/res/drawable/ic_download.xml index 61825d19d..a97988273 100644 --- a/app/src/main/res/drawable/ic_download.xml +++ b/app/src/main/res/drawable/ic_download.xml @@ -1,6 +1,6 @@ diff --git a/app/src/main/res/drawable/ic_folder.xml b/app/src/main/res/drawable/ic_folder.xml index 7e9ccb3ba..77e822b42 100644 --- a/app/src/main/res/drawable/ic_folder.xml +++ b/app/src/main/res/drawable/ic_folder.xml @@ -6,5 +6,5 @@ android:viewportHeight="24"> + android:pathData="M10,4H4c-1.1,0 -1.99,0.9 -1.99,2L2,18c0,1.1 0.9,2 2,2h16c1.1,0 2,-0.9 2,-2V8c0,-1.1 -0.9,-2 -2,-2h-8l-2,-2z" /> diff --git a/app/src/main/res/values/array.xml b/app/src/main/res/values/array.xml index 2c1a154b4..1edd99554 100644 --- a/app/src/main/res/values/array.xml +++ b/app/src/main/res/values/array.xml @@ -630,4 +630,18 @@ 2F + + @string/downloads_directory + @string/music_directory + @string/movies_directory + @string/sdcard + + + + downloads + music + movies + sdcard + + \ No newline at end of file diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 72aabf7a4..8215b8a32 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -123,8 +123,8 @@ Downloads Video format The video format downloaded videos get converted to (only applies if both, audio and video, are downloaded). - Download directory - The directory where your downloaded media gets stored. + Download location + The location where your downloaded media gets stored. Visit our website to learn more about the app and its features. Contributing Whether you have ideas, translations, design changes, code cleaning, or real heavy code changes, help is always welcome. The more is done the better it gets! @@ -144,4 +144,12 @@ This comment has no replies. Authors Find out who\'s behind Team LibreTube and does the magic. + Directory name + The name of the directory downloaded media gets stored in. + Internal storage + Downloads directory + SD card + Music directory + Movies directory + Share Url To: \ No newline at end of file diff --git a/app/src/main/res/xml/advanced_settings.xml b/app/src/main/res/xml/advanced_settings.xml index 716307453..db249037b 100644 --- a/app/src/main/res/xml/advanced_settings.xml +++ b/app/src/main/res/xml/advanced_settings.xml @@ -35,13 +35,21 @@ app:summary="@string/video_format_summary" app:icon="@drawable/ic_videocam" /> - + android:defaultValue="downloads" + android:entries="@array/downloadLocation" + android:entryValues="@array/downloadLocationValues" + app:icon="@drawable/ic_download" /> + + From 45f6a3319cb0b74b3d3280d871f8a521ee9a3336 Mon Sep 17 00:00:00 2001 From: Bnyro Date: Thu, 9 Jun 2022 14:24:26 +0200 Subject: [PATCH 3/3] ktlint --- app/src/main/java/com/github/libretube/dialogs/ShareDialog.kt | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/com/github/libretube/dialogs/ShareDialog.kt b/app/src/main/java/com/github/libretube/dialogs/ShareDialog.kt index bbaee9306..d78c486e6 100644 --- a/app/src/main/java/com/github/libretube/dialogs/ShareDialog.kt +++ b/app/src/main/java/com/github/libretube/dialogs/ShareDialog.kt @@ -40,7 +40,9 @@ class ShareDialog(private val videoId: String) : DialogFragment() { intent.action = Intent.ACTION_SEND intent.putExtra(Intent.EXTRA_TEXT, url) intent.type = "text/plain" - context?.startActivity(Intent.createChooser(intent, context?.getString(R.string.shareTo))) + context?.startActivity( + Intent.createChooser(intent, context?.getString(R.string.shareTo)) + ) } .show() } ?: throw IllegalStateException("Activity cannot be null")