Skip to content
Snippets Groups Projects
Commit 43ed9b25 authored by Nicolas Pomepuy's avatar Nicolas Pomepuy Committed by Geoffrey Métais
Browse files

TV file browser empty view

(cherry picked from commit 4b24528f)
parent a170070d
No related branches found
No related tags found
No related merge requests found
......@@ -10,6 +10,10 @@
<variable
name="loading"
type="boolean" />
<variable
name="empty"
type="boolean" />
</data>
<androidx.constraintlayout.widget.ConstraintLayout
......@@ -18,6 +22,24 @@
android:layout_height="match_parent"
tools:theme="@style/Theme.VLC.TV">
<TextView
android:id="@+id/textview_nomedia"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="@dimen/default_margin"
android:drawableTop="@drawable/ic_no_media"
android:drawablePadding="@dimen/default_margin"
android:gravity="center"
android:maxWidth="600dp"
android:text="@string/nomedia"
android:textSize="22sp"
android:visibility="@{empty ? View.VISIBLE : View.GONE, default=gone}"
app:layout_constraintBottom_toBottomOf="@+id/list"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_chainStyle="packed" />
<FrameLayout
android:id="@+id/headerListContainer"
android:layout_width="match_parent"
......
......@@ -90,6 +90,7 @@ abstract class BaseBrowserTvFragment : Fragment(), BrowserFragmentInterface, IEv
override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? {
binding = SongBrowserBinding.inflate(inflater, container, false)
binding.empty = false
return binding.root
}
......
......@@ -34,7 +34,10 @@ import org.videolan.vlc.util.CATEGORY
import org.videolan.vlc.util.FileUtils
import org.videolan.vlc.util.ITEM
import org.videolan.vlc.util.isSchemeSupported
import org.videolan.vlc.viewmodels.browser.*
import org.videolan.vlc.viewmodels.browser.BrowserModel
import org.videolan.vlc.viewmodels.browser.NetworkModel
import org.videolan.vlc.viewmodels.browser.TYPE_FILE
import org.videolan.vlc.viewmodels.browser.TYPE_NETWORK
private const val TAG = "FileBrowserTvFragment"
@UseExperimental(ObsoleteCoroutinesApi::class)
......@@ -108,6 +111,7 @@ class FileBrowserTvFragment : BaseBrowserTvFragment(), PathAdapterListener {
}
}
}
binding.empty = if (isRootLevel && getCategory() == TYPE_NETWORK) false else items.isEmpty()
if (BuildConfig.DEBUG) Log.d(TAG, "Submit list of ${items.size} items")
if (BuildConfig.DEBUG) Log.d(TAG, "header size: ${viewModel.provider.headers.size()}")
......
......@@ -74,6 +74,8 @@ class MediaBrowserTvFragment : BaseBrowserTvFragment() {
(viewModel.provider as MedialibraryProvider<*>).pagedList.observe(this, Observer { items ->
submitList(items)
binding.empty = items.isEmpty()
//headers
val nbColumns = if ((viewModel as MediaBrowserViewModel).sort == AbstractMedialibrary.SORT_ALPHA || (viewModel as MediaBrowserViewModel).sort == AbstractMedialibrary.SORT_DEFAULT) 9 else 1
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment