[Android] Hide protocol when not on root level on TV

Nicolas Pomepuy git at videolan.org
Wed Sep 25 11:08:28 CEST 2019


vlc-android | branch: tv_breadcrumb | Nicolas Pomepuy <nicolas.pomepuy at gmail.com> | Wed Sep 25 11:05:47 2019 +0200| [bec71e69fe3d369589375eebd18b7314c12de31c] | committer: Nicolas Pomepuy

Hide protocol when not on root level on TV

> https://code.videolan.org/videolan/vlc-android/commit/bec71e69fe3d369589375eebd18b7314c12de31c
---

 vlc-android/src/org/videolan/vlc/gui/tv/FileTvItemAdapter.kt     | 9 ++++-----
 .../src/org/videolan/vlc/gui/tv/browser/FileBrowserTvFragment.kt | 3 +--
 2 files changed, 5 insertions(+), 7 deletions(-)

diff --git a/vlc-android/src/org/videolan/vlc/gui/tv/FileTvItemAdapter.kt b/vlc-android/src/org/videolan/vlc/gui/tv/FileTvItemAdapter.kt
index d0bd0f91b..e66dc3697 100644
--- a/vlc-android/src/org/videolan/vlc/gui/tv/FileTvItemAdapter.kt
+++ b/vlc-android/src/org/videolan/vlc/gui/tv/FileTvItemAdapter.kt
@@ -24,11 +24,10 @@ import org.videolan.vlc.gui.view.FastScroller
 import org.videolan.vlc.interfaces.IEventsHandler
 import org.videolan.vlc.util.UPDATE_PAYLOAD
 import org.videolan.vlc.util.generateResolutionClass
-import org.videolan.vlc.viewmodels.browser.TYPE_NETWORK
 
 @ExperimentalCoroutinesApi
 @ObsoleteCoroutinesApi
-class FileTvItemAdapter(private val type: Long, private val eventsHandler: IEventsHandler, var itemSize: Int) : DiffUtilAdapter<AbstractMediaWrapper, MediaTvItemAdapter.AbstractMediaItemViewHolder<MediaBrowserTvItemBinding>>(), FastScroller.SeparatedAdapter, TvItemAdapter {
+class FileTvItemAdapter(private val type: Long, private val eventsHandler: IEventsHandler, var itemSize: Int, val showProtocol: Boolean) : DiffUtilAdapter<AbstractMediaWrapper, MediaTvItemAdapter.AbstractMediaItemViewHolder<MediaBrowserTvItemBinding>>(), FastScroller.SeparatedAdapter, TvItemAdapter {
 
     override fun submitList(pagedList: Any?) {
         if (pagedList is List<*>) {
@@ -53,7 +52,7 @@ class FileTvItemAdapter(private val type: Long, private val eventsHandler: IEven
     override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): MediaTvItemAdapter.AbstractMediaItemViewHolder<MediaBrowserTvItemBinding> {
         val inflater = parent.context.getSystemService(Context.LAYOUT_INFLATER_SERVICE) as LayoutInflater
         val binding = MediaBrowserTvItemBinding.inflate(inflater, parent, false)
-        return MediaItemTVViewHolder(binding, eventsHandler)
+        return MediaItemTVViewHolder(binding, eventsHandler, showProtocol)
     }
 
     override fun onBindViewHolder(holder: MediaTvItemAdapter.AbstractMediaItemViewHolder<MediaBrowserTvItemBinding>, position: Int) {
@@ -100,7 +99,7 @@ class FileTvItemAdapter(private val type: Long, private val eventsHandler: IEven
     }
 
     inner class MediaItemTVViewHolder @TargetApi(Build.VERSION_CODES.M)
-    internal constructor(binding: MediaBrowserTvItemBinding, override val eventsHandler: IEventsHandler) : MediaTvItemAdapter.AbstractMediaItemViewHolder<MediaBrowserTvItemBinding>(binding), View.OnFocusChangeListener {
+    internal constructor(binding: MediaBrowserTvItemBinding, override val eventsHandler: IEventsHandler, private val showProtocol: Boolean) : MediaTvItemAdapter.AbstractMediaItemViewHolder<MediaBrowserTvItemBinding>(binding), View.OnFocusChangeListener {
 
         override fun getItem(layoutPosition: Int) = this at FileTvItemAdapter.getItem(layoutPosition)
 
@@ -172,7 +171,7 @@ class FileTvItemAdapter(private val type: Long, private val eventsHandler: IEven
             binding.isSquare = isSquare
             binding.seen = seen
             binding.description = description
-            if (type == TYPE_NETWORK && item is AbstractMediaWrapper) binding.protocol = getProtocol(item)
+            if (showProtocol && item is AbstractMediaWrapper) binding.protocol = getProtocol(item)
             val cover = if (item is AbstractMediaWrapper) getMediaIconDrawable(binding.root.context, item.type, true) else defaultCover
             cover?.let { binding.cover = it }
             if (seen == 0L) binding.mlItemSeen.visibility = View.GONE
diff --git a/vlc-android/src/org/videolan/vlc/gui/tv/browser/FileBrowserTvFragment.kt b/vlc-android/src/org/videolan/vlc/gui/tv/browser/FileBrowserTvFragment.kt
index c9067f5df..d136f71f5 100644
--- a/vlc-android/src/org/videolan/vlc/gui/tv/browser/FileBrowserTvFragment.kt
+++ b/vlc-android/src/org/videolan/vlc/gui/tv/browser/FileBrowserTvFragment.kt
@@ -10,7 +10,6 @@ import androidx.core.content.ContextCompat
 import androidx.fragment.app.FragmentManager
 import androidx.lifecycle.Observer
 import androidx.lifecycle.ViewModelProviders
-import androidx.recyclerview.widget.DividerItemDecoration
 import androidx.recyclerview.widget.GridLayoutManager
 import androidx.recyclerview.widget.LinearLayoutManager
 import androidx.recyclerview.widget.RecyclerView
@@ -85,7 +84,7 @@ class FileBrowserTvFragment : BaseBrowserTvFragment(), PathAdapterListener {
     }
 
     override fun provideAdapter(eventsHandler: IEventsHandler, itemSize: Int): TvItemAdapter {
-        return FileTvItemAdapter(getCategory(), this, itemSize)
+        return FileTvItemAdapter(getCategory(), this, itemSize, isRootLevel)
     }
 
     override fun onCreate(savedInstanceState: Bundle?) {



More information about the Android mailing list