mirror of
https://github.com/libre-tube/LibreTube.git
synced 2025-04-27 23:40:33 +05:30
commit
41990b440e
@ -16,8 +16,8 @@ import com.github.libretube.constants.PIPED_GITHUB_URL
|
||||
import com.github.libretube.constants.WEBLATE_URL
|
||||
import com.github.libretube.constants.WEBSITE_URL
|
||||
import com.github.libretube.databinding.ActivityAboutBinding
|
||||
import com.github.libretube.extensions.BaseActivity
|
||||
import com.github.libretube.extensions.getStyledSnackBar
|
||||
import com.github.libretube.ui.base.BaseActivity
|
||||
import com.google.android.material.dialog.MaterialAlertDialogBuilder
|
||||
import com.google.android.material.snackbar.Snackbar
|
||||
|
||||
|
@ -9,7 +9,7 @@ import com.github.libretube.constants.REDDIT_URL
|
||||
import com.github.libretube.constants.TELEGRAM_URL
|
||||
import com.github.libretube.constants.TWITTER_URL
|
||||
import com.github.libretube.databinding.ActivityCommunityBinding
|
||||
import com.github.libretube.extensions.BaseActivity
|
||||
import com.github.libretube.ui.base.BaseActivity
|
||||
|
||||
class CommunityActivity : BaseActivity() {
|
||||
private lateinit var binding: ActivityCommunityBinding
|
||||
|
@ -25,12 +25,12 @@ import com.github.libretube.R
|
||||
import com.github.libretube.constants.IntentData
|
||||
import com.github.libretube.constants.PreferenceKeys
|
||||
import com.github.libretube.databinding.ActivityMainBinding
|
||||
import com.github.libretube.extensions.BaseActivity
|
||||
import com.github.libretube.extensions.toID
|
||||
import com.github.libretube.models.PlayerViewModel
|
||||
import com.github.libretube.models.SearchViewModel
|
||||
import com.github.libretube.models.SubscriptionsViewModel
|
||||
import com.github.libretube.services.ClosingService
|
||||
import com.github.libretube.ui.base.BaseActivity
|
||||
import com.github.libretube.ui.dialogs.ErrorDialog
|
||||
import com.github.libretube.ui.fragments.PlayerFragment
|
||||
import com.github.libretube.util.NavBarHelper
|
||||
|
@ -5,8 +5,8 @@ import android.os.Bundle
|
||||
import androidx.activity.OnBackPressedCallback
|
||||
import com.github.libretube.R
|
||||
import com.github.libretube.databinding.ActivityNointernetBinding
|
||||
import com.github.libretube.extensions.BaseActivity
|
||||
import com.github.libretube.extensions.getStyledSnackBar
|
||||
import com.github.libretube.ui.base.BaseActivity
|
||||
import com.github.libretube.ui.fragments.DownloadsFragment
|
||||
import com.github.libretube.util.NetworkHelper
|
||||
import com.github.libretube.util.ThemeHelper
|
||||
|
@ -12,7 +12,7 @@ import androidx.core.view.WindowInsetsControllerCompat
|
||||
import com.github.libretube.constants.IntentData
|
||||
import com.github.libretube.databinding.ActivityOfflinePlayerBinding
|
||||
import com.github.libretube.databinding.ExoStyledPlayerControlViewBinding
|
||||
import com.github.libretube.extensions.BaseActivity
|
||||
import com.github.libretube.ui.base.BaseActivity
|
||||
import com.github.libretube.util.DownloadHelper
|
||||
import com.google.android.exoplayer2.ExoPlayer
|
||||
import com.google.android.exoplayer2.MediaItem
|
||||
|
@ -7,8 +7,8 @@ import android.os.Bundle
|
||||
import android.util.Log
|
||||
import com.github.libretube.R
|
||||
import com.github.libretube.constants.IntentData
|
||||
import com.github.libretube.extensions.BaseActivity
|
||||
import com.github.libretube.extensions.TAG
|
||||
import com.github.libretube.ui.base.BaseActivity
|
||||
import com.github.libretube.util.ThemeHelper
|
||||
|
||||
class RouterActivity : BaseActivity() {
|
||||
|
@ -4,7 +4,7 @@ import android.os.Bundle
|
||||
import androidx.activity.OnBackPressedCallback
|
||||
import com.github.libretube.R
|
||||
import com.github.libretube.databinding.ActivitySettingsBinding
|
||||
import com.github.libretube.extensions.BaseActivity
|
||||
import com.github.libretube.ui.base.BaseActivity
|
||||
import com.github.libretube.ui.preferences.MainSettings
|
||||
|
||||
class SettingsActivity : BaseActivity() {
|
||||
|
@ -6,6 +6,7 @@ import android.view.ViewGroup
|
||||
import androidx.recyclerview.widget.RecyclerView
|
||||
import com.github.libretube.databinding.BottomSheetItemBinding
|
||||
import com.github.libretube.obj.BottomSheetItem
|
||||
import com.github.libretube.ui.viewholders.BottomSheetViewHolder
|
||||
|
||||
class BottomSheetAdapter(
|
||||
private val items: List<BottomSheetItem>,
|
||||
@ -42,7 +43,3 @@ class BottomSheetAdapter(
|
||||
return items.size
|
||||
}
|
||||
}
|
||||
|
||||
class BottomSheetViewHolder(
|
||||
val binding: BottomSheetItemBinding
|
||||
) : RecyclerView.ViewHolder(binding.root)
|
||||
|
@ -1,5 +1,6 @@
|
||||
package com.github.libretube.ui.adapters
|
||||
|
||||
import android.annotation.SuppressLint
|
||||
import android.text.format.DateUtils
|
||||
import android.view.LayoutInflater
|
||||
import android.view.ViewGroup
|
||||
@ -10,6 +11,7 @@ import com.github.libretube.extensions.formatShort
|
||||
import com.github.libretube.extensions.setWatchProgressLength
|
||||
import com.github.libretube.extensions.toID
|
||||
import com.github.libretube.sheets.VideoOptionsBottomSheet
|
||||
import com.github.libretube.ui.viewholders.ChannelViewHolder
|
||||
import com.github.libretube.util.ImageHelper
|
||||
import com.github.libretube.util.NavigationHelper
|
||||
|
||||
@ -35,6 +37,7 @@ class ChannelAdapter(
|
||||
return ChannelViewHolder(binding)
|
||||
}
|
||||
|
||||
@SuppressLint("SetTextI18n")
|
||||
override fun onBindViewHolder(holder: ChannelViewHolder, position: Int) {
|
||||
val trending = videoFeed[position]
|
||||
holder.binding.apply {
|
||||
@ -58,5 +61,3 @@ class ChannelAdapter(
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
class ChannelViewHolder(val binding: VideoRowBinding) : RecyclerView.ViewHolder(binding.root)
|
||||
|
@ -5,6 +5,7 @@ import android.view.LayoutInflater
|
||||
import android.view.ViewGroup
|
||||
import androidx.recyclerview.widget.RecyclerView
|
||||
import com.github.libretube.databinding.ChapterColumnBinding
|
||||
import com.github.libretube.ui.viewholders.ChaptersViewHolder
|
||||
import com.github.libretube.util.ImageHelper
|
||||
import com.github.libretube.util.ThemeHelper
|
||||
import com.google.android.exoplayer2.ExoPlayer
|
||||
@ -54,5 +55,3 @@ class ChaptersAdapter(
|
||||
return chapters.size
|
||||
}
|
||||
}
|
||||
|
||||
class ChaptersViewHolder(val binding: ChapterColumnBinding) : RecyclerView.ViewHolder(binding.root)
|
||||
|
@ -13,6 +13,7 @@ import com.github.libretube.api.obj.CommentsPage
|
||||
import com.github.libretube.databinding.CommentsRowBinding
|
||||
import com.github.libretube.extensions.TAG
|
||||
import com.github.libretube.extensions.formatShort
|
||||
import com.github.libretube.ui.viewholders.CommentsViewHolder
|
||||
import com.github.libretube.util.ImageHelper
|
||||
import com.github.libretube.util.NavigationHelper
|
||||
import kotlinx.coroutines.CoroutineScope
|
||||
@ -106,5 +107,3 @@ class CommentsAdapter(
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
class CommentsViewHolder(val binding: CommentsRowBinding) : RecyclerView.ViewHolder(binding.root)
|
||||
|
@ -10,6 +10,7 @@ import com.github.libretube.constants.IntentData
|
||||
import com.github.libretube.databinding.DownloadedMediaRowBinding
|
||||
import com.github.libretube.obj.DownloadedFile
|
||||
import com.github.libretube.ui.activities.OfflinePlayerActivity
|
||||
import com.github.libretube.ui.viewholders.DownloadsViewHolder
|
||||
import com.google.android.material.dialog.MaterialAlertDialogBuilder
|
||||
import java.io.File
|
||||
|
||||
@ -74,7 +75,3 @@ class DownloadsAdapter(
|
||||
return files.size
|
||||
}
|
||||
}
|
||||
|
||||
class DownloadsViewHolder(
|
||||
val binding: DownloadedMediaRowBinding
|
||||
) : RecyclerView.ViewHolder(binding.root)
|
||||
|
@ -5,6 +5,7 @@ import android.view.ViewGroup
|
||||
import androidx.recyclerview.widget.RecyclerView
|
||||
import com.github.libretube.databinding.LegacySubscriptionChannelBinding
|
||||
import com.github.libretube.extensions.toID
|
||||
import com.github.libretube.ui.viewholders.LegacySubscriptionViewHolder
|
||||
import com.github.libretube.util.ImageHelper
|
||||
import com.github.libretube.util.NavigationHelper
|
||||
|
||||
@ -42,7 +43,3 @@ class LegacySubscriptionAdapter(
|
||||
return subscriptions.size
|
||||
}
|
||||
}
|
||||
|
||||
class LegacySubscriptionViewHolder(
|
||||
val binding: LegacySubscriptionChannelBinding
|
||||
) : RecyclerView.ViewHolder(binding.root)
|
||||
|
@ -7,6 +7,7 @@ import androidx.recyclerview.widget.RecyclerView
|
||||
import com.github.libretube.R
|
||||
import com.github.libretube.databinding.NavOptionsItemBinding
|
||||
import com.github.libretube.obj.NavBarItem
|
||||
import com.github.libretube.ui.viewholders.NavBarOptionsViewHolder
|
||||
|
||||
class NavBarOptionsAdapter(
|
||||
val items: MutableList<NavBarItem>
|
||||
@ -49,7 +50,3 @@ class NavBarOptionsAdapter(
|
||||
return items.filter { it.isEnabled }.size
|
||||
}
|
||||
}
|
||||
|
||||
class NavBarOptionsViewHolder(
|
||||
val binding: NavOptionsItemBinding
|
||||
) : RecyclerView.ViewHolder(binding.root)
|
||||
|
@ -14,6 +14,7 @@ import com.github.libretube.extensions.setFormattedDuration
|
||||
import com.github.libretube.extensions.setWatchProgressLength
|
||||
import com.github.libretube.extensions.toID
|
||||
import com.github.libretube.sheets.VideoOptionsBottomSheet
|
||||
import com.github.libretube.ui.viewholders.PlaylistViewHolder
|
||||
import com.github.libretube.util.ImageHelper
|
||||
import com.github.libretube.util.NavigationHelper
|
||||
import com.github.libretube.util.PreferenceHelper
|
||||
@ -97,5 +98,3 @@ class PlaylistAdapter(
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
class PlaylistViewHolder(val binding: PlaylistRowBinding) : RecyclerView.ViewHolder(binding.root)
|
||||
|
@ -11,6 +11,7 @@ import com.github.libretube.api.RetrofitInstance
|
||||
import com.github.libretube.databinding.PlaylistsRowBinding
|
||||
import com.github.libretube.extensions.TAG
|
||||
import com.github.libretube.sheets.PlaylistOptionsBottomSheet
|
||||
import com.github.libretube.ui.viewholders.PlaylistsViewHolder
|
||||
import com.github.libretube.util.ImageHelper
|
||||
import com.github.libretube.util.NavigationHelper
|
||||
import com.github.libretube.util.PreferenceHelper
|
||||
@ -111,5 +112,3 @@ class PlaylistsAdapter(
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
class PlaylistsViewHolder(val binding: PlaylistsRowBinding) : RecyclerView.ViewHolder(binding.root)
|
||||
|
@ -1,11 +1,13 @@
|
||||
package com.github.libretube.ui.adapters
|
||||
|
||||
import android.annotation.SuppressLint
|
||||
import android.view.LayoutInflater
|
||||
import android.view.View
|
||||
import android.view.ViewGroup
|
||||
import androidx.recyclerview.widget.RecyclerView
|
||||
import com.github.libretube.databinding.RepliesRowBinding
|
||||
import com.github.libretube.extensions.formatShort
|
||||
import com.github.libretube.ui.viewholders.RepliesViewHolder
|
||||
import com.github.libretube.util.ImageHelper
|
||||
import com.github.libretube.util.NavigationHelper
|
||||
|
||||
@ -31,6 +33,7 @@ class RepliesAdapter(
|
||||
return RepliesViewHolder(binding)
|
||||
}
|
||||
|
||||
@SuppressLint("SetTextI18n")
|
||||
override fun onBindViewHolder(holder: RepliesViewHolder, position: Int) {
|
||||
holder.binding.apply {
|
||||
val reply = replies[position]
|
||||
@ -61,5 +64,3 @@ class RepliesAdapter(
|
||||
return replies.size
|
||||
}
|
||||
}
|
||||
|
||||
class RepliesViewHolder(val binding: RepliesRowBinding) : RecyclerView.ViewHolder(binding.root)
|
||||
|
@ -1,5 +1,6 @@
|
||||
package com.github.libretube.ui.adapters
|
||||
|
||||
import android.annotation.SuppressLint
|
||||
import android.view.LayoutInflater
|
||||
import android.view.View
|
||||
import android.view.ViewGroup
|
||||
@ -7,6 +8,7 @@ import androidx.fragment.app.FragmentManager
|
||||
import androidx.recyclerview.widget.RecyclerView
|
||||
import com.github.libretube.R
|
||||
import com.github.libretube.api.SubscriptionHelper
|
||||
import com.github.libretube.api.obj.SearchItem
|
||||
import com.github.libretube.databinding.ChannelRowBinding
|
||||
import com.github.libretube.databinding.PlaylistSearchRowBinding
|
||||
import com.github.libretube.databinding.VideoRowBinding
|
||||
@ -16,6 +18,7 @@ import com.github.libretube.extensions.setWatchProgressLength
|
||||
import com.github.libretube.extensions.toID
|
||||
import com.github.libretube.sheets.PlaylistOptionsBottomSheet
|
||||
import com.github.libretube.sheets.VideoOptionsBottomSheet
|
||||
import com.github.libretube.ui.viewholders.SearchViewHolder
|
||||
import com.github.libretube.util.ImageHelper
|
||||
import com.github.libretube.util.NavigationHelper
|
||||
import kotlinx.coroutines.CoroutineScope
|
||||
@ -23,12 +26,12 @@ import kotlinx.coroutines.Dispatchers
|
||||
import kotlinx.coroutines.launch
|
||||
|
||||
class SearchAdapter(
|
||||
private val searchItems: MutableList<com.github.libretube.api.obj.SearchItem>,
|
||||
private val searchItems: MutableList<SearchItem>,
|
||||
private val childFragmentManager: FragmentManager
|
||||
) :
|
||||
RecyclerView.Adapter<SearchViewHolder>() {
|
||||
|
||||
fun updateItems(newItems: List<com.github.libretube.api.obj.SearchItem>) {
|
||||
fun updateItems(newItems: List<SearchItem>) {
|
||||
val searchItemsSize = searchItems.size
|
||||
searchItems.addAll(newItems)
|
||||
notifyItemRangeInserted(searchItemsSize, newItems.size)
|
||||
@ -78,7 +81,7 @@ class SearchAdapter(
|
||||
}
|
||||
}
|
||||
|
||||
private fun bindWatch(item: com.github.libretube.api.obj.SearchItem, binding: VideoRowBinding) {
|
||||
private fun bindWatch(item: SearchItem, binding: VideoRowBinding) {
|
||||
binding.apply {
|
||||
ImageHelper.loadImage(item.thumbnail, thumbnail)
|
||||
thumbnailDuration.setFormattedDuration(item.duration!!)
|
||||
@ -109,8 +112,9 @@ class SearchAdapter(
|
||||
}
|
||||
}
|
||||
|
||||
@SuppressLint("SetTextI18n")
|
||||
private fun bindChannel(
|
||||
item: com.github.libretube.api.obj.SearchItem,
|
||||
item: SearchItem,
|
||||
binding: ChannelRowBinding
|
||||
) {
|
||||
binding.apply {
|
||||
@ -160,7 +164,7 @@ class SearchAdapter(
|
||||
}
|
||||
|
||||
private fun bindPlaylist(
|
||||
item: com.github.libretube.api.obj.SearchItem,
|
||||
item: SearchItem,
|
||||
binding: PlaylistSearchRowBinding
|
||||
) {
|
||||
binding.apply {
|
||||
@ -184,21 +188,3 @@ class SearchAdapter(
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
class SearchViewHolder : RecyclerView.ViewHolder {
|
||||
var videoRowBinding: VideoRowBinding? = null
|
||||
var channelRowBinding: ChannelRowBinding? = null
|
||||
var playlistRowBinding: PlaylistSearchRowBinding? = null
|
||||
|
||||
constructor(binding: VideoRowBinding) : super(binding.root) {
|
||||
videoRowBinding = binding
|
||||
}
|
||||
|
||||
constructor(binding: ChannelRowBinding) : super(binding.root) {
|
||||
channelRowBinding = binding
|
||||
}
|
||||
|
||||
constructor(binding: PlaylistSearchRowBinding) : super(binding.root) {
|
||||
playlistRowBinding = binding
|
||||
}
|
||||
}
|
||||
|
@ -8,6 +8,7 @@ import com.github.libretube.databinding.SearchhistoryRowBinding
|
||||
import com.github.libretube.db.DatabaseHolder.Companion.Database
|
||||
import com.github.libretube.db.obj.SearchHistoryItem
|
||||
import com.github.libretube.extensions.query
|
||||
import com.github.libretube.ui.viewholders.SearchHistoryViewHolder
|
||||
|
||||
class SearchHistoryAdapter(
|
||||
private var historyList: List<String>,
|
||||
@ -47,6 +48,3 @@ class SearchHistoryAdapter(
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
class SearchHistoryViewHolder(val binding: SearchhistoryRowBinding) :
|
||||
RecyclerView.ViewHolder(binding.root)
|
||||
|
@ -5,6 +5,7 @@ import android.view.ViewGroup
|
||||
import androidx.appcompat.widget.SearchView
|
||||
import androidx.recyclerview.widget.RecyclerView
|
||||
import com.github.libretube.databinding.SearchsuggestionRowBinding
|
||||
import com.github.libretube.ui.viewholders.SearchSuggestionsViewHolder
|
||||
|
||||
class SearchSuggestionsAdapter(
|
||||
private var suggestionsList: List<String>,
|
||||
@ -32,6 +33,3 @@ class SearchSuggestionsAdapter(
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
class SearchSuggestionsViewHolder(val binding: SearchsuggestionRowBinding) :
|
||||
RecyclerView.ViewHolder(binding.root)
|
||||
|
@ -7,6 +7,7 @@ import com.github.libretube.R
|
||||
import com.github.libretube.api.SubscriptionHelper
|
||||
import com.github.libretube.databinding.ChannelSubscriptionRowBinding
|
||||
import com.github.libretube.extensions.toID
|
||||
import com.github.libretube.ui.viewholders.SubscriptionChannelViewHolder
|
||||
import com.github.libretube.util.ImageHelper
|
||||
import com.github.libretube.util.NavigationHelper
|
||||
|
||||
@ -50,6 +51,3 @@ class SubscriptionChannelAdapter(private val subscriptions: MutableList<com.gith
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
class SubscriptionChannelViewHolder(val binding: ChannelSubscriptionRowBinding) :
|
||||
RecyclerView.ViewHolder(binding.root)
|
||||
|
@ -1,5 +1,6 @@
|
||||
package com.github.libretube.ui.adapters
|
||||
|
||||
import android.annotation.SuppressLint
|
||||
import android.text.format.DateUtils
|
||||
import android.view.LayoutInflater
|
||||
import android.view.ViewGroup
|
||||
@ -11,6 +12,7 @@ import com.github.libretube.extensions.setFormattedDuration
|
||||
import com.github.libretube.extensions.setWatchProgressLength
|
||||
import com.github.libretube.extensions.toID
|
||||
import com.github.libretube.sheets.VideoOptionsBottomSheet
|
||||
import com.github.libretube.ui.viewholders.SubscriptionViewHolder
|
||||
import com.github.libretube.util.ImageHelper
|
||||
import com.github.libretube.util.NavigationHelper
|
||||
|
||||
@ -44,6 +46,7 @@ class TrendingAdapter(
|
||||
return SubscriptionViewHolder(binding)
|
||||
}
|
||||
|
||||
@SuppressLint("SetTextI18n")
|
||||
override fun onBindViewHolder(holder: SubscriptionViewHolder, position: Int) {
|
||||
val trending = streamItems[position]
|
||||
holder.binding.apply {
|
||||
@ -71,6 +74,3 @@ class TrendingAdapter(
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
class SubscriptionViewHolder(val binding: TrendingRowBinding) :
|
||||
RecyclerView.ViewHolder(binding.root)
|
||||
|
@ -10,6 +10,7 @@ import com.github.libretube.db.obj.WatchHistoryItem
|
||||
import com.github.libretube.extensions.setFormattedDuration
|
||||
import com.github.libretube.extensions.setWatchProgressLength
|
||||
import com.github.libretube.sheets.VideoOptionsBottomSheet
|
||||
import com.github.libretube.ui.viewholders.WatchHistoryViewHolder
|
||||
import com.github.libretube.util.ImageHelper
|
||||
import com.github.libretube.util.NavigationHelper
|
||||
|
||||
@ -66,6 +67,3 @@ class WatchHistoryAdapter(
|
||||
return watchHistory.size
|
||||
}
|
||||
}
|
||||
|
||||
class WatchHistoryViewHolder(val binding: WatchHistoryRowBinding) :
|
||||
RecyclerView.ViewHolder(binding.root)
|
||||
|
@ -1,4 +1,4 @@
|
||||
package com.github.libretube.extensions
|
||||
package com.github.libretube.ui.base
|
||||
|
||||
import android.os.Bundle
|
||||
import androidx.appcompat.app.AppCompatActivity
|
@ -1,4 +1,4 @@
|
||||
package com.github.libretube.extensions
|
||||
package com.github.libretube.ui.base
|
||||
|
||||
import androidx.fragment.app.Fragment
|
||||
|
@ -1,4 +1,4 @@
|
||||
package com.github.libretube.ui.views
|
||||
package com.github.libretube.ui.base
|
||||
|
||||
import android.os.Bundle
|
||||
import androidx.preference.EditTextPreference
|
||||
@ -13,7 +13,7 @@ import com.google.android.material.dialog.MaterialAlertDialogBuilder
|
||||
/**
|
||||
* PreferenceFragmentCompat using the [MaterialAlertDialogBuilder] instead of the old dialog builder
|
||||
*/
|
||||
open class MaterialPreferenceFragment : PreferenceFragmentCompat() {
|
||||
open class BasePreferenceFragment : PreferenceFragmentCompat() {
|
||||
override fun onCreatePreferences(savedInstanceState: Bundle?, rootKey: String?) {}
|
||||
|
||||
override fun onDisplayPreferenceDialog(preference: Preference) {
|
@ -12,11 +12,11 @@ import com.github.libretube.api.RetrofitInstance
|
||||
import com.github.libretube.api.SubscriptionHelper
|
||||
import com.github.libretube.constants.IntentData
|
||||
import com.github.libretube.databinding.FragmentChannelBinding
|
||||
import com.github.libretube.extensions.BaseFragment
|
||||
import com.github.libretube.extensions.TAG
|
||||
import com.github.libretube.extensions.formatShort
|
||||
import com.github.libretube.extensions.toID
|
||||
import com.github.libretube.ui.adapters.ChannelAdapter
|
||||
import com.github.libretube.ui.base.BaseFragment
|
||||
import com.github.libretube.util.ImageHelper
|
||||
import retrofit2.HttpException
|
||||
import java.io.IOException
|
||||
|
@ -8,8 +8,8 @@ import androidx.core.view.size
|
||||
import androidx.recyclerview.widget.LinearLayoutManager
|
||||
import androidx.recyclerview.widget.RecyclerView
|
||||
import com.github.libretube.databinding.FragmentDownloadsBinding
|
||||
import com.github.libretube.extensions.BaseFragment
|
||||
import com.github.libretube.ui.adapters.DownloadsAdapter
|
||||
import com.github.libretube.ui.base.BaseFragment
|
||||
import com.github.libretube.util.DownloadHelper
|
||||
|
||||
class DownloadsFragment : BaseFragment() {
|
||||
|
@ -13,10 +13,10 @@ import com.github.libretube.R
|
||||
import com.github.libretube.api.RetrofitInstance
|
||||
import com.github.libretube.constants.PreferenceKeys
|
||||
import com.github.libretube.databinding.FragmentHomeBinding
|
||||
import com.github.libretube.extensions.BaseFragment
|
||||
import com.github.libretube.extensions.TAG
|
||||
import com.github.libretube.ui.adapters.ChannelAdapter
|
||||
import com.github.libretube.ui.adapters.TrendingAdapter
|
||||
import com.github.libretube.ui.base.BaseFragment
|
||||
import com.github.libretube.util.LocaleHelper
|
||||
import com.github.libretube.util.PreferenceHelper
|
||||
import retrofit2.HttpException
|
||||
|
@ -15,10 +15,10 @@ import com.github.libretube.R
|
||||
import com.github.libretube.api.RetrofitInstance
|
||||
import com.github.libretube.constants.PreferenceKeys
|
||||
import com.github.libretube.databinding.FragmentLibraryBinding
|
||||
import com.github.libretube.extensions.BaseFragment
|
||||
import com.github.libretube.extensions.TAG
|
||||
import com.github.libretube.models.PlayerViewModel
|
||||
import com.github.libretube.ui.adapters.PlaylistsAdapter
|
||||
import com.github.libretube.ui.base.BaseFragment
|
||||
import com.github.libretube.ui.dialogs.CreatePlaylistDialog
|
||||
import com.github.libretube.util.PreferenceHelper
|
||||
import retrofit2.HttpException
|
||||
|
@ -45,7 +45,6 @@ import com.github.libretube.databinding.ExoStyledPlayerControlViewBinding
|
||||
import com.github.libretube.databinding.FragmentPlayerBinding
|
||||
import com.github.libretube.db.DatabaseHelper
|
||||
import com.github.libretube.db.DatabaseHolder.Companion.Database
|
||||
import com.github.libretube.extensions.BaseFragment
|
||||
import com.github.libretube.extensions.TAG
|
||||
import com.github.libretube.extensions.awaitQuery
|
||||
import com.github.libretube.extensions.formatShort
|
||||
@ -60,6 +59,7 @@ import com.github.libretube.ui.activities.MainActivity
|
||||
import com.github.libretube.ui.adapters.ChaptersAdapter
|
||||
import com.github.libretube.ui.adapters.CommentsAdapter
|
||||
import com.github.libretube.ui.adapters.TrendingAdapter
|
||||
import com.github.libretube.ui.base.BaseFragment
|
||||
import com.github.libretube.ui.dialogs.AddToPlaylistDialog
|
||||
import com.github.libretube.ui.dialogs.DownloadDialog
|
||||
import com.github.libretube.ui.dialogs.ShareDialog
|
||||
|
@ -13,11 +13,11 @@ import com.github.libretube.R
|
||||
import com.github.libretube.api.RetrofitInstance
|
||||
import com.github.libretube.constants.IntentData
|
||||
import com.github.libretube.databinding.FragmentPlaylistBinding
|
||||
import com.github.libretube.extensions.BaseFragment
|
||||
import com.github.libretube.extensions.TAG
|
||||
import com.github.libretube.extensions.toID
|
||||
import com.github.libretube.sheets.PlaylistOptionsBottomSheet
|
||||
import com.github.libretube.ui.adapters.PlaylistAdapter
|
||||
import com.github.libretube.ui.base.BaseFragment
|
||||
import retrofit2.HttpException
|
||||
import java.io.IOException
|
||||
|
||||
|
@ -13,13 +13,13 @@ import com.github.libretube.R
|
||||
import com.github.libretube.api.RetrofitInstance
|
||||
import com.github.libretube.databinding.FragmentSearchBinding
|
||||
import com.github.libretube.db.DatabaseHolder.Companion.Database
|
||||
import com.github.libretube.extensions.BaseFragment
|
||||
import com.github.libretube.extensions.TAG
|
||||
import com.github.libretube.extensions.awaitQuery
|
||||
import com.github.libretube.models.SearchViewModel
|
||||
import com.github.libretube.ui.activities.MainActivity
|
||||
import com.github.libretube.ui.adapters.SearchHistoryAdapter
|
||||
import com.github.libretube.ui.adapters.SearchSuggestionsAdapter
|
||||
import com.github.libretube.ui.base.BaseFragment
|
||||
import retrofit2.HttpException
|
||||
import java.io.IOException
|
||||
|
||||
|
@ -14,11 +14,11 @@ import com.github.libretube.constants.PreferenceKeys
|
||||
import com.github.libretube.databinding.FragmentSearchResultBinding
|
||||
import com.github.libretube.db.DatabaseHelper
|
||||
import com.github.libretube.db.obj.SearchHistoryItem
|
||||
import com.github.libretube.extensions.BaseFragment
|
||||
import com.github.libretube.extensions.TAG
|
||||
import com.github.libretube.extensions.hideKeyboard
|
||||
import com.github.libretube.ui.activities.MainActivity
|
||||
import com.github.libretube.ui.adapters.SearchAdapter
|
||||
import com.github.libretube.ui.base.BaseFragment
|
||||
import com.github.libretube.util.PreferenceHelper
|
||||
import retrofit2.HttpException
|
||||
import java.io.IOException
|
||||
|
@ -12,11 +12,11 @@ import androidx.recyclerview.widget.LinearLayoutManager
|
||||
import com.github.libretube.R
|
||||
import com.github.libretube.constants.PreferenceKeys
|
||||
import com.github.libretube.databinding.FragmentSubscriptionsBinding
|
||||
import com.github.libretube.extensions.BaseFragment
|
||||
import com.github.libretube.models.SubscriptionsViewModel
|
||||
import com.github.libretube.ui.adapters.LegacySubscriptionAdapter
|
||||
import com.github.libretube.ui.adapters.SubscriptionChannelAdapter
|
||||
import com.github.libretube.ui.adapters.TrendingAdapter
|
||||
import com.github.libretube.ui.base.BaseFragment
|
||||
import com.github.libretube.ui.views.BottomSheet
|
||||
import com.github.libretube.util.PreferenceHelper
|
||||
|
||||
|
@ -9,9 +9,9 @@ import androidx.recyclerview.widget.LinearLayoutManager
|
||||
import androidx.recyclerview.widget.RecyclerView
|
||||
import com.github.libretube.databinding.FragmentWatchHistoryBinding
|
||||
import com.github.libretube.db.DatabaseHolder.Companion.Database
|
||||
import com.github.libretube.extensions.BaseFragment
|
||||
import com.github.libretube.extensions.awaitQuery
|
||||
import com.github.libretube.ui.adapters.WatchHistoryAdapter
|
||||
import com.github.libretube.ui.base.BaseFragment
|
||||
|
||||
class WatchHistoryFragment : BaseFragment() {
|
||||
private lateinit var binding: FragmentWatchHistoryBinding
|
||||
|
@ -11,14 +11,14 @@ import com.github.libretube.R
|
||||
import com.github.libretube.constants.PreferenceKeys
|
||||
import com.github.libretube.obj.BackupFile
|
||||
import com.github.libretube.ui.activities.SettingsActivity
|
||||
import com.github.libretube.ui.base.BasePreferenceFragment
|
||||
import com.github.libretube.ui.dialogs.BackupDialog
|
||||
import com.github.libretube.ui.views.MaterialPreferenceFragment
|
||||
import com.github.libretube.util.BackupHelper
|
||||
import com.github.libretube.util.ImageHelper
|
||||
import com.github.libretube.util.PreferenceHelper
|
||||
import com.google.android.material.dialog.MaterialAlertDialogBuilder
|
||||
|
||||
class AdvancedSettings : MaterialPreferenceFragment() {
|
||||
class AdvancedSettings : BasePreferenceFragment() {
|
||||
|
||||
// backup and restore database
|
||||
private lateinit var getBackupFile: ActivityResultLauncher<String>
|
||||
|
@ -11,13 +11,13 @@ import androidx.preference.SwitchPreferenceCompat
|
||||
import com.github.libretube.R
|
||||
import com.github.libretube.constants.PreferenceKeys
|
||||
import com.github.libretube.ui.activities.SettingsActivity
|
||||
import com.github.libretube.ui.base.BasePreferenceFragment
|
||||
import com.github.libretube.ui.dialogs.RequireRestartDialog
|
||||
import com.github.libretube.ui.views.MaterialPreferenceFragment
|
||||
import com.github.libretube.util.PreferenceHelper
|
||||
import com.github.libretube.util.ThemeHelper
|
||||
import com.google.android.material.color.DynamicColors
|
||||
|
||||
class AppearanceSettings : MaterialPreferenceFragment() {
|
||||
class AppearanceSettings : BasePreferenceFragment() {
|
||||
override fun onCreatePreferences(savedInstanceState: Bundle?, rootKey: String?) {
|
||||
setPreferencesFromResource(R.xml.appearance_settings, rootKey)
|
||||
|
||||
|
@ -3,9 +3,9 @@ package com.github.libretube.ui.preferences
|
||||
import android.os.Bundle
|
||||
import com.github.libretube.R
|
||||
import com.github.libretube.ui.activities.SettingsActivity
|
||||
import com.github.libretube.ui.views.MaterialPreferenceFragment
|
||||
import com.github.libretube.ui.base.BasePreferenceFragment
|
||||
|
||||
class AudioVideoSettings : MaterialPreferenceFragment() {
|
||||
class AudioVideoSettings : BasePreferenceFragment() {
|
||||
|
||||
override fun onCreatePreferences(savedInstanceState: Bundle?, rootKey: String?) {
|
||||
setPreferencesFromResource(R.xml.audio_video_settings, rootKey)
|
||||
|
@ -8,12 +8,12 @@ import androidx.preference.SwitchPreferenceCompat
|
||||
import com.github.libretube.R
|
||||
import com.github.libretube.constants.PreferenceKeys
|
||||
import com.github.libretube.ui.activities.SettingsActivity
|
||||
import com.github.libretube.ui.base.BasePreferenceFragment
|
||||
import com.github.libretube.ui.dialogs.NavBarOptionsDialog
|
||||
import com.github.libretube.ui.dialogs.RequireRestartDialog
|
||||
import com.github.libretube.ui.views.MaterialPreferenceFragment
|
||||
import com.github.libretube.util.PreferenceHelper
|
||||
|
||||
class GeneralSettings : MaterialPreferenceFragment() {
|
||||
class GeneralSettings : BasePreferenceFragment() {
|
||||
|
||||
override fun onCreatePreferences(savedInstanceState: Bundle?, rootKey: String?) {
|
||||
setPreferencesFromResource(R.xml.general_settings, rootKey)
|
||||
|
@ -7,10 +7,10 @@ import com.github.libretube.constants.PreferenceKeys
|
||||
import com.github.libretube.db.DatabaseHolder.Companion.Database
|
||||
import com.github.libretube.extensions.query
|
||||
import com.github.libretube.ui.activities.SettingsActivity
|
||||
import com.github.libretube.ui.views.MaterialPreferenceFragment
|
||||
import com.github.libretube.ui.base.BasePreferenceFragment
|
||||
import com.google.android.material.dialog.MaterialAlertDialogBuilder
|
||||
|
||||
class HistorySettings : MaterialPreferenceFragment() {
|
||||
class HistorySettings : BasePreferenceFragment() {
|
||||
|
||||
override fun onCreatePreferences(savedInstanceState: Bundle?, rootKey: String?) {
|
||||
setPreferencesFromResource(R.xml.history_settings, rootKey)
|
||||
|
@ -17,15 +17,15 @@ import com.github.libretube.constants.PreferenceKeys
|
||||
import com.github.libretube.db.DatabaseHolder.Companion.Database
|
||||
import com.github.libretube.extensions.awaitQuery
|
||||
import com.github.libretube.ui.activities.SettingsActivity
|
||||
import com.github.libretube.ui.base.BasePreferenceFragment
|
||||
import com.github.libretube.ui.dialogs.CustomInstanceDialog
|
||||
import com.github.libretube.ui.dialogs.DeleteAccountDialog
|
||||
import com.github.libretube.ui.dialogs.LoginDialog
|
||||
import com.github.libretube.ui.dialogs.LogoutDialog
|
||||
import com.github.libretube.ui.views.MaterialPreferenceFragment
|
||||
import com.github.libretube.util.ImportHelper
|
||||
import com.github.libretube.util.PreferenceHelper
|
||||
|
||||
class InstanceSettings : MaterialPreferenceFragment() {
|
||||
class InstanceSettings : BasePreferenceFragment() {
|
||||
|
||||
/**
|
||||
* result listeners for importing and exporting subscriptions
|
||||
|
@ -8,14 +8,14 @@ import com.github.libretube.R
|
||||
import com.github.libretube.api.RetrofitInstance
|
||||
import com.github.libretube.extensions.getStyledSnackBar
|
||||
import com.github.libretube.ui.activities.SettingsActivity
|
||||
import com.github.libretube.ui.base.BasePreferenceFragment
|
||||
import com.github.libretube.ui.dialogs.UpdateDialog
|
||||
import com.github.libretube.ui.views.MaterialPreferenceFragment
|
||||
import com.github.libretube.util.NetworkHelper
|
||||
import kotlinx.coroutines.CoroutineScope
|
||||
import kotlinx.coroutines.Dispatchers
|
||||
import kotlinx.coroutines.launch
|
||||
|
||||
class MainSettings : MaterialPreferenceFragment() {
|
||||
class MainSettings : BasePreferenceFragment() {
|
||||
|
||||
override fun onCreatePreferences(savedInstanceState: Bundle?, rootKey: String?) {
|
||||
setPreferencesFromResource(R.xml.settings, rootKey)
|
||||
|
@ -7,10 +7,10 @@ import androidx.work.ExistingPeriodicWorkPolicy
|
||||
import com.github.libretube.R
|
||||
import com.github.libretube.constants.PreferenceKeys
|
||||
import com.github.libretube.ui.activities.SettingsActivity
|
||||
import com.github.libretube.ui.views.MaterialPreferenceFragment
|
||||
import com.github.libretube.ui.base.BasePreferenceFragment
|
||||
import com.github.libretube.util.NotificationHelper
|
||||
|
||||
class NotificationSettings : MaterialPreferenceFragment() {
|
||||
class NotificationSettings : BasePreferenceFragment() {
|
||||
|
||||
override fun onCreatePreferences(savedInstanceState: Bundle?, rootKey: String?) {
|
||||
setPreferencesFromResource(R.xml.notification_settings, rootKey)
|
||||
|
@ -7,11 +7,11 @@ import androidx.preference.SwitchPreferenceCompat
|
||||
import com.github.libretube.R
|
||||
import com.github.libretube.constants.PreferenceKeys
|
||||
import com.github.libretube.ui.activities.SettingsActivity
|
||||
import com.github.libretube.ui.views.MaterialPreferenceFragment
|
||||
import com.github.libretube.ui.base.BasePreferenceFragment
|
||||
import com.github.libretube.util.PreferenceHelper
|
||||
import java.util.*
|
||||
|
||||
class PlayerSettings : MaterialPreferenceFragment() {
|
||||
class PlayerSettings : BasePreferenceFragment() {
|
||||
|
||||
override fun onCreatePreferences(savedInstanceState: Bundle?, rootKey: String?) {
|
||||
setPreferencesFromResource(R.xml.player_settings, rootKey)
|
||||
|
@ -3,9 +3,9 @@ package com.github.libretube.ui.preferences
|
||||
import android.os.Bundle
|
||||
import com.github.libretube.R
|
||||
import com.github.libretube.ui.activities.SettingsActivity
|
||||
import com.github.libretube.ui.views.MaterialPreferenceFragment
|
||||
import com.github.libretube.ui.base.BasePreferenceFragment
|
||||
|
||||
class SponsorBlockSettings : MaterialPreferenceFragment() {
|
||||
class SponsorBlockSettings : BasePreferenceFragment() {
|
||||
|
||||
override fun onCreatePreferences(savedInstanceState: Bundle?, rootKey: String?) {
|
||||
setPreferencesFromResource(R.xml.sponsorblock_settings, rootKey)
|
||||
|
@ -0,0 +1,8 @@
|
||||
package com.github.libretube.ui.viewholders
|
||||
|
||||
import androidx.recyclerview.widget.RecyclerView
|
||||
import com.github.libretube.databinding.BottomSheetItemBinding
|
||||
|
||||
class BottomSheetViewHolder(
|
||||
val binding: BottomSheetItemBinding
|
||||
) : RecyclerView.ViewHolder(binding.root)
|
@ -0,0 +1,8 @@
|
||||
package com.github.libretube.ui.viewholders
|
||||
|
||||
import androidx.recyclerview.widget.RecyclerView
|
||||
import com.github.libretube.databinding.VideoRowBinding
|
||||
|
||||
class ChannelViewHolder(
|
||||
val binding: VideoRowBinding
|
||||
) : RecyclerView.ViewHolder(binding.root)
|
@ -0,0 +1,6 @@
|
||||
package com.github.libretube.ui.viewholders
|
||||
|
||||
import androidx.recyclerview.widget.RecyclerView
|
||||
import com.github.libretube.databinding.ChapterColumnBinding
|
||||
|
||||
class ChaptersViewHolder(val binding: ChapterColumnBinding) : RecyclerView.ViewHolder(binding.root)
|
@ -0,0 +1,8 @@
|
||||
package com.github.libretube.ui.viewholders
|
||||
|
||||
import androidx.recyclerview.widget.RecyclerView
|
||||
import com.github.libretube.databinding.CommentsRowBinding
|
||||
|
||||
class CommentsViewHolder(
|
||||
val binding: CommentsRowBinding
|
||||
) : RecyclerView.ViewHolder(binding.root)
|
@ -0,0 +1,8 @@
|
||||
package com.github.libretube.ui.viewholders
|
||||
|
||||
import androidx.recyclerview.widget.RecyclerView
|
||||
import com.github.libretube.databinding.DownloadedMediaRowBinding
|
||||
|
||||
class DownloadsViewHolder(
|
||||
val binding: DownloadedMediaRowBinding
|
||||
) : RecyclerView.ViewHolder(binding.root)
|
@ -0,0 +1,8 @@
|
||||
package com.github.libretube.ui.viewholders
|
||||
|
||||
import androidx.recyclerview.widget.RecyclerView
|
||||
import com.github.libretube.databinding.LegacySubscriptionChannelBinding
|
||||
|
||||
class LegacySubscriptionViewHolder(
|
||||
val binding: LegacySubscriptionChannelBinding
|
||||
) : RecyclerView.ViewHolder(binding.root)
|
@ -0,0 +1,8 @@
|
||||
package com.github.libretube.ui.viewholders
|
||||
|
||||
import androidx.recyclerview.widget.RecyclerView
|
||||
import com.github.libretube.databinding.NavOptionsItemBinding
|
||||
|
||||
class NavBarOptionsViewHolder(
|
||||
val binding: NavOptionsItemBinding
|
||||
) : RecyclerView.ViewHolder(binding.root)
|
@ -0,0 +1,8 @@
|
||||
package com.github.libretube.ui.viewholders
|
||||
|
||||
import androidx.recyclerview.widget.RecyclerView
|
||||
import com.github.libretube.databinding.PlaylistRowBinding
|
||||
|
||||
class PlaylistViewHolder(
|
||||
val binding: PlaylistRowBinding
|
||||
) : RecyclerView.ViewHolder(binding.root)
|
@ -0,0 +1,8 @@
|
||||
package com.github.libretube.ui.viewholders
|
||||
|
||||
import androidx.recyclerview.widget.RecyclerView
|
||||
import com.github.libretube.databinding.PlaylistsRowBinding
|
||||
|
||||
class PlaylistsViewHolder(
|
||||
val binding: PlaylistsRowBinding
|
||||
) : RecyclerView.ViewHolder(binding.root)
|
@ -0,0 +1,8 @@
|
||||
package com.github.libretube.ui.viewholders
|
||||
|
||||
import androidx.recyclerview.widget.RecyclerView
|
||||
import com.github.libretube.databinding.RepliesRowBinding
|
||||
|
||||
class RepliesViewHolder(
|
||||
val binding: RepliesRowBinding
|
||||
) : RecyclerView.ViewHolder(binding.root)
|
@ -0,0 +1,8 @@
|
||||
package com.github.libretube.ui.viewholders
|
||||
|
||||
import androidx.recyclerview.widget.RecyclerView
|
||||
import com.github.libretube.databinding.SearchhistoryRowBinding
|
||||
|
||||
class SearchHistoryViewHolder(
|
||||
val binding: SearchhistoryRowBinding
|
||||
) : RecyclerView.ViewHolder(binding.root)
|
@ -0,0 +1,8 @@
|
||||
package com.github.libretube.ui.viewholders
|
||||
|
||||
import androidx.recyclerview.widget.RecyclerView
|
||||
import com.github.libretube.databinding.SearchsuggestionRowBinding
|
||||
|
||||
class SearchSuggestionsViewHolder(
|
||||
val binding: SearchsuggestionRowBinding
|
||||
) : RecyclerView.ViewHolder(binding.root)
|
@ -0,0 +1,24 @@
|
||||
package com.github.libretube.ui.viewholders
|
||||
|
||||
import androidx.recyclerview.widget.RecyclerView
|
||||
import com.github.libretube.databinding.ChannelRowBinding
|
||||
import com.github.libretube.databinding.PlaylistSearchRowBinding
|
||||
import com.github.libretube.databinding.VideoRowBinding
|
||||
|
||||
class SearchViewHolder : RecyclerView.ViewHolder {
|
||||
var videoRowBinding: VideoRowBinding? = null
|
||||
var channelRowBinding: ChannelRowBinding? = null
|
||||
var playlistRowBinding: PlaylistSearchRowBinding? = null
|
||||
|
||||
constructor(binding: VideoRowBinding) : super(binding.root) {
|
||||
videoRowBinding = binding
|
||||
}
|
||||
|
||||
constructor(binding: ChannelRowBinding) : super(binding.root) {
|
||||
channelRowBinding = binding
|
||||
}
|
||||
|
||||
constructor(binding: PlaylistSearchRowBinding) : super(binding.root) {
|
||||
playlistRowBinding = binding
|
||||
}
|
||||
}
|
@ -0,0 +1,8 @@
|
||||
package com.github.libretube.ui.viewholders
|
||||
|
||||
import androidx.recyclerview.widget.RecyclerView
|
||||
import com.github.libretube.databinding.ChannelSubscriptionRowBinding
|
||||
|
||||
class SubscriptionChannelViewHolder(
|
||||
val binding: ChannelSubscriptionRowBinding
|
||||
) : RecyclerView.ViewHolder(binding.root)
|
@ -0,0 +1,8 @@
|
||||
package com.github.libretube.ui.viewholders
|
||||
|
||||
import androidx.recyclerview.widget.RecyclerView
|
||||
import com.github.libretube.databinding.TrendingRowBinding
|
||||
|
||||
class SubscriptionViewHolder(
|
||||
val binding: TrendingRowBinding
|
||||
) : RecyclerView.ViewHolder(binding.root)
|
@ -0,0 +1,8 @@
|
||||
package com.github.libretube.ui.viewholders
|
||||
|
||||
import androidx.recyclerview.widget.RecyclerView
|
||||
import com.github.libretube.databinding.WatchHistoryRowBinding
|
||||
|
||||
class WatchHistoryViewHolder(
|
||||
val binding: WatchHistoryRowBinding
|
||||
) : RecyclerView.ViewHolder(binding.root)
|
@ -1,4 +1,4 @@
|
||||
package com.github.libretube.extensions
|
||||
package com.github.libretube.ui.views
|
||||
|
||||
import android.content.Context
|
||||
import android.util.AttributeSet
|
||||
@ -8,6 +8,7 @@ import com.github.libretube.R
|
||||
import com.github.libretube.constants.PreferenceKeys
|
||||
import com.github.libretube.constants.PreferenceRanges
|
||||
import com.github.libretube.databinding.DialogSliderBinding
|
||||
import com.github.libretube.extensions.setSliderRangeAndValue
|
||||
import com.github.libretube.util.PreferenceHelper
|
||||
import com.google.android.material.dialog.MaterialAlertDialogBuilder
|
||||
|
@ -70,7 +70,7 @@
|
||||
|
||||
<PreferenceCategory app:title="@string/background_mode">
|
||||
|
||||
<com.github.libretube.extensions.SliderPreference
|
||||
<com.github.libretube.ui.views.SliderPreference
|
||||
android:icon="@drawable/ic_speed"
|
||||
app:defaultValue="1.0"
|
||||
app:key="background_playback_speed"
|
||||
|
@ -4,7 +4,7 @@
|
||||
|
||||
<PreferenceCategory app:title="@string/player">
|
||||
|
||||
<com.github.libretube.extensions.SliderPreference
|
||||
<com.github.libretube.ui.views.SliderPreference
|
||||
android:icon="@drawable/ic_speed"
|
||||
app:defaultValue="1.0"
|
||||
app:key="playback_speed"
|
||||
|
Loading…
x
Reference in New Issue
Block a user