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