mirror of
https://github.com/libre-tube/LibreTube.git
synced 2025-04-29 08:20:32 +05:30
layout fixes
This commit is contained in:
parent
a85bf705db
commit
c21f553fa4
@ -9,7 +9,6 @@ const val GITHUB_API_URL = "https://api.github.com/repos/libre-tube/LibreTube/re
|
|||||||
* Links for the about fragment
|
* Links for the about fragment
|
||||||
*/
|
*/
|
||||||
const val WEBSITE_URL = "https://libre-tube.github.io/"
|
const val WEBSITE_URL = "https://libre-tube.github.io/"
|
||||||
const val DONATE_URL = "https://github.com/libre-tube/LibreTube#donate"
|
|
||||||
const val GITHUB_URL = "https://github.com/libre-tube/LibreTube"
|
const val GITHUB_URL = "https://github.com/libre-tube/LibreTube"
|
||||||
const val PIPED_GITHUB_URL = "https://github.com/TeamPiped/Piped"
|
const val PIPED_GITHUB_URL = "https://github.com/TeamPiped/Piped"
|
||||||
const val WEBLATE_URL = "https://hosted.weblate.org/projects/libretube/libretube/"
|
const val WEBLATE_URL = "https://hosted.weblate.org/projects/libretube/libretube/"
|
||||||
|
@ -27,13 +27,13 @@ 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.toID
|
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.services.ClosingService
|
||||||
import com.github.libretube.ui.base.BaseActivity
|
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.ui.models.PlayerViewModel
|
||||||
|
import com.github.libretube.ui.models.SearchViewModel
|
||||||
|
import com.github.libretube.ui.models.SubscriptionsViewModel
|
||||||
import com.github.libretube.ui.sheets.PlayingQueueSheet
|
import com.github.libretube.ui.sheets.PlayingQueueSheet
|
||||||
import com.github.libretube.util.NavBarHelper
|
import com.github.libretube.util.NavBarHelper
|
||||||
import com.github.libretube.util.NetworkHelper
|
import com.github.libretube.util.NetworkHelper
|
||||||
|
@ -20,6 +20,7 @@ import com.github.libretube.ui.viewholders.CommentsViewHolder
|
|||||||
import com.github.libretube.util.ClipboardHelper
|
import com.github.libretube.util.ClipboardHelper
|
||||||
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.TextUtils
|
||||||
import kotlinx.coroutines.CoroutineScope
|
import kotlinx.coroutines.CoroutineScope
|
||||||
import kotlinx.coroutines.Dispatchers
|
import kotlinx.coroutines.Dispatchers
|
||||||
import kotlinx.coroutines.launch
|
import kotlinx.coroutines.launch
|
||||||
@ -61,7 +62,7 @@ class CommentsAdapter(
|
|||||||
root.scaleY = 0.9f
|
root.scaleY = 0.9f
|
||||||
}
|
}
|
||||||
|
|
||||||
commentInfos.text = comment.author.toString() + " • " + comment.commentedTime.toString()
|
commentInfos.text = comment.author.toString() + TextUtils.SEPARATOR + comment.commentedTime.toString()
|
||||||
commentText.text = comment.commentText.toString()
|
commentText.text = comment.commentText.toString()
|
||||||
|
|
||||||
ImageHelper.loadImage(comment.thumbnail, commentorImage)
|
ImageHelper.loadImage(comment.thumbnail, commentorImage)
|
||||||
|
@ -13,6 +13,7 @@ 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.github.libretube.ui.viewholders.DownloadsViewHolder
|
||||||
import com.github.libretube.util.DownloadHelper
|
import com.github.libretube.util.DownloadHelper
|
||||||
|
import com.github.libretube.util.TextUtils
|
||||||
import com.google.android.material.dialog.MaterialAlertDialogBuilder
|
import com.google.android.material.dialog.MaterialAlertDialogBuilder
|
||||||
import java.io.File
|
import java.io.File
|
||||||
|
|
||||||
@ -39,7 +40,7 @@ class DownloadsAdapter(
|
|||||||
uploaderName.text = it.uploader
|
uploaderName.text = it.uploader
|
||||||
videoInfo.text = it.views.formatShort() + " " +
|
videoInfo.text = it.views.formatShort() + " " +
|
||||||
root.context.getString(R.string.views_placeholder) +
|
root.context.getString(R.string.views_placeholder) +
|
||||||
" • " + it.uploadDate
|
TextUtils.SEPARATOR + it.uploadDate
|
||||||
}
|
}
|
||||||
|
|
||||||
thumbnailImage.setImageBitmap(file.thumbnail)
|
thumbnailImage.setImageBitmap(file.thumbnail)
|
||||||
|
@ -21,6 +21,7 @@ import com.github.libretube.ui.sheets.VideoOptionsBottomSheet
|
|||||||
import com.github.libretube.ui.viewholders.SearchViewHolder
|
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 com.github.libretube.util.TextUtils
|
||||||
|
|
||||||
class SearchAdapter(
|
class SearchAdapter(
|
||||||
private val searchItems: MutableList<ContentItem>,
|
private val searchItems: MutableList<ContentItem>,
|
||||||
@ -121,7 +122,7 @@ class SearchAdapter(
|
|||||||
searchViews.text = root.context.getString(
|
searchViews.text = root.context.getString(
|
||||||
R.string.subscribers,
|
R.string.subscribers,
|
||||||
item.subscribers.formatShort()
|
item.subscribers.formatShort()
|
||||||
) + " • " + root.context.getString(R.string.videoCount, item.videos.toString())
|
) + TextUtils.SEPARATOR + root.context.getString(R.string.videoCount, item.videos.toString())
|
||||||
root.setOnClickListener {
|
root.setOnClickListener {
|
||||||
NavigationHelper.navigateChannel(root.context, item.url)
|
NavigationHelper.navigateChannel(root.context, item.url)
|
||||||
}
|
}
|
||||||
@ -137,8 +138,8 @@ class SearchAdapter(
|
|||||||
binding.apply {
|
binding.apply {
|
||||||
ImageHelper.loadImage(item.thumbnail, playlistThumbnail)
|
ImageHelper.loadImage(item.thumbnail, playlistThumbnail)
|
||||||
if (item.videos?.toInt() != -1) videoCount.text = item.videos.toString()
|
if (item.videos?.toInt() != -1) videoCount.text = item.videos.toString()
|
||||||
playlistDescription.text = item.name
|
playlistTitle.text = item.name
|
||||||
playlistTitle.text = item.uploaderName
|
playlistDescription.text = item.uploaderName
|
||||||
root.setOnClickListener {
|
root.setOnClickListener {
|
||||||
NavigationHelper.navigatePlaylist(root.context, item.url, false)
|
NavigationHelper.navigatePlaylist(root.context, item.url, false)
|
||||||
}
|
}
|
||||||
|
@ -21,6 +21,7 @@ import com.github.libretube.ui.viewholders.VideosViewHolder
|
|||||||
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
|
||||||
|
import com.github.libretube.util.TextUtils
|
||||||
|
|
||||||
class VideosAdapter(
|
class VideosAdapter(
|
||||||
private val streamItems: MutableList<StreamItem>,
|
private val streamItems: MutableList<StreamItem>,
|
||||||
@ -79,10 +80,10 @@ class VideosAdapter(
|
|||||||
holder.trendingRowBinding?.apply {
|
holder.trendingRowBinding?.apply {
|
||||||
textViewTitle.text = video.title
|
textViewTitle.text = video.title
|
||||||
textViewChannel.text =
|
textViewChannel.text =
|
||||||
video.uploaderName + " • " +
|
video.uploaderName + TextUtils.SEPARATOR +
|
||||||
video.views.formatShort() + " " +
|
video.views.formatShort() + " " +
|
||||||
root.context.getString(R.string.views_placeholder) +
|
root.context.getString(R.string.views_placeholder) +
|
||||||
" • " + video.uploaded?.let { DateUtils.getRelativeTimeSpanString(it) }
|
TextUtils.SEPARATOR + video.uploaded?.let { DateUtils.getRelativeTimeSpanString(it) }
|
||||||
video.duration?.let { thumbnailDuration.setFormattedDuration(it) }
|
video.duration?.let { thumbnailDuration.setFormattedDuration(it) }
|
||||||
channelImage.setOnClickListener {
|
channelImage.setOnClickListener {
|
||||||
NavigationHelper.navigateChannel(root.context, video.uploaderUrl)
|
NavigationHelper.navigateChannel(root.context, video.uploaderUrl)
|
||||||
@ -114,7 +115,7 @@ class VideosAdapter(
|
|||||||
videoInfo.text =
|
videoInfo.text =
|
||||||
video.views.formatShort() + " " +
|
video.views.formatShort() + " " +
|
||||||
root.context.getString(R.string.views_placeholder) +
|
root.context.getString(R.string.views_placeholder) +
|
||||||
" • " + video.uploaded?.let { DateUtils.getRelativeTimeSpanString(it) }
|
TextUtils.SEPARATOR + video.uploaded?.let { DateUtils.getRelativeTimeSpanString(it) }
|
||||||
|
|
||||||
thumbnailDuration.text =
|
thumbnailDuration.text =
|
||||||
video.duration?.let { DateUtils.formatElapsedTime(it) }
|
video.duration?.let { DateUtils.formatElapsedTime(it) }
|
||||||
|
@ -16,7 +16,7 @@ import com.github.libretube.constants.IntentData
|
|||||||
import com.github.libretube.databinding.DialogAddtoplaylistBinding
|
import com.github.libretube.databinding.DialogAddtoplaylistBinding
|
||||||
import com.github.libretube.extensions.TAG
|
import com.github.libretube.extensions.TAG
|
||||||
import com.github.libretube.extensions.toastFromMainThread
|
import com.github.libretube.extensions.toastFromMainThread
|
||||||
import com.github.libretube.models.PlaylistViewModel
|
import com.github.libretube.ui.models.PlaylistViewModel
|
||||||
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.dialog.MaterialAlertDialogBuilder
|
import com.google.android.material.dialog.MaterialAlertDialogBuilder
|
||||||
|
@ -17,10 +17,10 @@ import com.github.libretube.constants.PreferenceKeys
|
|||||||
import com.github.libretube.databinding.FragmentLibraryBinding
|
import com.github.libretube.databinding.FragmentLibraryBinding
|
||||||
import com.github.libretube.extensions.TAG
|
import com.github.libretube.extensions.TAG
|
||||||
import com.github.libretube.extensions.toDp
|
import com.github.libretube.extensions.toDp
|
||||||
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.base.BaseFragment
|
||||||
import com.github.libretube.ui.dialogs.CreatePlaylistDialog
|
import com.github.libretube.ui.dialogs.CreatePlaylistDialog
|
||||||
|
import com.github.libretube.ui.models.PlayerViewModel
|
||||||
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
|
||||||
|
@ -55,8 +55,6 @@ import com.github.libretube.extensions.query
|
|||||||
import com.github.libretube.extensions.setupSubscriptionButton
|
import com.github.libretube.extensions.setupSubscriptionButton
|
||||||
import com.github.libretube.extensions.toID
|
import com.github.libretube.extensions.toID
|
||||||
import com.github.libretube.extensions.toStreamItem
|
import com.github.libretube.extensions.toStreamItem
|
||||||
import com.github.libretube.models.PlayerViewModel
|
|
||||||
import com.github.libretube.models.interfaces.OnlinePlayerOptions
|
|
||||||
import com.github.libretube.obj.ShareData
|
import com.github.libretube.obj.ShareData
|
||||||
import com.github.libretube.services.BackgroundMode
|
import com.github.libretube.services.BackgroundMode
|
||||||
import com.github.libretube.services.DownloadService
|
import com.github.libretube.services.DownloadService
|
||||||
@ -68,6 +66,8 @@ 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
|
||||||
|
import com.github.libretube.ui.interfaces.OnlinePlayerOptions
|
||||||
|
import com.github.libretube.ui.models.PlayerViewModel
|
||||||
import com.github.libretube.ui.sheets.BaseBottomSheet
|
import com.github.libretube.ui.sheets.BaseBottomSheet
|
||||||
import com.github.libretube.ui.sheets.PlayingQueueSheet
|
import com.github.libretube.ui.sheets.PlayingQueueSheet
|
||||||
import com.github.libretube.util.BackgroundHelper
|
import com.github.libretube.util.BackgroundHelper
|
||||||
@ -76,6 +76,7 @@ import com.github.libretube.util.NowPlayingNotification
|
|||||||
import com.github.libretube.util.PlayerHelper
|
import com.github.libretube.util.PlayerHelper
|
||||||
import com.github.libretube.util.PlayingQueue
|
import com.github.libretube.util.PlayingQueue
|
||||||
import com.github.libretube.util.PreferenceHelper
|
import com.github.libretube.util.PreferenceHelper
|
||||||
|
import com.github.libretube.util.TextUtils
|
||||||
import com.google.android.exoplayer2.C
|
import com.google.android.exoplayer2.C
|
||||||
import com.google.android.exoplayer2.DefaultLoadControl
|
import com.google.android.exoplayer2.DefaultLoadControl
|
||||||
import com.google.android.exoplayer2.ExoPlayer
|
import com.google.android.exoplayer2.ExoPlayer
|
||||||
@ -765,7 +766,7 @@ class PlayerFragment : BaseFragment(), OnlinePlayerOptions {
|
|||||||
binding.apply {
|
binding.apply {
|
||||||
playerViewsInfo.text =
|
playerViewsInfo.text =
|
||||||
context?.getString(R.string.views, response.views.formatShort()) +
|
context?.getString(R.string.views, response.views.formatShort()) +
|
||||||
if (!isLive) " • " + response.uploadDate else ""
|
if (!isLive) TextUtils.SEPARATOR + response.uploadDate else ""
|
||||||
|
|
||||||
textLike.text = response.likes.formatShort()
|
textLike.text = response.likes.formatShort()
|
||||||
textDislike.text = response.dislikes.formatShort()
|
textDislike.text = response.dislikes.formatShort()
|
||||||
|
@ -24,6 +24,7 @@ import com.github.libretube.ui.dialogs.ShareDialog
|
|||||||
import com.github.libretube.ui.sheets.PlaylistOptionsBottomSheet
|
import com.github.libretube.ui.sheets.PlaylistOptionsBottomSheet
|
||||||
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.TextUtils
|
||||||
import retrofit2.HttpException
|
import retrofit2.HttpException
|
||||||
import java.io.IOException
|
import java.io.IOException
|
||||||
|
|
||||||
@ -89,7 +90,7 @@ class PlaylistFragment : BaseFragment() {
|
|||||||
ImageHelper.loadImage(response.thumbnailUrl, binding.thumbnail)
|
ImageHelper.loadImage(response.thumbnailUrl, binding.thumbnail)
|
||||||
binding.playlistProgress.visibility = View.GONE
|
binding.playlistProgress.visibility = View.GONE
|
||||||
binding.playlistName.text = response.name
|
binding.playlistName.text = response.name
|
||||||
binding.playlistInfo.text = response.uploader + " • " + getString(R.string.videoCount, response.videos.toString())
|
binding.playlistInfo.text = response.uploader + TextUtils.SEPARATOR + getString(R.string.videoCount, response.videos.toString())
|
||||||
|
|
||||||
// show playlist options
|
// show playlist options
|
||||||
binding.optionsMenu.setOnClickListener {
|
binding.optionsMenu.setOnClickListener {
|
||||||
@ -127,7 +128,7 @@ class PlaylistFragment : BaseFragment() {
|
|||||||
RecyclerView.AdapterDataObserver() {
|
RecyclerView.AdapterDataObserver() {
|
||||||
override fun onChanged() {
|
override fun onChanged() {
|
||||||
binding.playlistInfo.text =
|
binding.playlistInfo.text =
|
||||||
binding.playlistInfo.text.split(" • ").first() + " • " + getString(
|
binding.playlistInfo.text.split(TextUtils.SEPARATOR).first() + TextUtils.SEPARATOR + getString(
|
||||||
R.string.videoCount,
|
R.string.videoCount,
|
||||||
playlistAdapter!!.itemCount.toString()
|
playlistAdapter!!.itemCount.toString()
|
||||||
)
|
)
|
||||||
|
@ -15,11 +15,11 @@ 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.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.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 com.github.libretube.ui.base.BaseFragment
|
||||||
|
import com.github.libretube.ui.models.SearchViewModel
|
||||||
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.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.VideosAdapter
|
import com.github.libretube.ui.adapters.VideosAdapter
|
||||||
import com.github.libretube.ui.base.BaseFragment
|
import com.github.libretube.ui.base.BaseFragment
|
||||||
|
import com.github.libretube.ui.models.SubscriptionsViewModel
|
||||||
import com.github.libretube.ui.sheets.BaseBottomSheet
|
import com.github.libretube.ui.sheets.BaseBottomSheet
|
||||||
import com.github.libretube.util.LayoutHelper
|
import com.github.libretube.util.LayoutHelper
|
||||||
import com.github.libretube.util.PreferenceHelper
|
import com.github.libretube.util.PreferenceHelper
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
package com.github.libretube.models.interfaces
|
package com.github.libretube.ui.interfaces
|
||||||
|
|
||||||
interface DoubleTapInterface {
|
interface DoubleTapInterface {
|
||||||
fun onEvent(x: Float)
|
fun onEvent(x: Float)
|
@ -1,4 +1,4 @@
|
|||||||
package com.github.libretube.util
|
package com.github.libretube.ui.interfaces
|
||||||
|
|
||||||
import android.os.Handler
|
import android.os.Handler
|
||||||
import android.os.Looper
|
import android.os.Looper
|
@ -1,4 +1,4 @@
|
|||||||
package com.github.libretube.models.interfaces
|
package com.github.libretube.ui.interfaces
|
||||||
|
|
||||||
interface OnlinePlayerOptions {
|
interface OnlinePlayerOptions {
|
||||||
fun onCaptionsClicked()
|
fun onCaptionsClicked()
|
@ -1,4 +1,4 @@
|
|||||||
package com.github.libretube.models.interfaces
|
package com.github.libretube.ui.interfaces
|
||||||
|
|
||||||
interface PlayerOptions {
|
interface PlayerOptions {
|
||||||
fun onAutoplayClicked()
|
fun onAutoplayClicked()
|
@ -1,4 +1,4 @@
|
|||||||
package com.github.libretube.models
|
package com.github.libretube.ui.models
|
||||||
|
|
||||||
import androidx.lifecycle.MutableLiveData
|
import androidx.lifecycle.MutableLiveData
|
||||||
import androidx.lifecycle.ViewModel
|
import androidx.lifecycle.ViewModel
|
@ -1,4 +1,4 @@
|
|||||||
package com.github.libretube.models
|
package com.github.libretube.ui.models
|
||||||
|
|
||||||
import androidx.lifecycle.ViewModel
|
import androidx.lifecycle.ViewModel
|
||||||
|
|
@ -1,4 +1,4 @@
|
|||||||
package com.github.libretube.models
|
package com.github.libretube.ui.models
|
||||||
|
|
||||||
import androidx.lifecycle.MutableLiveData
|
import androidx.lifecycle.MutableLiveData
|
||||||
import androidx.lifecycle.ViewModel
|
import androidx.lifecycle.ViewModel
|
@ -1,4 +1,4 @@
|
|||||||
package com.github.libretube.models
|
package com.github.libretube.ui.models
|
||||||
|
|
||||||
import android.util.Log
|
import android.util.Log
|
||||||
import androidx.lifecycle.MutableLiveData
|
import androidx.lifecycle.MutableLiveData
|
@ -13,14 +13,14 @@ import com.github.libretube.R
|
|||||||
import com.github.libretube.databinding.DoubleTapOverlayBinding
|
import com.github.libretube.databinding.DoubleTapOverlayBinding
|
||||||
import com.github.libretube.databinding.ExoStyledPlayerControlViewBinding
|
import com.github.libretube.databinding.ExoStyledPlayerControlViewBinding
|
||||||
import com.github.libretube.extensions.toDp
|
import com.github.libretube.extensions.toDp
|
||||||
import com.github.libretube.models.interfaces.DoubleTapInterface
|
|
||||||
import com.github.libretube.models.interfaces.OnlinePlayerOptions
|
|
||||||
import com.github.libretube.models.interfaces.PlayerOptions
|
|
||||||
import com.github.libretube.obj.BottomSheetItem
|
import com.github.libretube.obj.BottomSheetItem
|
||||||
import com.github.libretube.ui.activities.MainActivity
|
import com.github.libretube.ui.activities.MainActivity
|
||||||
|
import com.github.libretube.ui.interfaces.DoubleTapInterface
|
||||||
|
import com.github.libretube.ui.interfaces.DoubleTapListener
|
||||||
|
import com.github.libretube.ui.interfaces.OnlinePlayerOptions
|
||||||
|
import com.github.libretube.ui.interfaces.PlayerOptions
|
||||||
import com.github.libretube.ui.sheets.BaseBottomSheet
|
import com.github.libretube.ui.sheets.BaseBottomSheet
|
||||||
import com.github.libretube.ui.sheets.PlaybackSpeedSheet
|
import com.github.libretube.ui.sheets.PlaybackSpeedSheet
|
||||||
import com.github.libretube.util.DoubleTapListener
|
|
||||||
import com.github.libretube.util.PlayerHelper
|
import com.github.libretube.util.PlayerHelper
|
||||||
import com.google.android.exoplayer2.PlaybackParameters
|
import com.google.android.exoplayer2.PlaybackParameters
|
||||||
import com.google.android.exoplayer2.trackselection.TrackSelector
|
import com.google.android.exoplayer2.trackselection.TrackSelector
|
||||||
|
8
app/src/main/java/com/github/libretube/util/TextUtils.kt
Normal file
8
app/src/main/java/com/github/libretube/util/TextUtils.kt
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
package com.github.libretube.util
|
||||||
|
|
||||||
|
object TextUtils {
|
||||||
|
/**
|
||||||
|
* Separator used for descriptions
|
||||||
|
*/
|
||||||
|
const val SEPARATOR = " • "
|
||||||
|
}
|
@ -75,6 +75,9 @@
|
|||||||
android:layout_width="0dp"
|
android:layout_width="0dp"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_marginStart="8dp"
|
android:layout_marginStart="8dp"
|
||||||
|
android:ellipsize="end"
|
||||||
|
android:maxLines="2"
|
||||||
|
android:textSize="14sp"
|
||||||
app:layout_constraintEnd_toStartOf="@id/delete_playlist"
|
app:layout_constraintEnd_toStartOf="@id/delete_playlist"
|
||||||
app:layout_constraintStart_toEndOf="@+id/card_playlist_thumbnail"
|
app:layout_constraintStart_toEndOf="@+id/card_playlist_thumbnail"
|
||||||
app:layout_constraintTop_toBottomOf="@+id/playlist_title" />
|
app:layout_constraintTop_toBottomOf="@+id/playlist_title" />
|
||||||
|
Loading…
x
Reference in New Issue
Block a user