Merge pull request #1782 from Bnyro/master

layout fixes
This commit is contained in:
Bnyro 2022-11-06 16:36:05 +01:00 committed by GitHub
commit 62d3d9fbbc
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
23 changed files with 49 additions and 33 deletions

View File

@ -9,7 +9,6 @@ const val GITHUB_API_URL = "https://api.github.com/repos/libre-tube/LibreTube/re
* Links for the about fragment
*/
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 PIPED_GITHUB_URL = "https://github.com/TeamPiped/Piped"
const val WEBLATE_URL = "https://hosted.weblate.org/projects/libretube/libretube/"

View File

@ -27,13 +27,13 @@ import com.github.libretube.constants.IntentData
import com.github.libretube.constants.PreferenceKeys
import com.github.libretube.databinding.ActivityMainBinding
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.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.util.NavBarHelper
import com.github.libretube.util.NetworkHelper

View File

@ -20,6 +20,7 @@ import com.github.libretube.ui.viewholders.CommentsViewHolder
import com.github.libretube.util.ClipboardHelper
import com.github.libretube.util.ImageHelper
import com.github.libretube.util.NavigationHelper
import com.github.libretube.util.TextUtils
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.launch
@ -61,7 +62,7 @@ class CommentsAdapter(
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()
ImageHelper.loadImage(comment.thumbnail, commentorImage)

View File

@ -13,6 +13,7 @@ import com.github.libretube.obj.DownloadedFile
import com.github.libretube.ui.activities.OfflinePlayerActivity
import com.github.libretube.ui.viewholders.DownloadsViewHolder
import com.github.libretube.util.DownloadHelper
import com.github.libretube.util.TextUtils
import com.google.android.material.dialog.MaterialAlertDialogBuilder
import java.io.File
@ -39,7 +40,7 @@ class DownloadsAdapter(
uploaderName.text = it.uploader
videoInfo.text = it.views.formatShort() + " " +
root.context.getString(R.string.views_placeholder) +
"" + it.uploadDate
TextUtils.SEPARATOR + it.uploadDate
}
thumbnailImage.setImageBitmap(file.thumbnail)

View File

@ -21,6 +21,7 @@ import com.github.libretube.ui.sheets.VideoOptionsBottomSheet
import com.github.libretube.ui.viewholders.SearchViewHolder
import com.github.libretube.util.ImageHelper
import com.github.libretube.util.NavigationHelper
import com.github.libretube.util.TextUtils
class SearchAdapter(
private val searchItems: MutableList<ContentItem>,
@ -121,7 +122,7 @@ class SearchAdapter(
searchViews.text = root.context.getString(
R.string.subscribers,
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 {
NavigationHelper.navigateChannel(root.context, item.url)
}
@ -137,8 +138,8 @@ class SearchAdapter(
binding.apply {
ImageHelper.loadImage(item.thumbnail, playlistThumbnail)
if (item.videos?.toInt() != -1) videoCount.text = item.videos.toString()
playlistDescription.text = item.name
playlistTitle.text = item.uploaderName
playlistTitle.text = item.name
playlistDescription.text = item.uploaderName
root.setOnClickListener {
NavigationHelper.navigatePlaylist(root.context, item.url, false)
}

View File

@ -21,6 +21,7 @@ import com.github.libretube.ui.viewholders.VideosViewHolder
import com.github.libretube.util.ImageHelper
import com.github.libretube.util.NavigationHelper
import com.github.libretube.util.PreferenceHelper
import com.github.libretube.util.TextUtils
class VideosAdapter(
private val streamItems: MutableList<StreamItem>,
@ -79,10 +80,10 @@ class VideosAdapter(
holder.trendingRowBinding?.apply {
textViewTitle.text = video.title
textViewChannel.text =
video.uploaderName + "" +
video.uploaderName + TextUtils.SEPARATOR +
video.views.formatShort() + " " +
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) }
channelImage.setOnClickListener {
NavigationHelper.navigateChannel(root.context, video.uploaderUrl)
@ -114,7 +115,7 @@ class VideosAdapter(
videoInfo.text =
video.views.formatShort() + " " +
root.context.getString(R.string.views_placeholder) +
"" + video.uploaded?.let { DateUtils.getRelativeTimeSpanString(it) }
TextUtils.SEPARATOR + video.uploaded?.let { DateUtils.getRelativeTimeSpanString(it) }
thumbnailDuration.text =
video.duration?.let { DateUtils.formatElapsedTime(it) }

View File

@ -16,7 +16,7 @@ import com.github.libretube.constants.IntentData
import com.github.libretube.databinding.DialogAddtoplaylistBinding
import com.github.libretube.extensions.TAG
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.ThemeHelper
import com.google.android.material.dialog.MaterialAlertDialogBuilder

View File

@ -17,10 +17,10 @@ import com.github.libretube.constants.PreferenceKeys
import com.github.libretube.databinding.FragmentLibraryBinding
import com.github.libretube.extensions.TAG
import com.github.libretube.extensions.toDp
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.ui.models.PlayerViewModel
import com.github.libretube.util.PreferenceHelper
import retrofit2.HttpException
import java.io.IOException

View File

@ -55,8 +55,6 @@ import com.github.libretube.extensions.query
import com.github.libretube.extensions.setupSubscriptionButton
import com.github.libretube.extensions.toID
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.services.BackgroundMode
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.DownloadDialog
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.PlayingQueueSheet
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.PlayingQueue
import com.github.libretube.util.PreferenceHelper
import com.github.libretube.util.TextUtils
import com.google.android.exoplayer2.C
import com.google.android.exoplayer2.DefaultLoadControl
import com.google.android.exoplayer2.ExoPlayer
@ -765,7 +766,7 @@ class PlayerFragment : BaseFragment(), OnlinePlayerOptions {
binding.apply {
playerViewsInfo.text =
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()
textDislike.text = response.dislikes.formatShort()

View File

@ -24,6 +24,7 @@ import com.github.libretube.ui.dialogs.ShareDialog
import com.github.libretube.ui.sheets.PlaylistOptionsBottomSheet
import com.github.libretube.util.ImageHelper
import com.github.libretube.util.NavigationHelper
import com.github.libretube.util.TextUtils
import retrofit2.HttpException
import java.io.IOException
@ -89,7 +90,7 @@ class PlaylistFragment : BaseFragment() {
ImageHelper.loadImage(response.thumbnailUrl, binding.thumbnail)
binding.playlistProgress.visibility = View.GONE
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
binding.optionsMenu.setOnClickListener {
@ -127,7 +128,7 @@ class PlaylistFragment : BaseFragment() {
RecyclerView.AdapterDataObserver() {
override fun onChanged() {
binding.playlistInfo.text =
binding.playlistInfo.text.split("").first() + "" + getString(
binding.playlistInfo.text.split(TextUtils.SEPARATOR).first() + TextUtils.SEPARATOR + getString(
R.string.videoCount,
playlistAdapter!!.itemCount.toString()
)

View File

@ -15,11 +15,11 @@ import com.github.libretube.databinding.FragmentSearchBinding
import com.github.libretube.db.DatabaseHolder.Companion.Database
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 com.github.libretube.ui.models.SearchViewModel
import retrofit2.HttpException
import java.io.IOException

View File

@ -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.models.SubscriptionsViewModel
import com.github.libretube.ui.adapters.LegacySubscriptionAdapter
import com.github.libretube.ui.adapters.SubscriptionChannelAdapter
import com.github.libretube.ui.adapters.VideosAdapter
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.util.LayoutHelper
import com.github.libretube.util.PreferenceHelper

View File

@ -1,4 +1,4 @@
package com.github.libretube.models.interfaces
package com.github.libretube.ui.interfaces
interface DoubleTapInterface {
fun onEvent(x: Float)

View File

@ -1,4 +1,4 @@
package com.github.libretube.util
package com.github.libretube.ui.interfaces
import android.os.Handler
import android.os.Looper

View File

@ -1,4 +1,4 @@
package com.github.libretube.models.interfaces
package com.github.libretube.ui.interfaces
interface OnlinePlayerOptions {
fun onCaptionsClicked()

View File

@ -1,4 +1,4 @@
package com.github.libretube.models.interfaces
package com.github.libretube.ui.interfaces
interface PlayerOptions {
fun onAutoplayClicked()

View File

@ -1,4 +1,4 @@
package com.github.libretube.models
package com.github.libretube.ui.models
import androidx.lifecycle.MutableLiveData
import androidx.lifecycle.ViewModel

View File

@ -1,4 +1,4 @@
package com.github.libretube.models
package com.github.libretube.ui.models
import androidx.lifecycle.ViewModel

View File

@ -1,4 +1,4 @@
package com.github.libretube.models
package com.github.libretube.ui.models
import androidx.lifecycle.MutableLiveData
import androidx.lifecycle.ViewModel

View File

@ -1,4 +1,4 @@
package com.github.libretube.models
package com.github.libretube.ui.models
import android.util.Log
import androidx.lifecycle.MutableLiveData

View File

@ -13,14 +13,14 @@ import com.github.libretube.R
import com.github.libretube.databinding.DoubleTapOverlayBinding
import com.github.libretube.databinding.ExoStyledPlayerControlViewBinding
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.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.PlaybackSpeedSheet
import com.github.libretube.util.DoubleTapListener
import com.github.libretube.util.PlayerHelper
import com.google.android.exoplayer2.PlaybackParameters
import com.google.android.exoplayer2.trackselection.TrackSelector

View File

@ -0,0 +1,8 @@
package com.github.libretube.util
object TextUtils {
/**
* Separator used for descriptions
*/
const val SEPARATOR = ""
}

View File

@ -75,6 +75,9 @@
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
android:ellipsize="end"
android:maxLines="2"
android:textSize="14sp"
app:layout_constraintEnd_toStartOf="@id/delete_playlist"
app:layout_constraintStart_toEndOf="@+id/card_playlist_thumbnail"
app:layout_constraintTop_toBottomOf="@+id/playlist_title" />