remove unused components

This commit is contained in:
deniscerri 2023-05-14 22:14:12 +02:00
parent 07caaf98d7
commit 2bd2db60b6
No known key found for this signature in database
GPG key ID: 95C43D517D830350
117 changed files with 258 additions and 648 deletions

View file

@ -134,6 +134,7 @@ dependencies {
implementation 'androidx.preference:preference:1.2.0' implementation 'androidx.preference:preference:1.2.0'
implementation "androidx.navigation:navigation-fragment-ktx:$navVer" implementation "androidx.navigation:navigation-fragment-ktx:$navVer"
implementation "androidx.navigation:navigation-ui-ktx:$navVer" implementation "androidx.navigation:navigation-ui-ktx:$navVer"
implementation "androidx.navigation:navigation-dynamic-features-fragment:$navVer"
implementation 'androidx.core:core-ktx:1.10.0' implementation 'androidx.core:core-ktx:1.10.0'
implementation 'androidx.test.ext:junit-ktx:1.1.5' implementation 'androidx.test.ext:junit-ktx:1.1.5'
implementation 'androidx.benchmark:benchmark-macro:1.1.1' implementation 'androidx.benchmark:benchmark-macro:1.1.1'
@ -141,13 +142,13 @@ dependencies {
androidTestImplementation "junit:junit:$junitVer" androidTestImplementation "junit:junit:$junitVer"
androidTestImplementation "androidx.test.ext:junit:$androidJunitVer" androidTestImplementation "androidx.test.ext:junit:$androidJunitVer"
androidTestImplementation "androidx.test.espresso:espresso-core:$espressoVer" androidTestImplementation "androidx.test.espresso:espresso-core:$espressoVer"
androidTestImplementation "androidx.benchmark:benchmark-macro-junit4:1.2.0-alpha13" androidTestImplementation "androidx.benchmark:benchmark-macro-junit4:1.2.0-alpha14"
androidTestImplementation "androidx.test:runner:1.5.2" androidTestImplementation "androidx.test:runner:1.5.2"
androidTestImplementation "androidx.test:core:1.5.0" androidTestImplementation "androidx.test:core:1.5.0"
androidTestImplementation "androidx.test:rules:1.5.0" androidTestImplementation "androidx.test:rules:1.5.0"
androidTestImplementation "androidx.navigation:navigation-testing:$navVer" androidTestImplementation "androidx.navigation:navigation-testing:$navVer"
implementation 'io.reactivex.rxjava2:rxandroid:2.1.1' implementation "io.reactivex.rxjava2:rxandroid:2.1.1"
implementation "com.devbrackets.android:exomedia:4.3.0" implementation "com.devbrackets.android:exomedia:4.3.0"
implementation("androidx.cardview:cardview:1.0.0") implementation("androidx.cardview:cardview:1.0.0")
@ -173,9 +174,9 @@ dependencies {
implementation "com.squareup.retrofit2:retrofit:$retrofitVer" implementation "com.squareup.retrofit2:retrofit:$retrofitVer"
implementation "com.squareup.retrofit2:converter-gson:$retrofitVer" implementation "com.squareup.retrofit2:converter-gson:$retrofitVer"
implementation "com.squareup.okhttp3:okhttp:5.0.0-alpha.10" implementation "com.squareup.okhttp3:okhttp:5.0.0-alpha.10"
implementation 'com.squareup.okhttp3:logging-interceptor:5.0.0-alpha.11' implementation "com.squareup.okhttp3:logging-interceptor:4.7.2"
implementation 'org.jetbrains.kotlinx:kotlinx-serialization-json:1.5.0' implementation "org.jetbrains.kotlinx:kotlinx-serialization-json:1.5.0"
implementation "com.google.android.exoplayer:exoplayer:2.18.6" implementation "com.google.android.exoplayer:exoplayer:2.18.6"
implementation 'it.xabaras.android:recyclerview-swipedecorator:1.4' implementation 'it.xabaras.android:recyclerview-swipedecorator:1.4'
implementation "androidx.lifecycle:lifecycle-livedata-ktx:2.6.1" implementation "androidx.lifecycle:lifecycle-livedata-ktx:2.6.1"

View file

@ -1,19 +1,13 @@
package com.deniscerri.ytdlnis package com.deniscerri.ytdlnis
import android.app.Application import android.app.Application
import android.app.UiModeManager.MODE_NIGHT_NO
import android.app.UiModeManager.MODE_NIGHT_YES
import android.widget.Toast import android.widget.Toast
import androidx.appcompat.app.AppCompatDelegate
import androidx.appcompat.app.AppCompatDelegate.MODE_NIGHT_FOLLOW_SYSTEM
import androidx.core.content.edit import androidx.core.content.edit
import androidx.preference.PreferenceManager import androidx.preference.PreferenceManager
import androidx.work.Configuration import androidx.work.Configuration
import androidx.work.WorkManager import androidx.work.WorkManager
import com.deniscerri.ytdlnis.util.NotificationUtil import com.deniscerri.ytdlnis.util.NotificationUtil
import com.deniscerri.ytdlnis.util.UpdateUtil import com.deniscerri.ytdlnis.util.UpdateUtil
import com.google.android.material.color.DynamicColors
import com.google.android.material.snackbar.Snackbar
import com.yausername.aria2c.Aria2c import com.yausername.aria2c.Aria2c
import com.yausername.ffmpeg.FFmpeg import com.yausername.ffmpeg.FFmpeg
import com.yausername.youtubedl_android.YoutubeDL import com.yausername.youtubedl_android.YoutubeDL

View file

@ -175,6 +175,16 @@ class MainActivity : BaseActivity() {
} }
} }
cookieViewModel.updateCookiesFile() cookieViewModel.updateCookiesFile()
// lifecycleScope.launch(Dispatchers.IO){
// val active = downloadViewModel.getActiveDownloads()
// if (active.isNotEmpty()){
// val wm = WorkManager.getInstance(this@MainActivity)
// active.forEach {
// if (wm.getWorkInfosByTag())
// }
// WorkManager.getInstance(this@MainActivity).get
// }
// }
val intent = intent val intent = intent
handleIntents(intent) handleIntents(intent)
} }

View file

@ -22,7 +22,6 @@ import com.google.android.material.card.MaterialCardView
import com.google.android.material.chip.Chip import com.google.android.material.chip.Chip
import com.google.android.material.progressindicator.LinearProgressIndicator import com.google.android.material.progressindicator.LinearProgressIndicator
import com.google.android.material.shape.CornerFamily import com.google.android.material.shape.CornerFamily
import com.google.android.material.shape.MaterialShapeDrawable
import com.google.android.material.shape.ShapeAppearanceModel import com.google.android.material.shape.ShapeAppearanceModel
import com.squareup.picasso.Picasso import com.squareup.picasso.Picasso

View file

