TV file browser empty view

This commit is contained in:
Nicolas Pomepuy
2019-09-18 11:21:48 +02:00
committed by Geoffrey Métais
parent 0b1e6cddcd
commit 4b24528fb1
4 changed files with 30 additions and 1 deletions

View File

@@ -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"

View File

@@ -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
}

View File

@@ -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()}")

View File

@@ -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