[Android] Disable swipe to refresh when the medialibrary is not initiated
Nicolas Pomepuy
git at videolan.org
Mon Jul 5 11:12:29 UTC 2021
vlc-android | branch: master | Nicolas Pomepuy <nicolas at videolabs.io> | Thu Jun 24 11:54:08 2021 +0200| [9038f50a402f760cad83acbe49f32154dfe17f6a] | committer: Nicolas Pomepuy
Disable swipe to refresh when the medialibrary is not initiated
> https://code.videolan.org/videolan/vlc-android/commit/9038f50a402f760cad83acbe49f32154dfe17f6a
---
.../vlc-android/src/org/videolan/vlc/gui/PlaylistFragment.kt | 7 +++++++
.../src/org/videolan/vlc/gui/audio/AudioBrowserFragment.kt | 8 +++++++-
2 files changed, 14 insertions(+), 1 deletion(-)
diff --git a/application/vlc-android/src/org/videolan/vlc/gui/PlaylistFragment.kt b/application/vlc-android/src/org/videolan/vlc/gui/PlaylistFragment.kt
index 735ebbcf1..f9cc0cb00 100644
--- a/application/vlc-android/src/org/videolan/vlc/gui/PlaylistFragment.kt
+++ b/application/vlc-android/src/org/videolan/vlc/gui/PlaylistFragment.kt
@@ -35,6 +35,8 @@ import com.google.android.material.appbar.AppBarLayout
import com.google.android.material.floatingactionbutton.FloatingActionButton
import kotlinx.coroutines.ExperimentalCoroutinesApi
import kotlinx.coroutines.ObsoleteCoroutinesApi
+import org.videolan.medialibrary.MLServiceLocator
+import org.videolan.medialibrary.interfaces.Medialibrary
import org.videolan.medialibrary.interfaces.media.MediaWrapper
import org.videolan.medialibrary.media.MediaLibraryItem
import org.videolan.resources.AppContextProvider
@@ -123,6 +125,11 @@ class PlaylistFragment : BaseAudioBrowser<PlaylistsViewModel>(), SwipeRefreshLay
}
+ override fun onResume() {
+ swipeRefreshLayout.visibility = if (Medialibrary.getInstance().isInitiated) View.VISIBLE else View.GONE
+ super.onResume()
+ }
+
private fun updateEmptyView() {
binding.emptyLoading.state =
if (!Permissions.canReadStorage(AppContextProvider.appContext)) EmptyLoadingState.MISSING_PERMISSION else if (viewModel.provider.loading.value == true && empty) EmptyLoadingState.LOADING else if (empty) EmptyLoadingState.EMPTY else EmptyLoadingState.NONE
diff --git a/application/vlc-android/src/org/videolan/vlc/gui/audio/AudioBrowserFragment.kt b/application/vlc-android/src/org/videolan/vlc/gui/audio/AudioBrowserFragment.kt
index 65e711b5d..16aa6dc13 100644
--- a/application/vlc-android/src/org/videolan/vlc/gui/audio/AudioBrowserFragment.kt
+++ b/application/vlc-android/src/org/videolan/vlc/gui/audio/AudioBrowserFragment.kt
@@ -39,6 +39,7 @@ import com.google.android.material.tabs.TabLayout
import kotlinx.android.synthetic.main.audio_browser.*
import kotlinx.coroutines.ExperimentalCoroutinesApi
import kotlinx.coroutines.ObsoleteCoroutinesApi
+import org.videolan.medialibrary.interfaces.Medialibrary
import org.videolan.medialibrary.interfaces.media.MediaWrapper
import org.videolan.medialibrary.media.MediaLibraryItem
import org.videolan.resources.CTX_PLAY_ALL
@@ -219,6 +220,11 @@ class AudioBrowserFragment : BaseAudioBrowser<AudioBrowserViewModel>() {
})
}
+ override fun onResume() {
+ swipeRefreshLayout.visibility = if (Medialibrary.getInstance().isInitiated) View.VISIBLE else View.GONE
+ super.onResume()
+ }
+
override fun onStart() {
super.onStart()
setFabPlayShuffleAllVisibility()
@@ -301,7 +307,7 @@ class AudioBrowserFragment : BaseAudioBrowser<AudioBrowserViewModel>() {
super.onTabSelected(tab)
songs_fast_scroller?.setRecyclerView(lists[tab.position], viewModel.providers[tab.position])
settings.putSingle(KEY_AUDIO_CURRENT_TAB, tab.position)
- setRefreshing(viewModel.providers[currentTab].isRefreshing)
+ if (Medialibrary.getInstance().isInitiated) setRefreshing(viewModel.providers[currentTab].isRefreshing)
activity?.invalidateOptionsMenu()
}
More information about the Android
mailing list