@ -19,7 +19,7 @@ import com.deniscerri.ytdlnis.database.viewmodel.DownloadViewModel
import com.deniscerri.ytdlnis.util.FileUtil import com.deniscerri.ytdlnis.util.FileUtil
import com.google.android.material.button.MaterialButton import com.google.android.material.button.MaterialButton
import com.squareup.picasso.Picasso import com.squareup.picasso.Picasso
import java.util.* import java.util.Locale
class ConfigureMultipleDownloadsAdapter(onItemClickListener: OnItemClickListener, activity: Activity) : ListAdapter<DownloadItem?, ConfigureMultipleDownloadsAdapter.ViewHolder>(AsyncDifferConfig.Builder(DIFF_CALLBACK).build()) { class ConfigureMultipleDownloadsAdapter(onItemClickListener: OnItemClickListener, activity: Activity) : ListAdapter<DownloadItem?, ConfigureMultipleDownloadsAdapter.ViewHolder>(AsyncDifferConfig.Builder(DIFF_CALLBACK).build()) {
private val onItemClickListener: OnItemClickListener private val onItemClickListener: OnItemClickListener

View file

@ -7,7 +7,6 @@ import android.os.Looper
import android.view.LayoutInflater import android.view.LayoutInflater
import android.view.View import android.view.View
import android.view.ViewGroup import android.view.ViewGroup
import android.widget.FrameLayout
import android.widget.ImageView import android.widget.ImageView
import android.widget.TextView import android.widget.TextView
import androidx.recyclerview.widget.AsyncDifferConfig import androidx.recyclerview.widget.AsyncDifferConfig
@ -16,13 +15,11 @@ import androidx.recyclerview.widget.ListAdapter
import androidx.recyclerview.widget.RecyclerView import androidx.recyclerview.widget.RecyclerView
import com.deniscerri.ytdlnis.R import com.deniscerri.ytdlnis.R
import com.deniscerri.ytdlnis.database.models.DownloadItem import com.deniscerri.ytdlnis.database.models.DownloadItem
import com.deniscerri.ytdlnis.database.models.HistoryItem
import com.deniscerri.ytdlnis.database.repository.DownloadRepository import com.deniscerri.ytdlnis.database.repository.DownloadRepository
import com.deniscerri.ytdlnis.util.FileUtil import com.deniscerri.ytdlnis.util.FileUtil
import com.google.android.material.button.MaterialButton import com.google.android.material.button.MaterialButton
import com.google.android.material.card.MaterialCardView import com.google.android.material.card.MaterialCardView
import com.squareup.picasso.Picasso import com.squareup.picasso.Picasso
import java.util.ArrayList
class GenericDownloadAdapter(onItemClickListener: OnItemClickListener, activity: Activity) : ListAdapter<DownloadItem?, GenericDownloadAdapter.ViewHolder>(AsyncDifferConfig.Builder(DIFF_CALLBACK).build()) { class GenericDownloadAdapter(onItemClickListener: OnItemClickListener, activity: Activity) : ListAdapter<DownloadItem?, GenericDownloadAdapter.ViewHolder>(AsyncDifferConfig.Builder(DIFF_CALLBACK).build()) {
private val onItemClickListener: OnItemClickListener private val onItemClickListener: OnItemClickListener

View file

@ -19,7 +19,6 @@ import androidx.recyclerview.widget.ListAdapter
import androidx.recyclerview.widget.RecyclerView import androidx.recyclerview.widget.RecyclerView
import com.deniscerri.ytdlnis.R import com.deniscerri.ytdlnis.R
import com.deniscerri.ytdlnis.database.models.HistoryItem import com.deniscerri.ytdlnis.database.models.HistoryItem
import com.deniscerri.ytdlnis.database.models.ResultItem
import com.deniscerri.ytdlnis.database.viewmodel.DownloadViewModel import com.deniscerri.ytdlnis.database.viewmodel.DownloadViewModel
import com.google.android.material.button.MaterialButton import com.google.android.material.button.MaterialButton
import com.google.android.material.card.MaterialCardView import com.google.android.material.card.MaterialCardView

View file

@ -17,7 +17,6 @@ import androidx.recyclerview.widget.DiffUtil
import androidx.recyclerview.widget.ListAdapter import androidx.recyclerview.widget.ListAdapter
import androidx.recyclerview.widget.RecyclerView import androidx.recyclerview.widget.RecyclerView
import com.deniscerri.ytdlnis.R import com.deniscerri.ytdlnis.R
import com.deniscerri.ytdlnis.database.models.DownloadItem
import com.deniscerri.ytdlnis.database.models.ResultItem import com.deniscerri.ytdlnis.database.models.ResultItem
import com.squareup.picasso.Picasso import com.squareup.picasso.Picasso
import java.util.* import java.util.*

View file

@ -1,6 +1,5 @@
package com.deniscerri.ytdlnis.database.dao package com.deniscerri.ytdlnis.database.dao
import androidx.lifecycle.LiveData
import androidx.room.* import androidx.room.*
import com.deniscerri.ytdlnis.database.models.DownloadItem import com.deniscerri.ytdlnis.database.models.DownloadItem
import kotlinx.coroutines.flow.Flow import kotlinx.coroutines.flow.Flow

View file

@ -1,6 +1,5 @@
package com.deniscerri.ytdlnis.database.dao package com.deniscerri.ytdlnis.database.dao
import androidx.lifecycle.LiveData
import androidx.room.* import androidx.room.*
import com.deniscerri.ytdlnis.database.models.ResultItem import com.deniscerri.ytdlnis.database.models.ResultItem
import kotlinx.coroutines.flow.Flow import kotlinx.coroutines.flow.Flow

View file

@ -1,10 +1,8 @@
package com.deniscerri.ytdlnis.database.repository package com.deniscerri.ytdlnis.database.repository
import androidx.lifecycle.LiveData
import com.deniscerri.ytdlnis.database.Converters import com.deniscerri.ytdlnis.database.Converters
import com.deniscerri.ytdlnis.database.dao.DownloadDao import com.deniscerri.ytdlnis.database.dao.DownloadDao
import com.deniscerri.ytdlnis.database.models.DownloadItem import com.deniscerri.ytdlnis.database.models.DownloadItem
import com.deniscerri.ytdlnis.database.models.ResultItem
import kotlinx.coroutines.flow.Flow import kotlinx.coroutines.flow.Flow
class DownloadRepository(private val downloadDao: DownloadDao) { class DownloadRepository(private val downloadDao: DownloadDao) {

View file

@ -2,7 +2,6 @@ package com.deniscerri.ytdlnis.database.repository
import android.content.Context import android.content.Context
import android.util.Log import android.util.Log
import androidx.lifecycle.LiveData
import androidx.lifecycle.MutableLiveData import androidx.lifecycle.MutableLiveData
import com.deniscerri.ytdlnis.database.dao.CommandTemplateDao import com.deniscerri.ytdlnis.database.dao.CommandTemplateDao
import com.deniscerri.ytdlnis.database.dao.ResultDao import com.deniscerri.ytdlnis.database.dao.ResultDao

View file

@ -1,6 +1,5 @@
package com.deniscerri.ytdlnis.database.viewmodel package com.deniscerri.ytdlnis.database.viewmodel
import android.app.Activity
import android.app.Application import android.app.Application
import android.content.Context import android.content.Context
import android.content.SharedPreferences import android.content.SharedPreferences
@ -11,12 +10,23 @@ import androidx.lifecycle.LiveData
import androidx.lifecycle.asLiveData import androidx.lifecycle.asLiveData
import androidx.lifecycle.viewModelScope import androidx.lifecycle.viewModelScope
import androidx.preference.PreferenceManager import androidx.preference.PreferenceManager
import androidx.work.* import androidx.work.Constraints
import androidx.work.Data
import androidx.work.ExistingWorkPolicy
import androidx.work.NetworkType
import androidx.work.OneTimeWorkRequestBuilder
import androidx.work.WorkManager
import com.deniscerri.ytdlnis.App import com.deniscerri.ytdlnis.App
import com.deniscerri.ytdlnis.R import com.deniscerri.ytdlnis.R
import com.deniscerri.ytdlnis.database.DBManager import com.deniscerri.ytdlnis.database.DBManager
import com.deniscerri.ytdlnis.database.dao.CommandTemplateDao import com.deniscerri.ytdlnis.database.dao.CommandTemplateDao
import com.deniscerri.ytdlnis.database.models.* import com.deniscerri.ytdlnis.database.models.AudioPreferences
import com.deniscerri.ytdlnis.database.models.CommandTemplate
import com.deniscerri.ytdlnis.database.models.DownloadItem
import com.deniscerri.ytdlnis.database.models.Format
import com.deniscerri.ytdlnis.database.models.HistoryItem
import com.deniscerri.ytdlnis.database.models.ResultItem
import com.deniscerri.ytdlnis.database.models.VideoPreferences
import com.deniscerri.ytdlnis.database.repository.DownloadRepository import com.deniscerri.ytdlnis.database.repository.DownloadRepository
import com.deniscerri.ytdlnis.work.DownloadWorker import com.deniscerri.ytdlnis.work.DownloadWorker
import com.google.gson.Gson import com.google.gson.Gson

View file

@ -1,7 +1,11 @@
package com.deniscerri.ytdlnis.database.viewmodel package com.deniscerri.ytdlnis.database.viewmodel
import android.app.Application import android.app.Application
import androidx.lifecycle.* import androidx.lifecycle.AndroidViewModel
import androidx.lifecycle.LiveData
import androidx.lifecycle.MediatorLiveData
import androidx.lifecycle.MutableLiveData
import androidx.lifecycle.viewModelScope
import com.deniscerri.ytdlnis.database.DBManager import com.deniscerri.ytdlnis.database.DBManager
import com.deniscerri.ytdlnis.database.models.HistoryItem import com.deniscerri.ytdlnis.database.models.HistoryItem
import com.deniscerri.ytdlnis.database.repository.HistoryRepository import com.deniscerri.ytdlnis.database.repository.HistoryRepository

View file

@ -1,6 +1,5 @@
package com.deniscerri.ytdlnis.database.viewmodel package com.deniscerri.ytdlnis.database.viewmodel
import android.app.Activity
import android.app.Application import android.app.Application
import android.content.SharedPreferences import android.content.SharedPreferences
import android.util.Log import android.util.Log

View file

@ -3,7 +3,6 @@ package com.deniscerri.ytdlnis.receiver
import android.content.BroadcastReceiver import android.content.BroadcastReceiver
import android.content.Context import android.content.Context
import android.content.Intent import android.content.Intent
import androidx.work.WorkManager
import com.deniscerri.ytdlnis.util.NotificationUtil import com.deniscerri.ytdlnis.util.NotificationUtil
import com.yausername.youtubedl_android.YoutubeDL import com.yausername.youtubedl_android.YoutubeDL
@ -13,9 +12,8 @@ class CancelDownloadNotificationReceiver : BroadcastReceiver() {
val id = intent.getIntExtra("workID", 0) val id = intent.getIntExtra("workID", 0)
if (message != null) { if (message != null) {
val notificationUtil = NotificationUtil(c) val notificationUtil = NotificationUtil(c)
YoutubeDL.getInstance().destroyProcessById(id.toString())
notificationUtil.cancelDownloadNotification(id) notificationUtil.cancelDownloadNotification(id)
YoutubeDL.getInstance().destroyProcessById(id.toString())
} }
} }
} }

View file

@ -3,7 +3,6 @@ package com.deniscerri.ytdlnis.receiver
import android.content.BroadcastReceiver import android.content.BroadcastReceiver
import android.content.Context import android.content.Context
import android.content.Intent import android.content.Intent
import androidx.work.WorkManager
import com.deniscerri.ytdlnis.util.NotificationUtil import com.deniscerri.ytdlnis.util.NotificationUtil
import com.yausername.youtubedl_android.YoutubeDL import com.yausername.youtubedl_android.YoutubeDL
@ -13,9 +12,8 @@ class PauseDownloadNotificationReceiver : BroadcastReceiver() {
if (id != 0) { if (id != 0) {
val title = intent.getStringExtra("title") val title = intent.getStringExtra("title")
val notificationUtil = NotificationUtil(c) val notificationUtil = NotificationUtil(c)
YoutubeDL.getInstance().destroyProcessById(id.toString())
notificationUtil.cancelDownloadNotification(id) notificationUtil.cancelDownloadNotification(id)
YoutubeDL.getInstance().destroyProcessById(id.toString())
notificationUtil.createResumeDownload(id, title, NotificationUtil.DOWNLOAD_SERVICE_CHANNEL_ID) notificationUtil.createResumeDownload(id, title, NotificationUtil.DOWNLOAD_SERVICE_CHANNEL_ID)
} }
} }

View file

@ -7,7 +7,6 @@ import android.os.Build
import android.os.Bundle import android.os.Bundle
import android.view.Window import android.view.Window
import android.view.WindowManager import android.view.WindowManager
import android.widget.TextView
import android.widget.Toast import android.widget.Toast
import androidx.core.view.ViewCompat import androidx.core.view.ViewCompat
import androidx.core.view.WindowCompat import androidx.core.view.WindowCompat
@ -22,7 +21,6 @@ import com.google.android.material.bottomsheet.BottomSheetDialog
import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.launch import kotlinx.coroutines.launch
import kotlinx.coroutines.withContext import kotlinx.coroutines.withContext
import kotlin.system.exitProcess
class ResumeActivity : BaseActivity() { class ResumeActivity : BaseActivity() {

View file

@ -1,7 +1,6 @@
package com.deniscerri.ytdlnis.receiver package com.deniscerri.ytdlnis.receiver
import android.Manifest import android.Manifest
import android.app.Activity
import android.content.Context import android.content.Context
import android.content.DialogInterface import android.content.DialogInterface
import android.content.Intent import android.content.Intent
@ -16,10 +15,8 @@ import android.provider.Settings
import android.util.Log import android.util.Log
import android.view.Window import android.view.Window
import android.view.WindowManager import android.view.WindowManager
import android.widget.FrameLayout
import android.widget.TextView import android.widget.TextView
import android.widget.Toast import android.widget.Toast
import androidx.appcompat.app.AppCompatActivity
import androidx.core.app.ActivityCompat import androidx.core.app.ActivityCompat
import androidx.core.view.ViewCompat import androidx.core.view.ViewCompat
import androidx.core.view.WindowCompat import androidx.core.view.WindowCompat

View file

@ -15,7 +15,6 @@ import android.util.Log
import android.view.* import android.view.*
import android.view.View.* import android.view.View.*
import android.widget.* import android.widget.*
import androidx.activity.OnBackPressedCallback
import androidx.activity.addCallback import androidx.activity.addCallback
import androidx.appcompat.app.AppCompatActivity import androidx.appcompat.app.AppCompatActivity
import androidx.appcompat.view.ActionMode import androidx.appcompat.view.ActionMode
@ -27,7 +26,6 @@ import androidx.core.widget.doAfterTextChanged
import androidx.fragment.app.Fragment import androidx.fragment.app.Fragment
import androidx.lifecycle.ViewModelProvider import androidx.lifecycle.ViewModelProvider
import androidx.lifecycle.lifecycleScope import androidx.lifecycle.lifecycleScope
import androidx.navigation.fragment.findNavController
import androidx.preference.PreferenceManager import androidx.preference.PreferenceManager
import androidx.recyclerview.widget.GridLayoutManager import androidx.recyclerview.widget.GridLayoutManager
import androidx.recyclerview.widget.RecyclerView import androidx.recyclerview.widget.RecyclerView

View file

@ -11,7 +11,6 @@ import android.view.View
import android.view.ViewGroup import android.view.ViewGroup
import android.widget.Button import android.widget.Button
import android.widget.Toast import android.widget.Toast
import androidx.fragment.app.Fragment
import androidx.lifecycle.ViewModelProvider import androidx.lifecycle.ViewModelProvider
import androidx.lifecycle.lifecycleScope import androidx.lifecycle.lifecycleScope
import androidx.recyclerview.widget.RecyclerView import androidx.recyclerview.widget.RecyclerView

View file

@ -3,7 +3,6 @@ package com.deniscerri.ytdlnis.ui.downloadcard
import android.app.Activity import android.app.Activity
import android.content.DialogInterface import android.content.DialogInterface
import android.content.Intent import android.content.Intent
import android.net.Uri
import android.os.Bundle import android.os.Bundle
import android.text.Editable import android.text.Editable
import android.text.TextWatcher import android.text.TextWatcher

View file

@ -27,7 +27,6 @@ import com.deniscerri.ytdlnis.database.viewmodel.DownloadViewModel
import com.deniscerri.ytdlnis.database.viewmodel.DownloadViewModel.Type import com.deniscerri.ytdlnis.database.viewmodel.DownloadViewModel.Type
import com.deniscerri.ytdlnis.database.viewmodel.ResultViewModel import com.deniscerri.ytdlnis.database.viewmodel.ResultViewModel
import com.deniscerri.ytdlnis.receiver.ShareActivity import com.deniscerri.ytdlnis.receiver.ShareActivity
import com.deniscerri.ytdlnis.ui.downloads.DownloadQueueActivity
import com.deniscerri.ytdlnis.util.FileUtil import com.deniscerri.ytdlnis.util.FileUtil
import com.deniscerri.ytdlnis.util.UiUtil import com.deniscerri.ytdlnis.util.UiUtil
import com.google.android.material.bottomsheet.BottomSheetBehavior import com.google.android.material.bottomsheet.BottomSheetBehavior

View file

@ -10,7 +10,11 @@ import android.graphics.Color
import android.os.Bundle import android.os.Bundle
import android.text.format.DateFormat import android.text.format.DateFormat
import android.util.DisplayMetrics import android.util.DisplayMetrics
import android.view.* import android.view.LayoutInflater
import android.view.MenuItem
import android.view.View
import android.view.ViewGroup
import android.view.Window
import android.widget.Button import android.widget.Button
import android.widget.TextView import android.widget.TextView
import android.widget.Toast import android.widget.Toast
@ -45,7 +49,7 @@ import kotlinx.coroutines.launch
import kotlinx.coroutines.runBlocking import kotlinx.coroutines.runBlocking
import kotlinx.coroutines.withContext import kotlinx.coroutines.withContext
import java.text.SimpleDateFormat import java.text.SimpleDateFormat
import java.util.* import java.util.Locale
class DownloadMultipleBottomSheetDialog(private var results: List<ResultItem?>, private var items: MutableList<DownloadItem>) : BottomSheetDialogFragment(), ConfigureMultipleDownloadsAdapter.OnItemClickListener, View.OnClickListener, class DownloadMultipleBottomSheetDialog(private var results: List<ResultItem?>, private var items: MutableList<DownloadItem>) : BottomSheetDialogFragment(), ConfigureMultipleDownloadsAdapter.OnItemClickListener, View.OnClickListener,
ConfigureDownloadBottomSheetDialog.OnDownloadItemUpdateListener { ConfigureDownloadBottomSheetDialog.OnDownloadItemUpdateListener {

View file

@ -12,7 +12,11 @@ import android.view.LayoutInflater
import android.view.View import android.view.View
import android.view.ViewGroup import android.view.ViewGroup
import android.view.inputmethod.InputMethodManager import android.view.inputmethod.InputMethodManager
import android.widget.* import android.widget.AdapterView
import android.widget.ArrayAdapter
import android.widget.AutoCompleteTextView
import android.widget.EditText
import android.widget.TextView
import androidx.activity.result.contract.ActivityResultContracts import androidx.activity.result.contract.ActivityResultContracts
import androidx.appcompat.app.AlertDialog import androidx.appcompat.app.AlertDialog
import androidx.appcompat.app.AppCompatActivity import androidx.appcompat.app.AppCompatActivity

View file

@ -1,44 +1,31 @@
package com.deniscerri.ytdlnis.ui.downloadcard package com.deniscerri.ytdlnis.ui.downloadcard
import android.annotation.SuppressLint import android.annotation.SuppressLint
import android.app.Activity
import android.app.Dialog import android.app.Dialog
import android.content.* import android.content.*
import android.os.Bundle import android.os.Bundle
import android.os.Looper
import android.text.format.DateFormat
import android.util.DisplayMetrics import android.util.DisplayMetrics
import android.util.Log
import android.view.LayoutInflater import android.view.LayoutInflater
import android.view.View import android.view.View
import android.view.ViewGroup
import android.view.Window
import android.widget.* import android.widget.*
import androidx.constraintlayout.widget.ConstraintLayout import androidx.constraintlayout.widget.ConstraintLayout
import androidx.core.content.ContextCompat
import androidx.core.view.isVisible import androidx.core.view.isVisible
import androidx.lifecycle.lifecycleScope import androidx.lifecycle.lifecycleScope
import androidx.preference.PreferenceManager import androidx.preference.PreferenceManager
import com.deniscerri.ytdlnis.R import com.deniscerri.ytdlnis.R
import com.deniscerri.ytdlnis.database.models.DownloadItem import com.deniscerri.ytdlnis.database.models.DownloadItem
import com.deniscerri.ytdlnis.database.models.Format import com.deniscerri.ytdlnis.database.models.Format
import com.deniscerri.ytdlnis.database.viewmodel.DownloadViewModel
import com.deniscerri.ytdlnis.database.viewmodel.DownloadViewModel.Type import com.deniscerri.ytdlnis.database.viewmodel.DownloadViewModel.Type
import com.deniscerri.ytdlnis.util.FileUtil import com.deniscerri.ytdlnis.util.FileUtil
import com.deniscerri.ytdlnis.util.InfoUtil import com.deniscerri.ytdlnis.util.InfoUtil
import com.deniscerri.ytdlnis.util.UiUtil import com.deniscerri.ytdlnis.util.UiUtil
import com.facebook.shimmer.ShimmerFrameLayout import com.facebook.shimmer.ShimmerFrameLayout
import com.google.android.material.bottomsheet.BottomSheetBehavior import com.google.android.material.bottomsheet.BottomSheetBehavior
import com.google.android.material.bottomsheet.BottomSheetDialog
import com.google.android.material.bottomsheet.BottomSheetDialogFragment import com.google.android.material.bottomsheet.BottomSheetDialogFragment
import com.google.android.material.button.MaterialButton
import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.launch import kotlinx.coroutines.launch
import kotlinx.coroutines.runBlocking
import kotlinx.coroutines.withContext import kotlinx.coroutines.withContext
import java.text.SimpleDateFormat
import java.util.* import java.util.*
import kotlin.collections.ArrayList
class FormatSelectionBottomSheetDialog(private val items: List<DownloadItem?>, private var formats: List<List<Format>>, private val listener: OnFormatClickListener) : BottomSheetDialogFragment() { class FormatSelectionBottomSheetDialog(private val items: List<DownloadItem?>, private var formats: List<List<Format>>, private val listener: OnFormatClickListener) : BottomSheetDialogFragment() {

View file

@ -2,7 +2,6 @@ package com.deniscerri.ytdlnis.ui.downloadcard
import android.annotation.SuppressLint import android.annotation.SuppressLint
import android.app.Dialog import android.app.Dialog
import android.content.ClipboardManager
import android.content.DialogInterface import android.content.DialogInterface
import android.os.Bundle import android.os.Bundle
import android.util.DisplayMetrics import android.util.DisplayMetrics
@ -11,7 +10,6 @@ import android.view.MenuItem
import android.view.View import android.view.View
import android.widget.Button import android.widget.Button
import android.widget.TextView import android.widget.TextView
import androidx.appcompat.app.AppCompatActivity
import androidx.core.widget.doAfterTextChanged import androidx.core.widget.doAfterTextChanged
import androidx.lifecycle.ViewModelProvider import androidx.lifecycle.ViewModelProvider
import androidx.lifecycle.lifecycleScope import androidx.lifecycle.lifecycleScope
@ -28,7 +26,6 @@ import com.google.android.material.bottomappbar.BottomAppBar
import com.google.android.material.bottomsheet.BottomSheetBehavior import com.google.android.material.bottomsheet.BottomSheetBehavior
import com.google.android.material.bottomsheet.BottomSheetDialogFragment import com.google.android.material.bottomsheet.BottomSheetDialogFragment
import com.google.android.material.floatingactionbutton.ExtendedFloatingActionButton import com.google.android.material.floatingactionbutton.ExtendedFloatingActionButton
import com.google.android.material.floatingactionbutton.FloatingActionButton
import com.google.android.material.textfield.TextInputLayout import com.google.android.material.textfield.TextInputLayout
import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.launch import kotlinx.coroutines.launch

View file

@ -13,7 +13,6 @@ import android.widget.TextView
import androidx.fragment.app.Fragment import androidx.fragment.app.Fragment
import androidx.lifecycle.ViewModelProvider import androidx.lifecycle.ViewModelProvider
import androidx.recyclerview.widget.GridLayoutManager import androidx.recyclerview.widget.GridLayoutManager
import androidx.recyclerview.widget.LinearLayoutManager
import androidx.recyclerview.widget.RecyclerView import androidx.recyclerview.widget.RecyclerView
import androidx.work.WorkManager import androidx.work.WorkManager
import com.deniscerri.ytdlnis.R import com.deniscerri.ytdlnis.R
@ -27,7 +26,6 @@ import com.deniscerri.ytdlnis.util.FileUtil
import com.deniscerri.ytdlnis.util.NotificationUtil import com.deniscerri.ytdlnis.util.NotificationUtil
import com.google.android.material.progressindicator.LinearProgressIndicator import com.google.android.material.progressindicator.LinearProgressIndicator
import com.yausername.youtubedl_android.YoutubeDL import com.yausername.youtubedl_android.YoutubeDL
import kotlinx.coroutines.runBlocking
class ActiveDownloadsFragment() : Fragment(), ActiveDownloadAdapter.OnItemClickListener, OnClickListener { class ActiveDownloadsFragment() : Fragment(), ActiveDownloadAdapter.OnItemClickListener, OnClickListener {

View file

@ -7,25 +7,26 @@ import android.graphics.Canvas
import android.graphics.Color import android.graphics.Color
import android.os.Bundle import android.os.Bundle
import android.util.DisplayMetrics import android.util.DisplayMetrics
import android.view.* import android.view.LayoutInflater
import android.view.Menu
import android.view.MenuItem
import android.view.View
import android.view.ViewGroup
import android.view.Window
import android.widget.Button import android.widget.Button
import android.widget.TextView import android.widget.TextView
import android.widget.Toast import android.widget.Toast
import androidx.appcompat.app.AppCompatActivity import androidx.appcompat.app.AppCompatActivity
import androidx.appcompat.view.ActionMode import androidx.appcompat.view.ActionMode
import androidx.core.content.ContextCompat import androidx.core.content.ContextCompat
import androidx.core.view.forEach
import androidx.fragment.app.Fragment import androidx.fragment.app.Fragment
import androidx.lifecycle.ViewModelProvider import androidx.lifecycle.ViewModelProvider
import androidx.lifecycle.lifecycleScope
import androidx.recyclerview.widget.GridLayoutManager import androidx.recyclerview.widget.GridLayoutManager
import androidx.recyclerview.widget.ItemTouchHelper import androidx.recyclerview.widget.ItemTouchHelper
import androidx.recyclerview.widget.RecyclerView import androidx.recyclerview.widget.RecyclerView
import com.deniscerri.ytdlnis.MainActivity
import com.deniscerri.ytdlnis.R import com.deniscerri.ytdlnis.R
import com.deniscerri.ytdlnis.adapter.GenericDownloadAdapter import com.deniscerri.ytdlnis.adapter.GenericDownloadAdapter
import com.deniscerri.ytdlnis.database.models.DownloadItem import com.deniscerri.ytdlnis.database.models.DownloadItem
import com.deniscerri.ytdlnis.database.models.HistoryItem
import com.deniscerri.ytdlnis.database.viewmodel.DownloadViewModel import com.deniscerri.ytdlnis.database.viewmodel.DownloadViewModel
import com.deniscerri.ytdlnis.databinding.FragmentHomeBinding import com.deniscerri.ytdlnis.databinding.FragmentHomeBinding
import com.deniscerri.ytdlnis.ui.downloadcard.DownloadBottomSheetDialog import com.deniscerri.ytdlnis.ui.downloadcard.DownloadBottomSheetDialog
@ -38,11 +39,7 @@ import com.google.android.material.color.MaterialColors
import com.google.android.material.dialog.MaterialAlertDialogBuilder import com.google.android.material.dialog.MaterialAlertDialogBuilder
import com.google.android.material.snackbar.Snackbar import com.google.android.material.snackbar.Snackbar
import it.xabaras.android.recyclerview.swipedecorator.RecyclerViewSwipeDecorator import it.xabaras.android.recyclerview.swipedecorator.RecyclerViewSwipeDecorator
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.launch
import kotlinx.coroutines.runBlocking import kotlinx.coroutines.runBlocking
import kotlinx.coroutines.withContext
import java.util.ArrayList
class CancelledDownloadsFragment : Fragment(), GenericDownloadAdapter.OnItemClickListener { class CancelledDownloadsFragment : Fragment(), GenericDownloadAdapter.OnItemClickListener {

View file

@ -6,13 +6,11 @@ import android.os.Bundle
import android.view.MenuItem import android.view.MenuItem
import android.view.View import android.view.View
import android.widget.Toast import android.widget.Toast
import androidx.appcompat.app.AppCompatActivity
import androidx.lifecycle.ViewModelProvider import androidx.lifecycle.ViewModelProvider
import androidx.lifecycle.lifecycleScope import androidx.lifecycle.lifecycleScope
import androidx.recyclerview.widget.RecyclerView import androidx.recyclerview.widget.RecyclerView
import androidx.viewpager2.widget.ViewPager2 import androidx.viewpager2.widget.ViewPager2
import androidx.work.WorkManager import androidx.work.WorkManager
import androidx.work.await
import com.deniscerri.ytdlnis.R import com.deniscerri.ytdlnis.R
import com.deniscerri.ytdlnis.database.repository.DownloadRepository import com.deniscerri.ytdlnis.database.repository.DownloadRepository
import com.deniscerri.ytdlnis.database.viewmodel.DownloadViewModel import com.deniscerri.ytdlnis.database.viewmodel.DownloadViewModel

View file

@ -8,7 +8,12 @@ import android.graphics.Canvas
import android.graphics.Color import android.graphics.Color
import android.os.Bundle import android.os.Bundle
import android.util.DisplayMetrics import android.util.DisplayMetrics
import android.view.* import android.view.LayoutInflater
import android.view.Menu
import android.view.MenuItem
import android.view.View
import android.view.ViewGroup
import android.view.Window
import android.widget.AdapterView import android.widget.AdapterView
import android.widget.AdapterView.OnItemClickListener import android.widget.AdapterView.OnItemClickListener
import android.widget.Button import android.widget.Button
@ -20,7 +25,6 @@ import androidx.fragment.app.Fragment
import androidx.lifecycle.ViewModelProvider import androidx.lifecycle.ViewModelProvider
import androidx.recyclerview.widget.GridLayoutManager import androidx.recyclerview.widget.GridLayoutManager
import androidx.recyclerview.widget.ItemTouchHelper import androidx.recyclerview.widget.ItemTouchHelper
import androidx.recyclerview.widget.LinearLayoutManager
import androidx.recyclerview.widget.RecyclerView import androidx.recyclerview.widget.RecyclerView
import com.deniscerri.ytdlnis.R import com.deniscerri.ytdlnis.R
import com.deniscerri.ytdlnis.adapter.GenericDownloadAdapter import com.deniscerri.ytdlnis.adapter.GenericDownloadAdapter
@ -39,7 +43,6 @@ import com.google.android.material.dialog.MaterialAlertDialogBuilder
import com.google.android.material.snackbar.Snackbar import com.google.android.material.snackbar.Snackbar
import it.xabaras.android.recyclerview.swipedecorator.RecyclerViewSwipeDecorator import it.xabaras.android.recyclerview.swipedecorator.RecyclerViewSwipeDecorator
import kotlinx.coroutines.runBlocking import kotlinx.coroutines.runBlocking
import java.util.ArrayList
class ErroredDownloadsFragment : Fragment(), GenericDownloadAdapter.OnItemClickListener, OnItemClickListener { class ErroredDownloadsFragment : Fragment(), GenericDownloadAdapter.OnItemClickListener, OnItemClickListener {

View file

@ -13,10 +13,19 @@ import android.os.Looper
import android.text.InputType import android.text.InputType
import android.util.DisplayMetrics import android.util.DisplayMetrics
import android.util.Log import android.util.Log
import android.view.* import android.view.LayoutInflater
import android.view.Menu
import android.view.MenuItem
import android.view.View
import android.view.View.GONE import android.view.View.GONE
import android.view.View.VISIBLE import android.view.View.VISIBLE
import android.widget.* import android.view.ViewGroup
import android.view.Window
import android.widget.Button
import android.widget.LinearLayout
import android.widget.RelativeLayout
import android.widget.TextView
import android.widget.Toast
import androidx.appcompat.app.AppCompatActivity import androidx.appcompat.app.AppCompatActivity
import androidx.appcompat.view.ActionMode import androidx.appcompat.view.ActionMode
import androidx.appcompat.widget.SearchView import androidx.appcompat.widget.SearchView
@ -26,7 +35,6 @@ import androidx.fragment.app.Fragment
import androidx.lifecycle.ViewModelProvider import androidx.lifecycle.ViewModelProvider
import androidx.recyclerview.widget.GridLayoutManager import androidx.recyclerview.widget.GridLayoutManager
import androidx.recyclerview.widget.ItemTouchHelper import androidx.recyclerview.widget.ItemTouchHelper
import androidx.recyclerview.widget.LinearLayoutManager
import androidx.recyclerview.widget.RecyclerView import androidx.recyclerview.widget.RecyclerView
import com.deniscerri.ytdlnis.MainActivity import com.deniscerri.ytdlnis.MainActivity
import com.deniscerri.ytdlnis.R import com.deniscerri.ytdlnis.R
@ -48,12 +56,12 @@ import com.google.android.material.chip.Chip
import com.google.android.material.chip.ChipGroup import com.google.android.material.chip.ChipGroup
import com.google.android.material.color.MaterialColors import com.google.android.material.color.MaterialColors
import com.google.android.material.dialog.MaterialAlertDialogBuilder import com.google.android.material.dialog.MaterialAlertDialogBuilder
import com.google.android.material.snackbar.Snackbar
import it.xabaras.android.recyclerview.swipedecorator.RecyclerViewSwipeDecorator import it.xabaras.android.recyclerview.swipedecorator.RecyclerViewSwipeDecorator
import kotlinx.coroutines.runBlocking import kotlinx.coroutines.runBlocking
import java.io.File import java.io.File
import java.text.SimpleDateFormat import java.text.SimpleDateFormat
import java.util.* import java.util.Calendar
import java.util.Locale
/** /**
* A fragment representing a list of Items. * A fragment representing a list of Items.

View file

@ -21,7 +21,6 @@ import androidx.lifecycle.ViewModelProvider
import androidx.lifecycle.lifecycleScope import androidx.lifecycle.lifecycleScope
import androidx.recyclerview.widget.GridLayoutManager import androidx.recyclerview.widget.GridLayoutManager
import androidx.recyclerview.widget.ItemTouchHelper import androidx.recyclerview.widget.ItemTouchHelper
import androidx.recyclerview.widget.LinearLayoutManager
import androidx.recyclerview.widget.RecyclerView import androidx.recyclerview.widget.RecyclerView
import androidx.work.WorkManager import androidx.work.WorkManager
import com.deniscerri.ytdlnis.R import com.deniscerri.ytdlnis.R
@ -43,9 +42,9 @@ import it.xabaras.android.recyclerview.swipedecorator.RecyclerViewSwipeDecorator
import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.launch import kotlinx.coroutines.launch
import kotlinx.coroutines.runBlocking import kotlinx.coroutines.runBlocking
import kotlinx.coroutines.withContext
import java.text.SimpleDateFormat import java.text.SimpleDateFormat
import java.util.* import java.util.Calendar
import java.util.Locale
class QueuedDownloadsFragment : Fragment(), GenericDownloadAdapter.OnItemClickListener { class QueuedDownloadsFragment : Fragment(), GenericDownloadAdapter.OnItemClickListener {

View file

@ -8,8 +8,6 @@ import android.os.Bundle
import android.view.MenuItem import android.view.MenuItem
import android.view.View import android.view.View
import android.widget.RelativeLayout import android.widget.RelativeLayout
import android.widget.Toast
import androidx.appcompat.app.AppCompatActivity
import androidx.lifecycle.ViewModelProvider import androidx.lifecycle.ViewModelProvider
import androidx.lifecycle.lifecycleScope import androidx.lifecycle.lifecycleScope
import androidx.recyclerview.widget.ItemTouchHelper import androidx.recyclerview.widget.ItemTouchHelper

View file

@ -12,7 +12,6 @@ import android.view.inputmethod.InputMethodManager
import android.widget.EditText import android.widget.EditText
import android.widget.RelativeLayout import android.widget.RelativeLayout
import androidx.appcompat.app.AlertDialog import androidx.appcompat.app.AlertDialog
import androidx.appcompat.app.AppCompatActivity
import androidx.core.widget.doOnTextChanged import androidx.core.widget.doOnTextChanged
import androidx.lifecycle.ViewModelProvider import androidx.lifecycle.ViewModelProvider
import androidx.lifecycle.lifecycleScope import androidx.lifecycle.lifecycleScope
@ -24,12 +23,10 @@ import com.deniscerri.ytdlnis.adapter.CookieAdapter
import com.deniscerri.ytdlnis.database.models.CookieItem import com.deniscerri.ytdlnis.database.models.CookieItem
import com.deniscerri.ytdlnis.database.viewmodel.CookieViewModel import com.deniscerri.ytdlnis.database.viewmodel.CookieViewModel
import com.deniscerri.ytdlnis.ui.BaseActivity import com.deniscerri.ytdlnis.ui.BaseActivity
import com.deniscerri.ytdlnis.ui.downloadcard.DownloadBottomSheetDialog
import com.deniscerri.ytdlnis.util.FileUtil import com.deniscerri.ytdlnis.util.FileUtil
import com.deniscerri.ytdlnis.util.UiUtil import com.deniscerri.ytdlnis.util.UiUtil
import com.google.android.material.appbar.MaterialToolbar import com.google.android.material.appbar.MaterialToolbar
import com.google.android.material.chip.Chip import com.google.android.material.chip.Chip
import com.google.android.material.color.MaterialColors
import com.google.android.material.dialog.MaterialAlertDialogBuilder import com.google.android.material.dialog.MaterialAlertDialogBuilder
import com.google.android.material.snackbar.Snackbar import com.google.android.material.snackbar.Snackbar
import com.google.android.material.textfield.TextInputLayout import com.google.android.material.textfield.TextInputLayout

View file

@ -1,6 +1,5 @@
package com.deniscerri.ytdlnis.ui.more package com.deniscerri.ytdlnis.ui.more
import android.app.Activity
import android.content.DialogInterface import android.content.DialogInterface
import android.content.Intent import android.content.Intent
import android.content.SharedPreferences import android.content.SharedPreferences
@ -109,11 +108,13 @@ class MoreFragment : Fragment() {
mainSharedPreferencesEditor.commit() mainSharedPreferencesEditor.commit()
} }
mainActivity.finishAndRemoveTask() mainActivity.finishAndRemoveTask()
mainActivity.finishAffinity()
exitProcess(0) exitProcess(0)
} }
terminateDialog.show() terminateDialog.show()
}else{ }else{
mainActivity.finishAndRemoveTask() mainActivity.finishAndRemoveTask()
mainActivity.finishAffinity()
exitProcess(0) exitProcess(0)
} }

View file

@ -8,23 +8,26 @@ import android.content.SharedPreferences
import android.os.Build import android.os.Build
import android.os.Bundle import android.os.Bundle
import android.os.FileObserver import android.os.FileObserver
import android.os.Looper
import android.util.Log import android.util.Log
import android.view.MenuItem import android.view.MenuItem
import android.view.View import android.view.View
import android.view.ViewGroup import android.view.ViewGroup
import android.view.Window import android.view.Window
import android.view.inputmethod.InputMethodManager import android.view.inputmethod.InputMethodManager
import android.widget.* import android.widget.EditText
import android.widget.ScrollView
import android.widget.TextView
import android.widget.Toast
import androidx.activity.result.contract.ActivityResultContracts import androidx.activity.result.contract.ActivityResultContracts
import androidx.appcompat.app.AppCompatActivity
import androidx.constraintlayout.widget.ConstraintLayout
import androidx.core.view.forEach import androidx.core.view.forEach
import androidx.core.view.get
import androidx.lifecycle.ViewModelProvider import androidx.lifecycle.ViewModelProvider
import androidx.lifecycle.lifecycleScope import androidx.lifecycle.lifecycleScope
import androidx.preference.PreferenceManager import androidx.preference.PreferenceManager
import androidx.work.* import androidx.work.Data
import androidx.work.ExistingWorkPolicy
import androidx.work.OneTimeWorkRequestBuilder
import androidx.work.WorkInfo
import androidx.work.WorkManager
import com.deniscerri.ytdlnis.R import com.deniscerri.ytdlnis.R
import com.deniscerri.ytdlnis.database.viewmodel.CommandTemplateViewModel import com.deniscerri.ytdlnis.database.viewmodel.CommandTemplateViewModel
import com.deniscerri.ytdlnis.ui.BaseActivity import com.deniscerri.ytdlnis.ui.BaseActivity

View file

@ -6,7 +6,6 @@ import android.webkit.CookieManager
import android.webkit.WebView import android.webkit.WebView
import android.webkit.WebViewClient import android.webkit.WebViewClient
import android.widget.Toast import android.widget.Toast
import androidx.appcompat.app.AppCompatActivity
import androidx.lifecycle.ViewModelProvider import androidx.lifecycle.ViewModelProvider
import androidx.lifecycle.lifecycleScope import androidx.lifecycle.lifecycleScope
import com.deniscerri.ytdlnis.R import com.deniscerri.ytdlnis.R

View file

@ -8,7 +8,6 @@ import android.os.FileObserver
import android.view.View import android.view.View
import android.widget.ScrollView import android.widget.ScrollView
import android.widget.TextView import android.widget.TextView
import androidx.appcompat.app.AppCompatActivity
import com.deniscerri.ytdlnis.R import com.deniscerri.ytdlnis.R
import com.deniscerri.ytdlnis.ui.BaseActivity import com.deniscerri.ytdlnis.ui.BaseActivity
import com.google.android.material.appbar.MaterialToolbar import com.google.android.material.appbar.MaterialToolbar

View file

@ -10,7 +10,6 @@ import android.view.MenuItem
import android.view.View import android.view.View
import android.widget.RelativeLayout import android.widget.RelativeLayout
import android.widget.Toast import android.widget.Toast
import androidx.appcompat.app.AppCompatActivity
import androidx.recyclerview.widget.LinearLayoutManager import androidx.recyclerview.widget.LinearLayoutManager
import androidx.recyclerview.widget.RecyclerView import androidx.recyclerview.widget.RecyclerView
import com.deniscerri.ytdlnis.R import com.deniscerri.ytdlnis.R

View file

@ -1,65 +1,22 @@
package com.deniscerri.ytdlnis.ui.more.settings package com.deniscerri.ytdlnis.ui.more.settings
import android.annotation.SuppressLint
import android.app.Activity
import android.content.Context.POWER_SERVICE
import android.content.DialogInterface
import android.content.Intent import android.content.Intent
import android.content.SharedPreferences
import android.net.Uri
import android.os.Build.VERSION import android.os.Build.VERSION
import android.os.Build.VERSION_CODES import android.os.Build.VERSION_CODES
import android.os.Bundle import android.os.Bundle
import android.os.Environment
import android.os.PowerManager
import android.provider.Settings
import androidx.activity.result.contract.ActivityResultContracts
import androidx.appcompat.app.AppCompatActivity import androidx.appcompat.app.AppCompatActivity
import androidx.appcompat.app.AppCompatDelegate import androidx.appcompat.app.AppCompatDelegate
import androidx.core.os.LocaleListCompat import androidx.core.os.LocaleListCompat
import androidx.lifecycle.ViewModelProvider
import androidx.lifecycle.lifecycleScope
import androidx.preference.EditTextPreference
import androidx.preference.ListPreference import androidx.preference.ListPreference
import androidx.preference.Preference import androidx.preference.Preference
import androidx.preference.PreferenceFragmentCompat
import androidx.preference.PreferenceManager
import androidx.preference.SeekBarPreference
import androidx.preference.SwitchPreferenceCompat import androidx.preference.SwitchPreferenceCompat
import androidx.work.WorkInfo import androidx.work.WorkInfo
import androidx.work.WorkManager import androidx.work.WorkManager
import com.deniscerri.ytdlnis.BuildConfig
import com.deniscerri.ytdlnis.MainActivity import com.deniscerri.ytdlnis.MainActivity
import com.deniscerri.ytdlnis.R import com.deniscerri.ytdlnis.R
import com.deniscerri.ytdlnis.database.models.CommandTemplate
import com.deniscerri.ytdlnis.database.models.CookieItem
import com.deniscerri.ytdlnis.database.models.DownloadItem
import com.deniscerri.ytdlnis.database.models.HistoryItem
import com.deniscerri.ytdlnis.database.models.SearchHistoryItem
import com.deniscerri.ytdlnis.database.models.TemplateShortcut
import com.deniscerri.ytdlnis.database.viewmodel.CommandTemplateViewModel
import com.deniscerri.ytdlnis.database.viewmodel.CookieViewModel
import com.deniscerri.ytdlnis.database.viewmodel.DownloadViewModel
import com.deniscerri.ytdlnis.database.viewmodel.HistoryViewModel
import com.deniscerri.ytdlnis.database.viewmodel.ResultViewModel
import com.deniscerri.ytdlnis.util.FileUtil import com.deniscerri.ytdlnis.util.FileUtil
import com.deniscerri.ytdlnis.util.ThemeUtil import com.deniscerri.ytdlnis.util.ThemeUtil
import com.deniscerri.ytdlnis.util.UpdateUtil import com.deniscerri.ytdlnis.util.UpdateUtil
import com.google.android.material.dialog.MaterialAlertDialogBuilder
import com.google.android.material.snackbar.Snackbar
import com.google.gson.Gson
import com.google.gson.JsonArray
import com.google.gson.JsonObject
import com.google.gson.JsonParser
import com.yausername.youtubedl_android.YoutubeDL
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.launch
import kotlinx.coroutines.withContext
import kotlinx.serialization.json.Json
import java.io.BufferedReader
import java.io.File
import java.io.InputStreamReader
import java.time.LocalDateTime
import java.util.Locale import java.util.Locale
@ -88,7 +45,6 @@ class AppearanceSettingsFragment : BaseSettingsFragment() {
} }
} }
val preferences = PreferenceManager.getDefaultSharedPreferences(requireContext())
language = findPreference("app_language") language = findPreference("app_language")
theme = findPreference("ytdlnis_theme") theme = findPreference("ytdlnis_theme")
accent = findPreference("theme_accent") accent = findPreference("theme_accent")

View file

@ -1,6 +1,14 @@
package com.deniscerri.ytdlnis.ui.more.settings package com.deniscerri.ytdlnis.ui.more.settings
import android.content.DialogInterface
import androidx.preference.EditTextPreference
import androidx.preference.ListPreference
import androidx.preference.MultiSelectListPreference
import androidx.preference.Preference
import androidx.preference.PreferenceFragmentCompat import androidx.preference.PreferenceFragmentCompat
import com.deniscerri.ytdlnis.R
import com.deniscerri.ytdlnis.databinding.DialogTextPreferenceBinding
import com.google.android.material.dialog.MaterialAlertDialogBuilder
abstract class BaseSettingsFragment : PreferenceFragmentCompat() { abstract class BaseSettingsFragment : PreferenceFragmentCompat() {
@ -10,4 +18,76 @@ abstract class BaseSettingsFragment : PreferenceFragmentCompat() {
super.onStart() super.onStart()
(activity as? SettingsActivity)?.changeTopAppbarTitle(getString(title)) (activity as? SettingsActivity)?.changeTopAppbarTitle(getString(title))
} }
//Thanks libretube
override fun onDisplayPreferenceDialog(preference: Preference) {
when (preference) {
/**
* Show a [MaterialAlertDialogBuilder] when the preference is a [ListPreference]
*/
is ListPreference -> {
// get the index of the previous selected item
val prefIndex = preference.entryValues.indexOf(preference.value)
MaterialAlertDialogBuilder(requireContext())
.setTitle(preference.title)
.setSingleChoiceItems(preference.entries, prefIndex) { dialog, index ->
// get the new ListPreference value
val newValue = preference.entryValues[index].toString()
// invoke the on change listeners
if (preference.callChangeListener(newValue)) {
preference.value = newValue
}
dialog.dismiss()
}
.setNegativeButton(R.string.cancel, null)
.show()
}
is EditTextPreference -> {
val binding = DialogTextPreferenceBinding.inflate(layoutInflater)
binding.input.setText(preference.text)
MaterialAlertDialogBuilder(requireContext())
.setTitle(preference.title)
.setView(binding.root)
.setPositiveButton(android.R.string.ok) { _, _ ->
val newValue = binding.input.text.toString()
if (preference.callChangeListener(newValue)) {
preference.text = newValue
}
}
.setNegativeButton(R.string.cancel, null)
.show()
}
is MultiSelectListPreference -> {
val values = preference.entryValues
val entries = preference.entries
val checkedItems : ArrayList<Boolean> = arrayListOf()
values.forEach {
if (preference.values.contains(it)) {
checkedItems.add(true)
}else{
checkedItems.add(false)
}
}
MaterialAlertDialogBuilder(requireContext())
.setTitle(preference.title)
.setMultiChoiceItems(entries, checkedItems.toBooleanArray()) { _, which, isChecked ->
checkedItems[which] = isChecked
}
.setNegativeButton(R.string.cancel, null)
.setPositiveButton(R.string.ok) { _: DialogInterface?, _: Int ->
preference.values.clear()
for (i in 0 until checkedItems.size) {
if (checkedItems[i]) {
preference.values.add(values[i].toString())
}
}
}
.show()
}
/**
* Otherwise show the normal dialog, dialogs for other preference types are not supported yet
*/
else -> super.onDisplayPreferenceDialog(preference)
}
}
} }

View file

@ -12,7 +12,6 @@ import androidx.preference.Preference
import androidx.preference.PreferenceManager import androidx.preference.PreferenceManager
import com.deniscerri.ytdlnis.R import com.deniscerri.ytdlnis.R
import com.deniscerri.ytdlnis.util.FileUtil import com.deniscerri.ytdlnis.util.FileUtil
import com.deniscerri.ytdlnis.util.UpdateUtil
import com.google.android.material.snackbar.Snackbar import com.google.android.material.snackbar.Snackbar
import java.io.File import java.io.File

View file

@ -7,6 +7,8 @@ import android.content.SharedPreferences
import android.os.Bundle import android.os.Bundle
import android.os.Environment import android.os.Environment
import androidx.activity.result.contract.ActivityResultContracts import androidx.activity.result.contract.ActivityResultContracts
import androidx.appcompat.app.AppCompatDelegate
import androidx.core.os.LocaleListCompat
import androidx.lifecycle.ViewModelProvider import androidx.lifecycle.ViewModelProvider
import androidx.lifecycle.lifecycleScope import androidx.lifecycle.lifecycleScope
import androidx.navigation.fragment.findNavController import androidx.navigation.fragment.findNavController
@ -363,6 +365,8 @@ class MainSettingsFragment : PreferenceFragmentCompat() {
} }
finalMessage.append("${getString(R.string.settings)}: ${prefs.count()}\n") finalMessage.append("${getString(R.string.settings)}: ${prefs.count()}\n")
} }
editor.commit()
//history restore //history restore
if(json.has("downloads")){ if(json.has("downloads")){
val items = json.getAsJsonArray("downloads") val items = json.getAsJsonArray("downloads")
@ -399,6 +403,9 @@ class MainSettingsFragment : PreferenceFragmentCompat() {
val item = Gson().fromJson(it.toString().replace("^\"|\"$", ""), DownloadItem::class.java) val item = Gson().fromJson(it.toString().replace("^\"|\"$", ""), DownloadItem::class.java)
item.id = 0L item.id = 0L
cancelled.add(item) cancelled.add(item)
withContext(Dispatchers.IO){
downloadViewModel.insert(item)
}
} }
if(cancelled.isNotEmpty()){ if(cancelled.isNotEmpty()){
finalMessage.append("${getString(R.string.cancelled)}: ${cancelled.count()}\n") finalMessage.append("${getString(R.string.cancelled)}: ${cancelled.count()}\n")
@ -476,16 +483,21 @@ class MainSettingsFragment : PreferenceFragmentCompat() {
val intent = Intent(context, MainActivity::class.java) val intent = Intent(context, MainActivity::class.java)
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK) intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK)
requireContext().startActivity(intent) requireContext().startActivity(intent)
if (context is Activity) { if(json.has("settings")){
(context as Activity).finish() AppCompatDelegate.setApplicationLocales(LocaleListCompat.forLanguageTags(preferences.getString("app_language", "en")))
} }
activity?.finishAffinity()
Runtime.getRuntime().exit(0) Runtime.getRuntime().exit(0)
} }
// handle the negative button of the alert dialog // handle the negative button of the alert dialog
builder.setNegativeButton( builder.setNegativeButton(
getString(R.string.cancel) getString(R.string.cancel)
) { _: DialogInterface?, _: Int -> } ) { _: DialogInterface?, _: Int ->
if(json.has("settings")){
AppCompatDelegate.setApplicationLocales(LocaleListCompat.forLanguageTags(preferences.getString("app_language", "en")))
}
}
val dialog = builder.create() val dialog = builder.create()
dialog.show() dialog.show()

View file

@ -2,7 +2,6 @@ package com.deniscerri.ytdlnis.ui.more.settings
import android.os.Bundle import android.os.Bundle
import androidx.preference.EditTextPreference import androidx.preference.EditTextPreference
import androidx.preference.Preference
import com.deniscerri.ytdlnis.R import com.deniscerri.ytdlnis.R

View file

@ -1,20 +1,14 @@
package com.deniscerri.ytdlnis.ui.more.settings package com.deniscerri.ytdlnis.ui.more.settings
import android.content.Context import android.content.Context
import android.content.SharedPreferences
import android.os.Bundle import android.os.Bundle
import androidx.activity.addCallback import androidx.activity.addCallback
import androidx.fragment.app.FragmentManager
import androidx.fragment.app.commit
import androidx.fragment.app.replace
import androidx.navigation.NavController import androidx.navigation.NavController
import androidx.navigation.fragment.NavHostFragment import androidx.navigation.fragment.NavHostFragment
import androidx.navigation.fragment.findNavController import androidx.navigation.fragment.findNavController
import com.deniscerri.ytdlnis.MainActivity
import com.deniscerri.ytdlnis.R import com.deniscerri.ytdlnis.R
import com.deniscerri.ytdlnis.databinding.ActivitySettingsBinding import com.deniscerri.ytdlnis.databinding.ActivitySettingsBinding
import com.deniscerri.ytdlnis.ui.BaseActivity import com.deniscerri.ytdlnis.ui.BaseActivity
import com.google.android.material.appbar.MaterialToolbar
class SettingsActivity : BaseActivity() { class SettingsActivity : BaseActivity() {

View file

@ -1,6 +1,5 @@
package com.deniscerri.ytdlnis.util package com.deniscerri.ytdlnis.util
import android.app.Activity
import android.content.Context import android.content.Context
import android.content.SharedPreferences import android.content.SharedPreferences
import android.os.Looper import android.os.Looper
@ -23,7 +22,6 @@ import java.net.HttpURLConnection
import java.net.URL import java.net.URL
import java.util.* import java.util.*
import java.util.regex.Pattern import java.util.regex.Pattern
import kotlin.collections.ArrayList
class InfoUtil(private val context: Context) { class InfoUtil(private val context: Context) {
private var items: ArrayList<ResultItem?> private var items: ArrayList<ResultItem?>

View file

@ -1,6 +1,10 @@
package com.deniscerri.ytdlnis.util package com.deniscerri.ytdlnis.util
import android.app.* import android.app.Notification
import android.app.NotificationChannel
import android.app.NotificationManager
import android.app.PendingIntent
import android.app.TaskStackBuilder
import android.content.Context import android.content.Context
import android.content.Intent import android.content.Intent
import android.graphics.BitmapFactory import android.graphics.BitmapFactory

View file

@ -1,7 +1,5 @@
package com.deniscerri.ytdlnis.util package com.deniscerri.ytdlnis.util
import android.app.Application
import android.util.Log
import androidx.appcompat.app.AppCompatActivity import androidx.appcompat.app.AppCompatActivity
import androidx.appcompat.app.AppCompatDelegate import androidx.appcompat.app.AppCompatDelegate
import androidx.preference.PreferenceManager import androidx.preference.PreferenceManager

View file

@ -1,6 +1,5 @@
package com.deniscerri.ytdlnis.util package com.deniscerri.ytdlnis.util
import android.annotation.SuppressLint
import android.app.Activity import android.app.Activity
import android.content.ClipData import android.content.ClipData
import android.content.ClipboardManager import android.content.ClipboardManager
@ -11,12 +10,10 @@ import android.text.Editable
import android.text.TextWatcher import android.text.TextWatcher
import android.util.DisplayMetrics import android.util.DisplayMetrics
import android.util.Log import android.util.Log
import android.view.MotionEvent
import android.view.View import android.view.View
import android.view.ViewGroup import android.view.ViewGroup
import android.view.Window import android.view.Window
import android.widget.Button import android.widget.Button
import android.widget.EditText
import android.widget.LinearLayout import android.widget.LinearLayout
import android.widget.TextView import android.widget.TextView
import android.widget.Toast import android.widget.Toast
@ -26,7 +23,6 @@ import androidx.constraintlayout.widget.ConstraintLayout
import androidx.core.content.FileProvider import androidx.core.content.FileProvider
import androidx.fragment.app.FragmentManager import androidx.fragment.app.FragmentManager
import androidx.lifecycle.LifecycleOwner import androidx.lifecycle.LifecycleOwner
import androidx.lifecycle.lifecycleScope
import com.deniscerri.ytdlnis.R import com.deniscerri.ytdlnis.R
import com.deniscerri.ytdlnis.database.models.CommandTemplate import com.deniscerri.ytdlnis.database.models.CommandTemplate
import com.deniscerri.ytdlnis.database.models.Format import com.deniscerri.ytdlnis.database.models.Format
@ -43,10 +39,9 @@ import com.google.android.material.textfield.TextInputLayout
import com.google.android.material.timepicker.MaterialTimePicker import com.google.android.material.timepicker.MaterialTimePicker
import com.google.android.material.timepicker.TimeFormat import com.google.android.material.timepicker.TimeFormat
import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.launch
import kotlinx.coroutines.withContext import kotlinx.coroutines.withContext
import java.io.File import java.io.File
import java.util.* import java.util.Calendar
class UiUtil(private val fileUtil: FileUtil) { class UiUtil(private val fileUtil: FileUtil) {
fun populateFormatCard(formatCard : ConstraintLayout, chosenFormat: Format){ fun populateFormatCard(formatCard : ConstraintLayout, chosenFormat: Format){

View file

@ -1,6 +1,5 @@
package com.deniscerri.ytdlnis.util package com.deniscerri.ytdlnis.util
import android.app.Activity
import android.app.DownloadManager import android.app.DownloadManager
import android.content.Context import android.content.Context
import android.content.DialogInterface import android.content.DialogInterface

View file

@ -1,7 +1,6 @@
package com.deniscerri.ytdlnis.work package com.deniscerri.ytdlnis.work
import android.app.PendingIntent import android.app.PendingIntent
import android.app.Service
import android.content.Context import android.content.Context
import android.content.Intent import android.content.Intent
import android.os.Handler import android.os.Handler
@ -9,7 +8,11 @@ import android.os.Looper
import android.util.Log import android.util.Log
import android.widget.Toast import android.widget.Toast
import androidx.preference.PreferenceManager import androidx.preference.PreferenceManager
import androidx.work.* import androidx.work.Data
import androidx.work.ForegroundInfo
import androidx.work.Worker
import androidx.work.WorkerParameters
import androidx.work.workDataOf
import com.deniscerri.ytdlnis.MainActivity import com.deniscerri.ytdlnis.MainActivity
import com.deniscerri.ytdlnis.R import com.deniscerri.ytdlnis.R
import com.deniscerri.ytdlnis.database.DBManager import com.deniscerri.ytdlnis.database.DBManager
@ -17,20 +20,13 @@ import com.deniscerri.ytdlnis.database.models.DownloadItem
import com.deniscerri.ytdlnis.database.models.HistoryItem import com.deniscerri.ytdlnis.database.models.HistoryItem
import com.deniscerri.ytdlnis.database.repository.DownloadRepository import com.deniscerri.ytdlnis.database.repository.DownloadRepository
import com.deniscerri.ytdlnis.database.viewmodel.DownloadViewModel import com.deniscerri.ytdlnis.database.viewmodel.DownloadViewModel
import com.deniscerri.ytdlnis.ui.more.downloadLogs.DownloadLogActivity
import com.deniscerri.ytdlnis.util.FileUtil import com.deniscerri.ytdlnis.util.FileUtil
import com.deniscerri.ytdlnis.util.InfoUtil import com.deniscerri.ytdlnis.util.InfoUtil
import com.deniscerri.ytdlnis.util.NotificationUtil import com.deniscerri.ytdlnis.util.NotificationUtil
import com.yausername.youtubedl_android.YoutubeDL import com.yausername.youtubedl_android.YoutubeDL
import com.yausername.youtubedl_android.YoutubeDLRequest import com.yausername.youtubedl_android.YoutubeDLRequest
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.async
import kotlinx.coroutines.coroutineScope
import kotlinx.coroutines.runBlocking import kotlinx.coroutines.runBlocking
import kotlinx.coroutines.withContext
import java.io.File import java.io.File
import java.util.*
import kotlin.collections.ArrayList
class DownloadWorker( class DownloadWorker(
@ -59,7 +55,6 @@ class DownloadWorker(
e.printStackTrace() e.printStackTrace()
return Result.failure() return Result.failure()
} }
if (downloadItem.status != DownloadRepository.Status.Queued.toString()) return Result.failure()
Log.e(TAG, downloadItem.toString()) Log.e(TAG, downloadItem.toString())
@ -135,7 +130,7 @@ class DownloadWorker(
} }
if (sponsorBlockFilters.isNotEmpty()) { if (sponsorBlockFilters.isNotEmpty()) {
val filters = java.lang.String.join(",", sponsorBlockFilters) val filters = java.lang.String.join(",", sponsorBlockFilters.filter { it.isNotBlank() })
request.addOption("--sponsorblock-remove", filters) request.addOption("--sponsorblock-remove", filters)
} }
@ -302,7 +297,6 @@ class DownloadWorker(
"Format: ${downloadItem.format}\n\n" + "Format: ${downloadItem.format}\n\n" +
"Command: ${java.lang.String.join(" ", request.buildCommand())}\n\n") "Command: ${java.lang.String.join(" ", request.buildCommand())}\n\n")
} }
runCatching { runCatching {
YoutubeDL.getInstance().execute(request, downloadItem.id.toString()){ progress, _, line -> YoutubeDL.getInstance().execute(request, downloadItem.id.toString()){ progress, _, line ->
setProgressAsync(workDataOf("progress" to progress.toInt(), "output" to line.chunked(5000).first().toString(), "id" to downloadItem.id, "log" to logDownloads)) setProgressAsync(workDataOf("progress" to progress.toInt(), "output" to line.chunked(5000).first().toString(), "id" to downloadItem.id, "log" to logDownloads))
@ -413,7 +407,6 @@ class DownloadWorker(
super.onStopped() super.onStopped()
} }
companion object { companion object {
var itemId: Long = 0 var itemId: Long = 0
const val TAG = "DownloadWorker" const val TAG = "DownloadWorker"

View file

@ -1,7 +1,6 @@
package com.deniscerri.ytdlnis.work package com.deniscerri.ytdlnis.work
import android.app.PendingIntent import android.app.PendingIntent
import android.app.Service
import android.content.Context import android.content.Context
import android.content.Intent import android.content.Intent
import android.os.Handler import android.os.Handler
@ -9,7 +8,10 @@ import android.os.Looper
import android.util.Log import android.util.Log
import android.widget.Toast import android.widget.Toast
import androidx.preference.PreferenceManager import androidx.preference.PreferenceManager
import androidx.work.* import androidx.work.ForegroundInfo
import androidx.work.Worker
import androidx.work.WorkerParameters
import androidx.work.workDataOf
import com.deniscerri.ytdlnis.MainActivity import com.deniscerri.ytdlnis.MainActivity
import com.deniscerri.ytdlnis.R import com.deniscerri.ytdlnis.R
import com.deniscerri.ytdlnis.util.FileUtil import com.deniscerri.ytdlnis.util.FileUtil
@ -17,7 +19,6 @@ import com.deniscerri.ytdlnis.util.NotificationUtil
import com.yausername.youtubedl_android.YoutubeDL import com.yausername.youtubedl_android.YoutubeDL
import com.yausername.youtubedl_android.YoutubeDLRequest import com.yausername.youtubedl_android.YoutubeDLRequest
import java.io.File import java.io.File
import java.util.*
class TerminalDownloadWorker( class TerminalDownloadWorker(

View file

@ -0,0 +1,5 @@
<vector android:autoMirrored="true" android:height="24dp"
android:viewportHeight="24"
android:viewportWidth="24" android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android">
<path android:fillColor="?android:colorAccent" android:pathData="M22,9.24l-7.19,-0.62L12,2L9.19,8.63L2,9.24l5.46,4.73L5.82,21L12,17.27L18.18,21l-1.63,-7.03L22,9.24zM12,15.4V6.1l1.71,4.04l4.38,0.38l-3.32,2.88l1,4.28L12,15.4z"/>
</vector>

View file

@ -0,0 +1,5 @@
<vector android:height="24dp"
android:viewportHeight="24" android:viewportWidth="24"
android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android">
<path android:fillColor="?android:colorAccent" android:pathData="M12.87,15.07l-2.54,-2.51 0.03,-0.03c1.74,-1.94 2.98,-4.17 3.71,-6.53L17,6L17,4h-7L10,2L8,2v2L1,4v1.99h11.17C11.5,7.92 10.44,9.75 9,11.35 8.07,10.32 7.3,9.19 6.69,8h-2c0.73,1.63 1.73,3.17 2.98,4.56l-5.09,5.02L4,19l5,-5 3.11,3.11 0.76,-2.04zM18.5,10h-2L12,22h2l1.12,-3h4.75L21,22h2l-4.5,-12zM15.88,17l1.62,-4.33L19.12,17h-3.24z"/>
</vector>

View file

@ -1,11 +0,0 @@
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle" >
<gradient
android:angle="90"
android:endColor="?attr/cardBackgroundColor"
android:startColor="?attr/colorSurfaceContainer"
android:centerColor="?attr/cardBackgroundColor" />
<corners android:radius="0dp" />
</shape>

View file

@ -3,7 +3,6 @@
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/homecoordinator"
xmlns:android="http://schemas.android.com/apk/res/android"> xmlns:android="http://schemas.android.com/apk/res/android">
<com.google.android.material.search.SearchView <com.google.android.material.search.SearchView
@ -150,7 +149,6 @@
android:orientation="vertical"> android:orientation="vertical">
<LinearLayout <LinearLayout
android:id="@+id/shimmer_linear_layout"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_margin="10dp" android:layout_margin="10dp"

View file

@ -3,7 +3,6 @@
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/homecoordinator"
xmlns:android="http://schemas.android.com/apk/res/android"> xmlns:android="http://schemas.android.com/apk/res/android">
<com.google.android.material.search.SearchView <com.google.android.material.search.SearchView
@ -165,7 +164,6 @@
android:orientation="vertical"> android:orientation="vertical">
<LinearLayout <LinearLayout
android:id="@+id/shimmer_linear_layout"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_margin="10dp" android:layout_margin="10dp"

View file

@ -3,7 +3,6 @@
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/homecoordinator"
xmlns:android="http://schemas.android.com/apk/res/android"> xmlns:android="http://schemas.android.com/apk/res/android">
<com.google.android.material.search.SearchView <com.google.android.material.search.SearchView
@ -150,7 +149,6 @@
android:orientation="vertical"> android:orientation="vertical">
<LinearLayout <LinearLayout
android:id="@+id/shimmer_linear_layout"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_margin="10dp" android:layout_margin="10dp"

View file

@ -1,13 +1,10 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:app="http://schemas.android.com/apk/res-auto" <androidx.constraintlayout.widget.ConstraintLayout xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/downloads_card_constraintLayout"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
xmlns:android="http://schemas.android.com/apk/res/android"> xmlns:android="http://schemas.android.com/apk/res/android">
<RelativeLayout <RelativeLayout
android:id="@+id/active_download_relative_layout"
android:layout_width="0dp" android:layout_width="0dp"
android:layout_marginHorizontal="10dp" android:layout_marginHorizontal="10dp"
android:layout_height="0dp" android:layout_height="0dp"
@ -80,7 +77,6 @@
app:layout_constraintTop_toTopOf="parent"> app:layout_constraintTop_toTopOf="parent">
<com.google.android.material.chip.ChipGroup <com.google.android.material.chip.ChipGroup
android:id="@+id/linearLayout2"
android:layout_width="24dp" android:layout_width="24dp"
android:layout_height="24dp" android:layout_height="24dp"
android:layout_gravity="center_vertical|end" android:layout_gravity="center_vertical|end"
@ -136,7 +132,6 @@
</HorizontalScrollView> </HorizontalScrollView>
<LinearLayout <LinearLayout
android:id="@+id/title_author"
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:dividerPadding="5dp" android:dividerPadding="5dp"

View file

@ -40,7 +40,6 @@
android:layout_height="wrap_content"> android:layout_height="wrap_content">
<LinearLayout <LinearLayout
android:id="@+id/command_selection_chips"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content"> android:layout_height="wrap_content">

View file

@ -7,7 +7,6 @@
<androidx.core.widget.NestedScrollView <androidx.core.widget.NestedScrollView
android:id="@+id/nestedScrollView"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:orientation="vertical" android:orientation="vertical"

View file

@ -0,0 +1,21 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<com.google.android.material.textfield.TextInputLayout
android:id="@+id/inputLayout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginHorizontal="15dp"
android:layout_marginTop="5dp"
android:layout_marginBottom="10dp">
<com.google.android.material.textfield.TextInputEditText
android:id="@+id/input"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="number" />
</com.google.android.material.textfield.TextInputLayout>
</LinearLayout>

View file

@ -23,7 +23,6 @@
app:menu="@menu/download_multiple_menu" /> app:menu="@menu/download_multiple_menu" />
<com.google.android.material.floatingactionbutton.FloatingActionButton <com.google.android.material.floatingactionbutton.FloatingActionButton
android:id="@+id/edit_selected"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:visibility="gone" android:visibility="gone"
@ -34,7 +33,6 @@
<LinearLayout <LinearLayout
android:id="@+id/linearLayout"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:orientation="vertical" android:orientation="vertical"

View file

@ -1,6 +1,5 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<FrameLayout android:id="@+id/downloads_element_bottom_sheet" <FrameLayout style="@style/Widget.Material3.BottomSheet"
style="@style/Widget.Material3.BottomSheet"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
app:layout_behavior="com.google.android.material.bottomsheet.BottomSheetBehavior" app:layout_behavior="com.google.android.material.bottomsheet.BottomSheetBehavior"

View file

@ -26,7 +26,6 @@
app:layout_constraintTop_toTopOf="parent" /> app:layout_constraintTop_toTopOf="parent" />
<androidx.constraintlayout.widget.ConstraintLayout <androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/constraintLayout2"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="0dp" android:layout_height="0dp"
android:orientation="vertical" android:orientation="vertical"

View file

@ -22,7 +22,6 @@
app:layout_constraintTop_toTopOf="parent" /> app:layout_constraintTop_toTopOf="parent" />
<androidx.constraintlayout.widget.ConstraintLayout <androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/constraintLayout2"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="0dp" android:layout_height="0dp"
android:orientation="vertical" android:orientation="vertical"

View file

@ -77,7 +77,6 @@
</LinearLayout> </LinearLayout>
<TextView <TextView
android:id="@+id/audio_quality_title"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:paddingTop="10dp" android:paddingTop="10dp"
@ -113,7 +112,6 @@
android:layout_height="wrap_content" /> android:layout_height="wrap_content" />
<LinearLayout <LinearLayout
android:id="@+id/adjust_audio"
android:layout_width="match_parent" android:layout_width="match_parent"
android:paddingHorizontal="10dp" android:paddingHorizontal="10dp"
android:layout_height="wrap_content" android:layout_height="wrap_content"
@ -134,7 +132,6 @@
android:layout_height="wrap_content" > android:layout_height="wrap_content" >
<com.google.android.material.chip.ChipGroup <com.google.android.material.chip.ChipGroup
android:id="@+id/chipGroup"
android:layout_width="wrap_content" android:layout_width="wrap_content"
app:chipSpacingVertical="0dp" app:chipSpacingVertical="0dp"
app:singleLine="true" app:singleLine="true"
@ -182,7 +179,6 @@
android:layout_height="wrap_content" > android:layout_height="wrap_content" >
<com.google.android.material.chip.ChipGroup <com.google.android.material.chip.ChipGroup
android:id="@+id/chipGroup2"
android:layout_width="wrap_content" android:layout_width="wrap_content"
app:chipSpacingVertical="0dp" app:chipSpacingVertical="0dp"
app:singleLine="true" app:singleLine="true"

View file

@ -70,7 +70,6 @@
<LinearLayout <LinearLayout
android:id="@+id/adjust_commands"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:paddingVertical="10dp" android:paddingVertical="10dp"
android:layout_height="wrap_content" android:layout_height="wrap_content"
@ -86,7 +85,6 @@
<com.google.android.material.chip.ChipGroup <com.google.android.material.chip.ChipGroup
android:id="@+id/commands_chip_group"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
app:selectionRequired="false" app:selectionRequired="false"

View file

@ -112,7 +112,6 @@
<LinearLayout <LinearLayout
android:id="@+id/adjust_video"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:orientation="vertical" android:orientation="vertical"
@ -132,7 +131,6 @@
android:layout_height="wrap_content"> android:layout_height="wrap_content">
<com.google.android.material.chip.ChipGroup <com.google.android.material.chip.ChipGroup
android:id="@+id/chipGroup1"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
app:chipSpacingVertical="0dp" app:chipSpacingVertical="0dp"

View file

@ -2,11 +2,9 @@
<androidx.coordinatorlayout.widget.CoordinatorLayout android:layout_width="match_parent" <androidx.coordinatorlayout.widget.CoordinatorLayout android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/historycoordinator"
xmlns:android="http://schemas.android.com/apk/res/android"> xmlns:android="http://schemas.android.com/apk/res/android">
<com.google.android.material.appbar.AppBarLayout <com.google.android.material.appbar.AppBarLayout
android:id="@+id/history_appbarlayout"
app:liftOnScroll="true" app:liftOnScroll="true"
android:background="@android:color/transparent" android:background="@android:color/transparent"
android:elevation="0dp" android:elevation="0dp"
@ -30,7 +28,6 @@
app:layout_scrollFlags="scroll|enterAlways" app:layout_scrollFlags="scroll|enterAlways"
android:layout_margin="10dp"> android:layout_margin="10dp">
<HorizontalScrollView <HorizontalScrollView
android:id="@+id/chips_recycler_horizontalscrollview"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:scrollbars="none" android:scrollbars="none"
android:layout_height="wrap_content"> android:layout_height="wrap_content">
@ -60,7 +57,6 @@
<View style="@style/Divider.Vertical"/> <View style="@style/Divider.Vertical"/>
<com.google.android.material.chip.ChipGroup <com.google.android.material.chip.ChipGroup
android:id="@+id/format_chip_group"
android:layout_width="wrap_content" android:layout_width="wrap_content"
app:selectionRequired="false" app:selectionRequired="false"
app:singleSelection="true" app:singleSelection="true"

View file

@ -3,7 +3,6 @@
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/homecoordinator"
xmlns:android="http://schemas.android.com/apk/res/android"> xmlns:android="http://schemas.android.com/apk/res/android">
<com.google.android.material.search.SearchView <com.google.android.material.search.SearchView
@ -149,7 +148,6 @@
android:orientation="vertical"> android:orientation="vertical">
<LinearLayout <LinearLayout
android:id="@+id/shimmer_linear_layout"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_margin="10dp" android:layout_margin="10dp"

View file

@ -1,6 +1,5 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:app="http://schemas.android.com/apk/res-auto" <RelativeLayout xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/history_no_results"
xmlns:android="http://schemas.android.com/apk/res/android" xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools" xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent" android:layout_width="match_parent"

View file

@ -1,21 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<com.google.android.material.appbar.AppBarLayout android:id="@+id/home_appbarlayout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@null"
android:elevation="0dp"
app:elevation="0dp"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:liftOnScroll="true"
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<com.google.android.material.appbar.MaterialToolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:layout_scrollFlags="scroll"
app:title="@string/app_name" />
</com.google.android.material.appbar.AppBarLayout>

View file

@ -1,5 +1,4 @@
<androidx.constraintlayout.widget.ConstraintLayout xmlns:tools="http://schemas.android.com/tools" <androidx.constraintlayout.widget.ConstraintLayout android:layout_width="match_parent"
android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:app="http://schemas.android.com/apk/res-auto"
android:orientation="horizontal" android:orientation="horizontal"

View file

@ -1,14 +1,11 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:app="http://schemas.android.com/apk/res-auto" <androidx.constraintlayout.widget.ConstraintLayout xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/downloads_card_constraintLayout"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
xmlns:android="http://schemas.android.com/apk/res/android"> xmlns:android="http://schemas.android.com/apk/res/android">
<RelativeLayout <RelativeLayout
android:id="@+id/downloads_relative_layout" android:layout_width="0dp"
android:layout_width="0dp"
android:layout_height="0dp" android:layout_height="0dp"
app:layout_constraintDimensionRatio="H,2.66:1" app:layout_constraintDimensionRatio="H,2.66:1"
app:layout_constraintStart_toStartOf="parent" app:layout_constraintStart_toStartOf="parent"

View file

@ -1,119 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout android:id="@+id/downloads_shimmer_relative_layout"
android:layout_width="match_parent"
android:layout_height="150dp"
app:layout_constraintDimensionRatio="H,2.66:1"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:android="http://schemas.android.com/apk/res/android">
<androidx.cardview.widget.CardView
android:id="@+id/downloads_shimmer_card_view"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:cardCornerRadius="10dp"
app:cardElevation="10dp"
app:cardMaxElevation="12dp"
app:cardBackgroundColor="@color/black"
app:cardPreventCornerOverlap="true"
android:layout_margin="10dp">
<androidx.appcompat.widget.AppCompatImageView
android:id="@+id/downloads_shimmer_image_view"
android:adjustViewBounds="true"
android:scaleType="centerCrop"
android:layout_width="match_parent"
android:layout_height="match_parent" />
<TextView
android:id="@+id/downloads_shimmer_title"
android:layout_width="250dp"
android:background="@color/light_grey"
android:layout_height="10dp"
android:layout_marginTop="15dp"
android:layout_marginLeft="10dp"
android:paddingBottom="20dp"
android:paddingLeft="20dp"
/>
<TextView
android:id="@+id/downloads_shimmer_title2"
android:layout_width="150dp"
android:background="@color/light_grey"
android:layout_height="10dp"
android:layout_marginTop="30dp"
android:layout_marginLeft="10dp"
android:paddingBottom="20dp"
android:paddingLeft="20dp"
/>
<TextView
android:id="@+id/downloads_shimmer_bottom"
android:layout_width="100dp"
android:background="@color/light_grey"
android:layout_height="10dp"
android:layout_gravity="bottom"
android:gravity="bottom"
android:layout_marginBottom="10dp"
android:layout_marginLeft="10dp"
android:paddingBottom="20dp"
android:paddingLeft="20dp"
/>
<TextView
android:id="@+id/downloads_shimmer_date"
android:layout_width="100dp"
android:background="@color/light_grey"
android:layout_height="10dp"
android:layout_gravity="bottom|right"
android:gravity="bottom"
android:layout_marginBottom="10dp"
android:layout_marginRight="10dp"
android:paddingBottom="20dp"
android:paddingLeft="20dp"
/>
<TextView
android:id="@+id/downloads_shimmer_info_time"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="bottom|right"
android:paddingTop="10dp"
android:paddingRight="20dp"
android:paddingBottom="10dp"
android:paddingLeft="20dp"
android:textSize="12sp"
android:textColor="@color/white"
android:textStyle="bold"
android:shadowRadius="1.5"
android:shadowDx="4"
android:shadowDy="4"
android:shadowColor="@color/black" />
<LinearLayout
android:id="@+id/downloads_shimmer_download_button_layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center|right"
android:orientation="horizontal"
android:paddingBottom="10dp"
android:paddingLeft="20dp"
android:paddingRight="20dp">
<com.google.android.material.button.MaterialButton
style="@style/Widget.MaterialComponents.ExtendedFloatingActionButton.Icon"
android:id="@+id/downloads_shimmer_download_button_type"
android:layout_width="48dp"
android:layout_height="48dp"
app:cornerRadius="10dp"
android:layout_marginLeft="10dp"
/>
</LinearLayout>
</androidx.cardview.widget.CardView>
</RelativeLayout>

View file

@ -1,6 +1,5 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<FrameLayout android:id="@+id/downloads_element_bottom_sheet" <FrameLayout style="@style/Widget.Material3.BottomSheet"
style="@style/Widget.Material3.BottomSheet"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
app:layout_behavior="com.google.android.material.bottomsheet.BottomSheetBehavior" app:layout_behavior="com.google.android.material.bottomsheet.BottomSheetBehavior"
@ -18,7 +17,6 @@
android:padding="20dp"> android:padding="20dp">
<LinearLayout <LinearLayout
android:id="@+id/linearLayout4"
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:orientation="vertical" android:orientation="vertical"
@ -77,7 +75,6 @@
android:layout_height="wrap_content"> android:layout_height="wrap_content">
<com.google.android.material.chip.ChipGroup <com.google.android.material.chip.ChipGroup
android:id="@+id/linearLayout3"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_gravity="bottom" android:layout_gravity="bottom"

View file

@ -1,6 +1,5 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<FrameLayout android:id="@+id/downloads_element_bottom_sheet" <FrameLayout style="@style/Widget.Material3.BottomSheet"
style="@style/Widget.Material3.BottomSheet"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
app:layout_behavior="com.google.android.material.bottomsheet.BottomSheetBehavior" app:layout_behavior="com.google.android.material.bottomsheet.BottomSheetBehavior"

View file

@ -1,6 +1,5 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<com.google.android.material.chip.Chip xmlns:android="http://schemas.android.com/apk/res/android" <com.google.android.material.chip.Chip xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/input_chip"
style="@style/Widget.Material3.Chip.Input.Icon.Elevated" style="@style/Widget.Material3.Chip.Input.Icon.Elevated"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"

View file

@ -6,7 +6,6 @@
android:layout_height="match_parent"> android:layout_height="match_parent">
<TextView <TextView
android:id="@+id/textView"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="@string/please_wait" android:text="@string/please_wait"

View file

@ -1,13 +1,11 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:app="http://schemas.android.com/apk/res-auto" <androidx.constraintlayout.widget.ConstraintLayout xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/result_card_constraintLayout"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
xmlns:android="http://schemas.android.com/apk/res/android"> xmlns:android="http://schemas.android.com/apk/res/android">
<RelativeLayout <RelativeLayout
android:id="@+id/result_relative_layout"
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="0dp" android:layout_height="0dp"
app:layout_constraintDimensionRatio="H,16:9" app:layout_constraintDimensionRatio="H,16:9"

View file

@ -1,6 +1,5 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<RelativeLayout android:id="@+id/result_shimmer_relative_layout" <RelativeLayout android:layout_width="match_parent"
android:layout_width="match_parent"
android:layout_height="230dp" android:layout_height="230dp"
app:layout_constraintDimensionRatio="H,16:9" app:layout_constraintDimensionRatio="H,16:9"
app:layout_constraintStart_toStartOf="parent" app:layout_constraintStart_toStartOf="parent"
@ -10,7 +9,6 @@
xmlns:android="http://schemas.android.com/apk/res/android"> xmlns:android="http://schemas.android.com/apk/res/android">
<androidx.cardview.widget.CardView <androidx.cardview.widget.CardView
android:id="@+id/result_shimmer_card_view"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
app:cardCornerRadius="20dp" app:cardCornerRadius="20dp"
@ -22,12 +20,10 @@
> >
<androidx.appcompat.widget.AppCompatImageView <androidx.appcompat.widget.AppCompatImageView
android:id="@+id/result_shimmer_image_view"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" /> android:layout_height="match_parent" />
<TextView <TextView
android:id="@+id/result_shimmer_title"
android:layout_width="300dp" android:layout_width="300dp"
android:layout_height="10dp" android:layout_height="10dp"
android:layout_marginTop="20dp" android:layout_marginTop="20dp"

View file

@ -1,6 +1,5 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:app="http://schemas.android.com/apk/res-auto" <androidx.constraintlayout.widget.ConstraintLayout xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/search_suggestions_constraintLayout"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
xmlns:android="http://schemas.android.com/apk/res/android"> xmlns:android="http://schemas.android.com/apk/res/android">

View file

@ -46,7 +46,6 @@
<LinearLayout <LinearLayout
android:id="@+id/linearLayout"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:orientation="vertical" android:orientation="vertical"

View file

@ -1,6 +1,5 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<com.google.android.material.chip.Chip xmlns:android="http://schemas.android.com/apk/res/android" <com.google.android.material.chip.Chip xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/suggestion_chip"
style="@style/Widget.Material3.Chip.Suggestion.Elevated" style="@style/Widget.Material3.Chip.Suggestion.Elevated"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"

View file

@ -36,5 +36,5 @@
<item android:title="@string/settings" <item android:title="@string/settings"
android:checkable="true" android:checkable="true"
android:icon="@drawable/ic_settings" android:icon="@drawable/ic_settings"
android:id="@+id/settingsActivity"/> android:id="@+id/activitySettings"/>
</menu> </menu>

View file

@ -2,7 +2,6 @@
<navigation xmlns:android="http://schemas.android.com/apk/res/android" <navigation xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools" xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/nav_graph"
android:label="@string/more" android:label="@string/more"
app:startDestination="@id/homeFragment"> app:startDestination="@id/homeFragment">
@ -40,6 +39,9 @@
<action <action
android:id="@+id/action_moreFragment_to_commandTemplatesActivity" android:id="@+id/action_moreFragment_to_commandTemplatesActivity"
app:destination="@id/commandTemplatesActivity" /> app:destination="@id/commandTemplatesActivity" />
<action
android:id="@+id/action_moreFragment_to_settingsActivity2"
app:destination="@id/activitySettings" />
</fragment> </fragment>
<activity <activity
android:id="@+id/downloadQueueActivity" android:id="@+id/downloadQueueActivity"
@ -63,4 +65,9 @@
android:name="com.deniscerri.ytdlnis.ui.more.TerminalActivity" android:name="com.deniscerri.ytdlnis.ui.more.TerminalActivity"
android:label="activity_terminal" android:label="activity_terminal"
tools:layout="@layout/activity_terminal" /> tools:layout="@layout/activity_terminal" />
<activity
android:id="@+id/activitySettings"
android:name="com.deniscerri.ytdlnis.ui.more.settings.SettingsActivity"
android:label="activity_settings"
tools:layout="@layout/activity_settings" />
</navigation> </navigation>

View file

@ -1,8 +1,6 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<navigation xmlns:android="http://schemas.android.com/apk/res/android" <navigation xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/settings_nav_graph"
app:startDestination="@id/mainSettingsFragment"> app:startDestination="@id/mainSettingsFragment">
<fragment <fragment
android:id="@+id/appearanceSettingsFragment" android:id="@+id/appearanceSettingsFragment"

View file

@ -140,7 +140,6 @@
<string name="show_download_card">إظهار بطاقة تخصيص التحميل</string> <string name="show_download_card">إظهار بطاقة تخصيص التحميل</string>
<string name="download_card_summary">إعدادات لكيفية تحميل العناصر</string> <string name="download_card_summary">إعدادات لكيفية تحميل العناصر</string>
<string name="Open_File">فتح</string> <string name="Open_File">فتح</string>
<string name="delete_selected">إزالة المحدَدة</string>
<string name="delete_files_too">الحذف من الجهاز أيضًا</string> <string name="delete_files_too">الحذف من الجهاز أيضًا</string>
<string name="delete_file_too">الحذف من الجهاز أيضًا</string> <string name="delete_file_too">الحذف من الجهاز أيضًا</string>
<string name="you_are_going_to_delete_multiple_items">إزالة بعض العناصر…</string> <string name="you_are_going_to_delete_multiple_items">إزالة بعض العناصر…</string>
@ -167,7 +166,6 @@
<string name="access_all_directories">السماح بالوصول إلى كل المجلدات</string> <string name="access_all_directories">السماح بالوصول إلى كل المجلدات</string>
<string name="access_all_directories_summary">السماح بتنزيل التطبيق على المجلدات المقيدة إفتراضيًا</string> <string name="access_all_directories_summary">السماح بتنزيل التطبيق على المجلدات المقيدة إفتراضيًا</string>
<string name="redownload">إعادة التحميل</string> <string name="redownload">إعادة التحميل</string>
<string name="copy_url">نسخ الرابط</string>
<string name="in_queue">المنتظرة</string> <string name="in_queue">المنتظرة</string>
<string name="clear_cancelled">تنظيف الملغاة</string> <string name="clear_cancelled">تنظيف الملغاة</string>
<string name="clear_errored">تنظيف المتعطلة</string> <string name="clear_errored">تنظيف المتعطلة</string>
@ -186,14 +184,11 @@
<string name="cut">قص</string> <string name="cut">قص</string>
<string name="new_cut">قصٌ آخر</string> <string name="new_cut">قصٌ آخر</string>
<string name="add_template_first">يجب إنشاء قالب يحتوي أمر واحد على الأقل!</string> <string name="add_template_first">يجب إنشاء قالب يحتوي أمر واحد على الأقل!</string>
<string name="formatid_copied_to_clipboard">تم نسخ معرف التنسيق إلى الحافظة</string>
<string name="suggested">مقترحة</string> <string name="suggested">مقترحة</string>
<string name="select_all">تحديد الكل</string> <string name="select_all">تحديد الكل</string>
<string name="share">مشاركة</string> <string name="share">مشاركة</string>
<string name="cookies">ملفات تعريف الارتباط (الكوكيز)</string> <string name="cookies">ملفات تعريف الارتباط (الكوكيز)</string>
<string name="new_cookie">كوكيز جديدة</string> <string name="new_cookie">كوكيز جديدة</string>
<string name="cookie">ملف تعريف ارتباط</string>
<string name="create_cookie">إنشاء الكوكيز</string>
<string name="get_cookies">الحصول على الكوكيز</string> <string name="get_cookies">الحصول على الكوكيز</string>
<string name="delete_all_cookies">حذف كل الكوكيز</string> <string name="delete_all_cookies">حذف كل الكوكيز</string>
<string name="confirm_delete_cookies_desc">حذف كل الكوكيز، نهائيًا</string> <string name="confirm_delete_cookies_desc">حذف كل الكوكيز، نهائيًا</string>

View file

@ -82,7 +82,6 @@
<string name="show_download_card">Yükləmə üçün seçimlər göstər</string> <string name="show_download_card">Yükləmə üçün seçimlər göstər</string>
<string name="download_card_summary">Elementləri yükləmək üçün tənzimləmələr</string> <string name="download_card_summary">Elementləri yükləmək üçün tənzimləmələr</string>
<string name="Open_File">Faylı</string> <string name="Open_File">Faylı</string>
<string name="delete_selected">Seçiləni Sil</string>
<string name="you_are_going_to_delete_multiple_items">Çoxlu element silinir…</string> <string name="you_are_going_to_delete_multiple_items">Çoxlu element silinir…</string>
<string name="delete_file_too">Faylı cihazdan sil</string> <string name="delete_file_too">Faylı cihazdan sil</string>
<string name="delete_files_too">Faylları cihazdan sil</string> <string name="delete_files_too">Faylları cihazdan sil</string>
@ -151,7 +150,6 @@
<string name="selected">Seçildi</string> <string name="selected">Seçildi</string>
<string name="access_all_directories">Bütün kataloqlara girişə icazə ver</string> <string name="access_all_directories">Bütün kataloqlara girişə icazə ver</string>
<string name="redownload">Təkrar yüklə</string> <string name="redownload">Təkrar yüklə</string>
<string name="copy_url">URL-i Köçür</string>
<string name="in_queue">Növbədə</string> <string name="in_queue">Növbədə</string>
<string name="clear_cancelled">Ləğv ediləni təmizlə</string> <string name="clear_cancelled">Ləğv ediləni təmizlə</string>
<string name="access_all_directories_summary">Tətbiqin standart olaraq məhdudlaşdırılan qovluqlarda yükləməsinə icazə ver</string> <string name="access_all_directories_summary">Tətbiqin standart olaraq məhdudlaşdırılan qovluqlarda yükləməsinə icazə ver</string>
@ -185,7 +183,6 @@
<string name="ignore_battery_optimization">Batareya Optimallaşdırmasına Məhəl Qoyma</string> <string name="ignore_battery_optimization">Batareya Optimallaşdırmasına Məhəl Qoyma</string>
<string name="cut">Kəs</string> <string name="cut">Kəs</string>
<string name="new_cut">Yeni Kəsik</string> <string name="new_cut">Yeni Kəsik</string>
<string name="formatid_copied_to_clipboard">Format ID buferə nüsxələndi</string>
<string name="suggested">Təklif edilən</string> <string name="suggested">Təklif edilən</string>
<string name="add_template_first">Heç olmasa, bir əmr şablonu yaratmalısınız!</string> <string name="add_template_first">Heç olmasa, bir əmr şablonu yaratmalısınız!</string>
<string name="select_all">Hamısın Seç</string> <string name="select_all">Hamısın Seç</string>
@ -193,8 +190,6 @@
<string name="share">Paylaş</string> <string name="share">Paylaş</string>
<string name="cookies">Məlumat Bazaları</string> <string name="cookies">Məlumat Bazaları</string>
<string name="new_cookie">Yeni Məlumat Baza</string> <string name="new_cookie">Yeni Məlumat Baza</string>
<string name="cookie">Məlumat Bazası</string>
<string name="create_cookie">Məlumat Bazası Yarat</string>
<string name="get_cookies">Məlumatlar Əldə Et</string> <string name="get_cookies">Məlumatlar Əldə Et</string>
<string name="confirm_delete_cookies_desc">Bütün bazaları həmişəlik sil</string> <string name="confirm_delete_cookies_desc">Bütün bazaları həmişəlik sil</string>
<string name="download_over_metered_networks">Ölçülən Şəbəkələrlə yüklə</string> <string name="download_over_metered_networks">Ölçülən Şəbəkələrlə yüklə</string>

View file

@ -57,7 +57,6 @@
<string name="download">ডাউনলোড</string> <string name="download">ডাউনলোড</string>
<string name="video_quality">ভিডিও এর ধরন</string> <string name="video_quality">ভিডিও এর ধরন</string>
<string name="embed_subtitles">সাবটাইটেল এম্বেড করুন</string> <string name="embed_subtitles">সাবটাইটেল এম্বেড করুন</string>
<string name="delete_selected">নির্বাচিতগুলি মুছুন</string>
<string name="you_are_going_to_delete_multiple_items">একাধিক আইটেম মুছে ফেলা হচ্ছে…</string> <string name="you_are_going_to_delete_multiple_items">একাধিক আইটেম মুছে ফেলা হচ্ছে…</string>
<string name="delete_file_too">ডিভাইস থেকে ফাইল মুছুন</string> <string name="delete_file_too">ডিভাইস থেকে ফাইল মুছুন</string>
<string name="delete_files_too">ডিভাইস থেকে ফাইল মুছুন</string> <string name="delete_files_too">ডিভাইস থেকে ফাইল মুছুন</string>
@ -162,7 +161,6 @@
<string name="all_items_selected">সমস্ত আইটেম নির্বাচিত</string> <string name="all_items_selected">সমস্ত আইটেম নির্বাচিত</string>
<string name="access_all_directories">সমস্ত ডিরেক্টরিতে অ্যাক্সেসের অনুমতি দিন</string> <string name="access_all_directories">সমস্ত ডিরেক্টরিতে অ্যাক্সেসের অনুমতি দিন</string>
<string name="redownload">পুনরায় ডাউনলোড করুন</string> <string name="redownload">পুনরায় ডাউনলোড করুন</string>
<string name="copy_url">URL কপি করুন</string>
<string name="in_queue">কিউ তে আছে</string> <string name="in_queue">কিউ তে আছে</string>
<string name="clear_cancelled">সাফ করুন বাতিলগুলি</string> <string name="clear_cancelled">সাফ করুন বাতিলগুলি</string>
<string name="clear_errored">পরিষ্কার ত্রুটি</string> <string name="clear_errored">পরিষ্কার ত্রুটি</string>
@ -186,14 +184,11 @@
<string name="add_template_first">আপনার কমপক্ষে একটি কমান্ড টেমপ্লেট তৈরি করা দরকার!</string> <string name="add_template_first">আপনার কমপক্ষে একটি কমান্ড টেমপ্লেট তৈরি করা দরকার!</string>
<string name="suggested">প্রস্তাবিত</string> <string name="suggested">প্রস্তাবিত</string>
<string name="select_all">সব নির্বাচন করুন</string> <string name="select_all">সব নির্বাচন করুন</string>
<string name="formatid_copied_to_clipboard">ফর্ম্যাট আইডি ক্লিপবোর্ডে কপি করা হয়েছে</string>
<string name="update_formats_summary">ফর্ম্যাট কার্ডে ক্লিক করার সময় স্বয়ংক্রিয়ভাবে অনুপস্থিত ফর্ম্যাটগুলির জন্য অনুসন্ধান করুন৷</string> <string name="update_formats_summary">ফর্ম্যাট কার্ডে ক্লিক করার সময় স্বয়ংক্রিয়ভাবে অনুপস্থিত ফর্ম্যাটগুলির জন্য অনুসন্ধান করুন৷</string>
<string name="ignore_battery_optimization">ব্যাটারি অপ্টিমাইজেশান উপেক্ষা করুন</string> <string name="ignore_battery_optimization">ব্যাটারি অপ্টিমাইজেশান উপেক্ষা করুন</string>
<string name="share">শেয়ার করুন</string> <string name="share">শেয়ার করুন</string>
<string name="cookies">কুকি</string> <string name="cookies">কুকি</string>
<string name="new_cookie">নতুন কুকি</string> <string name="new_cookie">নতুন কুকি</string>
<string name="cookie">কুকি</string>
<string name="create_cookie">কুকি তৈরি করুন</string>
<string name="delete_all_cookies">সমস্ত কুকি মুছুন</string> <string name="delete_all_cookies">সমস্ত কুকি মুছুন</string>
<string name="confirm_delete_cookies_desc">সব কুকি স্থায়ীভাবে মুছুন</string> <string name="confirm_delete_cookies_desc">সব কুকি স্থায়ীভাবে মুছুন</string>
<string name="get_cookies">কুকিজ পান</string> <string name="get_cookies">কুকিজ পান</string>

View file

@ -56,7 +56,6 @@
<string name="add_chapter">Kapitel hinzufügen</string> <string name="add_chapter">Kapitel hinzufügen</string>
<string name="show_download_card">Optionen für das Herunterladen anzeigen</string> <string name="show_download_card">Optionen für das Herunterladen anzeigen</string>
<string name="download_card_summary">Einstellungen für das Herunterladen von Einträgen</string> <string name="download_card_summary">Einstellungen für das Herunterladen von Einträgen</string>
<string name="delete_selected">Ausgewählte löschen</string>
<string name="you_are_going_to_delete_multiple_items">Mehrere Objekte löschen…</string> <string name="you_are_going_to_delete_multiple_items">Mehrere Objekte löschen…</string>
<string name="delete_file_too">Löschen der Datei vom Gerät</string> <string name="delete_file_too">Löschen der Datei vom Gerät</string>
<string name="delete_files_too">Löschen der Dateien vom Gerät</string> <string name="delete_files_too">Löschen der Dateien vom Gerät</string>
@ -170,7 +169,6 @@
<string name="dont_ask_again">Frag nicht nochmal</string> <string name="dont_ask_again">Frag nicht nochmal</string>
<string name="end">Ende</string> <string name="end">Ende</string>
<string name="start">Start</string> <string name="start">Start</string>
<string name="copy_url">URL kopieren</string>
<string name="access_all_directories">Zugriff auf alle Verzeichnisse zulassen</string> <string name="access_all_directories">Zugriff auf alle Verzeichnisse zulassen</string>
<string name="access_all_directories_summary">Lassen Sie die App in Verzeichnisse herunterladen, die standardmäßig eingeschränkt sind</string> <string name="access_all_directories_summary">Lassen Sie die App in Verzeichnisse herunterladen, die standardmäßig eingeschränkt sind</string>
<string name="redownload">Neu herunterladen</string> <string name="redownload">Neu herunterladen</string>
@ -186,14 +184,11 @@
<string name="cut">Schnitt</string> <string name="cut">Schnitt</string>
<string name="new_cut">Neuer Schnitt</string> <string name="new_cut">Neuer Schnitt</string>
<string name="add_template_first">Sie müssen mindestens eine Befehlsvorlage erstellt haben!</string> <string name="add_template_first">Sie müssen mindestens eine Befehlsvorlage erstellt haben!</string>
<string name="formatid_copied_to_clipboard">Format-ID in die Zwischenablage kopiert</string>
<string name="suggested">Empfohlen</string> <string name="suggested">Empfohlen</string>
<string name="share">Teile</string> <string name="share">Teile</string>
<string name="cookies">Cookies</string> <string name="cookies">Cookies</string>
<string name="select_all">Alles Wählen</string> <string name="select_all">Alles Wählen</string>
<string name="new_cookie">Neuer Cookie</string> <string name="new_cookie">Neuer Cookie</string>
<string name="cookie">Cookie</string>
<string name="create_cookie">Cookie Erstellen</string>
<string name="get_cookies">Cookie Erhalten</string> <string name="get_cookies">Cookie Erhalten</string>
<string name="delete_all_cookies">Alle Cookies Löschen</string> <string name="delete_all_cookies">Alle Cookies Löschen</string>
<string name="confirm_delete_cookies_desc">Alle Cookies löschen, dauerhaft</string> <string name="confirm_delete_cookies_desc">Alle Cookies löschen, dauerhaft</string>

View file

@ -83,7 +83,6 @@
<string name="incognito_summary">Descargar sin agregar al historial</string> <string name="incognito_summary">Descargar sin agregar al historial</string>
<string name="author">Autor</string> <string name="author">Autor</string>
<string name="Open_File">Abrir Archivo</string> <string name="Open_File">Abrir Archivo</string>
<string name="delete_selected">Eliminar Selección</string>
<string name="warning">Advertencia</string> <string name="warning">Advertencia</string>
<string name="show_download_card">Mostrar Opciones de Descarga</string> <string name="show_download_card">Mostrar Opciones de Descarga</string>
<string name="download_card_summary">Ajustes de descargas</string> <string name="download_card_summary">Ajustes de descargas</string>
@ -146,7 +145,6 @@
<string name="items_imported">Elementos importados</string> <string name="items_imported">Elementos importados</string>
<string name="help_translate">Ayuda a la traducción</string> <string name="help_translate">Ayuda a la traducción</string>
<string name="redownload">Volver a descargar</string> <string name="redownload">Volver a descargar</string>
<string name="copy_url">Copiar la URL</string>
<string name="in_queue">En espera</string> <string name="in_queue">En espera</string>
<string name="clear_cancelled">Borrardo Cancelado</string> <string name="clear_cancelled">Borrardo Cancelado</string>
<string name="clear_errored">Error al borrar</string> <string name="clear_errored">Error al borrar</string>
@ -184,12 +182,9 @@
<string name="update_formats_summary">Busca automáticamente los formatos que faltan al hacer clic en la tarjeta de formato</string> <string name="update_formats_summary">Busca automáticamente los formatos que faltan al hacer clic en la tarjeta de formato</string>
<string name="ignore_battery_optimization">Ignorar la optimización de la batería</string> <string name="ignore_battery_optimization">Ignorar la optimización de la batería</string>
<string name="cut">Cortar</string> <string name="cut">Cortar</string>
<string name="formatid_copied_to_clipboard">El identificador del formato se copió en el portapapeles</string>
<string name="suggested">Sugerido</string> <string name="suggested">Sugerido</string>
<string name="select_all">Seleccionar todo</string> <string name="select_all">Seleccionar todo</string>
<string name="share">Compartir</string> <string name="share">Compartir</string>
<string name="cookie">Cookie</string>
<string name="create_cookie">Crear una Cookie</string>
<string name="new_cookie">Nueva Cookie</string> <string name="new_cookie">Nueva Cookie</string>
<string name="confirm_delete_cookies_desc">Borrar permanentemente toda las cookies</string> <string name="confirm_delete_cookies_desc">Borrar permanentemente toda las cookies</string>
<string name="add_template_first">¡Necesitas tener al menos una plantilla de comando creada!</string> <string name="add_template_first">¡Necesitas tener al menos una plantilla de comando creada!</string>

View file

@ -82,7 +82,6 @@
<string name="show_download_card">Afficher les options de téléchargement</string> <string name="show_download_card">Afficher les options de téléchargement</string>
<string name="download_card_summary">Paramètres de téléchargement des éléments</string> <string name="download_card_summary">Paramètres de téléchargement des éléments</string>
<string name="Open_File">Ouvrir le fichier</string> <string name="Open_File">Ouvrir le fichier</string>
<string name="delete_selected">Supprimer la sélection</string>
<string name="you_are_going_to_delete_multiple_items">Suppression de plusieurs éléments…</string> <string name="you_are_going_to_delete_multiple_items">Suppression de plusieurs éléments…</string>
<string name="delete_file_too">Supprimer le fichier de l\'appareil</string> <string name="delete_file_too">Supprimer le fichier de l\'appareil</string>
<string name="delete_files_too">Supprimer les fichiers de l\'appareil</string> <string name="delete_files_too">Supprimer les fichiers de l\'appareil</string>
@ -147,15 +146,12 @@
<string name="export_from_clipboard">Exporter vers le presse-papiers</string> <string name="export_from_clipboard">Exporter vers le presse-papiers</string>
<string name="import_from_clipboard">Importer depuis le presse-papiers</string> <string name="import_from_clipboard">Importer depuis le presse-papiers</string>
<string name="help_translate_summary">Traduisez cette application dans votre langue en utilisant Weblate</string> <string name="help_translate_summary">Traduisez cette application dans votre langue en utilisant Weblate</string>
<string name="cookie">Cookie</string>
<string name="dont_ask_again">Ne plus le redemander</string> <string name="dont_ask_again">Ne plus le redemander</string>
<string name="start">Commencer</string> <string name="start">Commencer</string>
<string name="restrict_filenames_summary">Limitez les noms de fichiers aux caractères ASCII et évitez les \"&amp;\" et les espaces dans les noms de fichiers</string> <string name="restrict_filenames_summary">Limitez les noms de fichiers aux caractères ASCII et évitez les \"&amp;\" et les espaces dans les noms de fichiers</string>
<string name="get_cookies">Obtenir des cookies</string> <string name="get_cookies">Obtenir des cookies</string>
<string name="formatid_copied_to_clipboard">Format ID copié dans le presse-papiers</string>
<string name="share">Partager</string> <string name="share">Partager</string>
<string name="cookies">Cookies</string> <string name="cookies">Cookies</string>
<string name="create_cookie">Créer un cookie</string>
<string name="new_cookie">Nouveau Cookie</string> <string name="new_cookie">Nouveau Cookie</string>
<string name="new_template">Nouveau modèle</string> <string name="new_template">Nouveau modèle</string>
<string name="adjust_templates">Ajuster les modèles</string> <string name="adjust_templates">Ajuster les modèles</string>
@ -191,7 +187,6 @@
<string name="redownload">Télécharger à nouveau</string> <string name="redownload">Télécharger à nouveau</string>
<string name="preferred_download_type_summary">Onglet par défaut dans lequel la carte de téléchargement s\'ouvrira</string> <string name="preferred_download_type_summary">Onglet par défaut dans lequel la carte de téléchargement s\'ouvrira</string>
<string name="confirm_delete_logs_desc">Supprimez définitivement la liste complète des journaux.</string> <string name="confirm_delete_logs_desc">Supprimez définitivement la liste complète des journaux.</string>
<string name="copy_url">Copier l\'URL</string>
<string name="clear_temporary_files">Effacer les fichiers temporaires</string> <string name="clear_temporary_files">Effacer les fichiers temporaires</string>
<string name="ytdl_version">Version d\'yt-dlp</string> <string name="ytdl_version">Version d\'yt-dlp</string>
<string name="ignore_battery_optimization">Ignorer loptimisation de la batterie</string> <string name="ignore_battery_optimization">Ignorer loptimisation de la batterie</string>

View file

@ -84,7 +84,6 @@
<string name="api_key">Gunakan Kunci API</string> <string name="api_key">Gunakan Kunci API</string>
<string name="ytdl_version">Versi yt-dlp</string> <string name="ytdl_version">Versi yt-dlp</string>
<string name="Open_File">Buka Berkas</string> <string name="Open_File">Buka Berkas</string>
<string name="delete_selected">Hapus yang Dipilih</string>
<string name="you_are_going_to_delete_multiple_items">Menghapus beberapa butir…</string> <string name="you_are_going_to_delete_multiple_items">Menghapus beberapa butir…</string>
<string name="delete_file_too">Hapus berkas dari perangkat</string> <string name="delete_file_too">Hapus berkas dari perangkat</string>
<string name="delete_files_too">Hapus berkas-berkas dari perangkat</string> <string name="delete_files_too">Hapus berkas-berkas dari perangkat</string>
@ -154,7 +153,6 @@
<string name="selected">Dipilih</string> <string name="selected">Dipilih</string>
<string name="all_items_selected">Semua butir dipilih</string> <string name="all_items_selected">Semua butir dipilih</string>
<string name="redownload">Unduh Ulang</string> <string name="redownload">Unduh Ulang</string>
<string name="copy_url">Salin URL</string>
<string name="in_queue">Di Antrean</string> <string name="in_queue">Di Antrean</string>
<string name="access_all_directories">Perbolehkan pengaksesan semua direktori</string> <string name="access_all_directories">Perbolehkan pengaksesan semua direktori</string>
<string name="clear_cancelled">Kosongkan yang Dibatalkan</string> <string name="clear_cancelled">Kosongkan yang Dibatalkan</string>
@ -183,11 +181,8 @@
<string name="ignore_battery_optimization">Abaikan Pengoptimalan Baterai</string> <string name="ignore_battery_optimization">Abaikan Pengoptimalan Baterai</string>
<string name="cut">Potong</string> <string name="cut">Potong</string>
<string name="new_cut">Potongan Baru</string> <string name="new_cut">Potongan Baru</string>
<string name="formatid_copied_to_clipboard">ID format disalin ke papan klip</string>
<string name="suggested">Dianjurkan</string> <string name="suggested">Dianjurkan</string>
<string name="delete_all_cookies">Hapus Semua Kuki</string> <string name="delete_all_cookies">Hapus Semua Kuki</string>
<string name="create_cookie">Buat Kuki</string>
<string name="cookie">Kuki</string>
<string name="new_cookie">Kuki Baru</string> <string name="new_cookie">Kuki Baru</string>
<string name="cookies">Kuki</string> <string name="cookies">Kuki</string>
<string name="share">Bagikan</string> <string name="share">Bagikan</string>

View file

@ -19,7 +19,6 @@
<string name="show_download_card">Mostra opzioni per il download</string> <string name="show_download_card">Mostra opzioni per il download</string>
<string name="download_card_summary">Impostazioni su come scaricare gli elementi</string> <string name="download_card_summary">Impostazioni su come scaricare gli elementi</string>
<string name="Open_File">Apri il file</string> <string name="Open_File">Apri il file</string>
<string name="delete_selected">Elimina selezionato</string>
<string name="delete_files_too">Elimina i file dal dispositivo</string> <string name="delete_files_too">Elimina i file dal dispositivo</string>
<string name="sponsorblock_intro">Introduzione</string> <string name="sponsorblock_intro">Introduzione</string>
<string name="select_sponsorblock_filtering">Selezionare Filtraggio SponsorBlock</string> <string name="select_sponsorblock_filtering">Selezionare Filtraggio SponsorBlock</string>

View file

@ -62,7 +62,6 @@
<string name="add_chapter">チャプターを追加</string> <string name="add_chapter">チャプターを追加</string>
<string name="show_download_card">ダウンロードオプションを表示</string> <string name="show_download_card">ダウンロードオプションを表示</string>
<string name="download_card_summary">アイテムをダウンロードする方法の設定</string> <string name="download_card_summary">アイテムをダウンロードする方法の設定</string>
<string name="delete_selected">選択項目を削除</string>
<string name="ytdl_updating_started">新しいバージョンをダウンロード中…</string> <string name="ytdl_updating_started">新しいバージョンをダウンロード中…</string>
<string name="you_are_going_to_delete_multiple_items">複数のアイテムを削除中…</string> <string name="you_are_going_to_delete_multiple_items">複数のアイテムを削除中…</string>
<string name="delete_file_too">デバイスからファイルを削除する</string> <string name="delete_file_too">デバイスからファイルを削除する</string>
@ -129,7 +128,6 @@
<string name="preferred_download_type">優先ダウンロード形式</string> <string name="preferred_download_type">優先ダウンロード形式</string>
<string name="selected">選択された</string> <string name="selected">選択された</string>
<string name="redownload">再ダウンロード</string> <string name="redownload">再ダウンロード</string>
<string name="copy_url">コピーURL</string>
<string name="workmanager_updated">この設定を有効にする、アプリを再起動しアクティブなダウンロードがない状態にする必要があります!</string> <string name="workmanager_updated">この設定を有効にする、アプリを再起動しアクティブなダウンロードがない状態にする必要があります!</string>
<string name="select">選択</string> <string name="select">選択</string>
<string name="confirm_delete_logs_desc">ログリスト全体を永久に削除する。</string> <string name="confirm_delete_logs_desc">ログリスト全体を永久に削除する。</string>

View file

@ -112,7 +112,6 @@
<string name="access_all_directories">Atļaut piekļuvi visiem direktorijiem</string> <string name="access_all_directories">Atļaut piekļuvi visiem direktorijiem</string>
<string name="access_all_directories_summary">Ļaut lietotnei lejupielādēt no direktorijiem, kas pēc noklusējuma ir ierobežoti</string> <string name="access_all_directories_summary">Ļaut lietotnei lejupielādēt no direktorijiem, kas pēc noklusējuma ir ierobežoti</string>
<string name="redownload">Atkārtoti Lejupielādēt</string> <string name="redownload">Atkārtoti Lejupielādēt</string>
<string name="copy_url">Kopēt URL</string>
<string name="in_queue">Rindā</string> <string name="in_queue">Rindā</string>
<string name="clear_cancelled">Notīrīt Atceltos</string> <string name="clear_cancelled">Notīrīt Atceltos</string>
<string name="split_by_chapters">Sadalīt Pēc Sadaļām</string> <string name="split_by_chapters">Sadalīt Pēc Sadaļām</string>
@ -156,7 +155,6 @@
<string name="Open_File">Atvērt Failu</string> <string name="Open_File">Atvērt Failu</string>
<string name="show_download_card">Rādīt Lejupielādes Opcijas</string> <string name="show_download_card">Rādīt Lejupielādes Opcijas</string>
<string name="download_card_summary">Iestatījumi, kā lejupielādēt vienumus</string> <string name="download_card_summary">Iestatījumi, kā lejupielādēt vienumus</string>
<string name="delete_selected">Dzēst Atlasīto</string>
<string name="edit_selected">Rediģēt atlasīto</string> <string name="edit_selected">Rediģēt atlasīto</string>
<string name="you_are_going_to_delete_multiple_items">Dzēš vairākus elementus…</string> <string name="you_are_going_to_delete_multiple_items">Dzēš vairākus elementus…</string>
<string name="defaultValue">Noklusējums</string> <string name="defaultValue">Noklusējums</string>
@ -191,12 +189,9 @@
<string name="share">Koplietot</string> <string name="share">Koplietot</string>
<string name="cookies">Sīkfaili</string> <string name="cookies">Sīkfaili</string>
<string name="new_cookie">Jauns Sīkfails</string> <string name="new_cookie">Jauns Sīkfails</string>
<string name="cookie">Sīkfails</string>
<string name="create_cookie">Izveidot Sīkfailu</string>
<string name="get_cookies">Iegūt Sīkfailus</string> <string name="get_cookies">Iegūt Sīkfailus</string>
<string name="delete_all_cookies">Dzēst Visus Sīkfailus</string> <string name="delete_all_cookies">Dzēst Visus Sīkfailus</string>
<string name="confirm_delete_cookies_desc">Neatgriezeniski dzēst visas sīkdatnes</string> <string name="confirm_delete_cookies_desc">Neatgriezeniski dzēst visas sīkdatnes</string>
<string name="formatid_copied_to_clipboard">Formāta ID kopēts starpliktuvē</string>
<string name="metered_network_download_start_info">Lejupielādes strādnieks sāks pēc tam, kad būsiet pieslēgti neierobežotam tīklam</string> <string name="metered_network_download_start_info">Lejupielādes strādnieks sāks pēc tam, kad būsiet pieslēgti neierobežotam tīklam</string>
<string name="invert_selected">Invertēt Atlasīto</string> <string name="invert_selected">Invertēt Atlasīto</string>
<string name="save_subs">Saglabāt Subtitrus</string> <string name="save_subs">Saglabāt Subtitrus</string>

View file

@ -1,6 +1,5 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<resources> <resources>
<string name="delete_selected">Slett valgte</string>
<string name="directories">Mapper</string> <string name="directories">Mapper</string>
<string name="music_directory">Musikkmappe</string> <string name="music_directory">Musikkmappe</string>
<string name="video_directory">Videomappe</string> <string name="video_directory">Videomappe</string>
@ -126,7 +125,6 @@
<string name="enable_mtime_summary">Sett «HTTP Last-Modified»-hode som siste endringstid</string> <string name="enable_mtime_summary">Sett «HTTP Last-Modified»-hode som siste endringstid</string>
<string name="running">Kjører</string> <string name="running">Kjører</string>
<string name="create_template">Opprett mal</string> <string name="create_template">Opprett mal</string>
<string name="copy_url">Kopier nettadresse</string>
<string name="in_queue">I kø</string> <string name="in_queue">I kø</string>
<string name="cancelled">Kansellert</string> <string name="cancelled">Kansellert</string>
<string name="errored">Feilaktig</string> <string name="errored">Feilaktig</string>
@ -183,7 +181,6 @@
<string name="link_you_copied">Lenke du kopierte</string> <string name="link_you_copied">Lenke du kopierte</string>
<string name="cut">Klipp ut</string> <string name="cut">Klipp ut</string>
<string name="new_cut">Nytt utklipp</string> <string name="new_cut">Nytt utklipp</string>
<string name="formatid_copied_to_clipboard">Format-ID kopiert til utklippstavlen</string>
<string name="select_all">Velg alle</string> <string name="select_all">Velg alle</string>
<string name="share">Del</string> <string name="share">Del</string>
<string name="kill_app">Avslutt program</string> <string name="kill_app">Avslutt program</string>
@ -191,8 +188,6 @@
<string name="suggested">Foreslått</string> <string name="suggested">Foreslått</string>
<string name="cookies">Informasjonskapsler</string> <string name="cookies">Informasjonskapsler</string>
<string name="new_cookie">Ny informasjonskapsel</string> <string name="new_cookie">Ny informasjonskapsel</string>
<string name="cookie">Informasjonskapsel</string>
<string name="create_cookie">Opprett informasjonskapsel</string>
<string name="confirm_delete_cookies_desc">Slett informasjonskapslene for godt</string> <string name="confirm_delete_cookies_desc">Slett informasjonskapslene for godt</string>
<string name="download_over_metered_networks">Nedlasting på kvotebaserte nettverk</string> <string name="download_over_metered_networks">Nedlasting på kvotebaserte nettverk</string>
<string name="invert_selected">Inverter utvalg</string> <string name="invert_selected">Inverter utvalg</string>

Some files were not shown because too many files have changed in this diff Show more