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/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("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/layout/channel_subscription_row.xml b/app/src/main/res/layout/channel_subscription_row.xml index 7b46c0a97..9085e93b2 100644 --- a/app/src/main/res/layout/channel_subscription_row.xml +++ b/app/src/main/res/layout/channel_subscription_row.xml @@ -11,9 +11,9 @@ + 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" /> 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" /> + +