[Android] TV: Fix History section display

Geoffrey Métais git at videolan.org
Wed Mar 7 15:22:50 CET 2018


vlc-android | branch: 3.0.x | Geoffrey Métais <geoffrey.metais at gmail.com> | Tue Mar  6 15:51:32 2018 +0100| [51da943300543f96da78c693346fecf05015a442] | committer: Geoffrey Métais

TV: Fix History section display

(cherry picked from commit 921090fd6b71fa43da9aa7376f0c3a15c46eced4)

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

 vlc-android/src/org/videolan/vlc/gui/tv/MainTvActivity.java | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/vlc-android/src/org/videolan/vlc/gui/tv/MainTvActivity.java b/vlc-android/src/org/videolan/vlc/gui/tv/MainTvActivity.java
index c425bd6d9..ca0140faf 100644
--- a/vlc-android/src/org/videolan/vlc/gui/tv/MainTvActivity.java
+++ b/vlc-android/src/org/videolan/vlc/gui/tv/MainTvActivity.java
@@ -173,12 +173,12 @@ public class MainTvActivity extends BaseTvActivity implements OnItemViewSelected
         /*
          * skip browser and show directly Audio Player if a song is playing
          */
-        if ((mRowsAdapter == null || mRowsAdapter.size() == 0) && Permissions.canReadStorage(this))
+        if (!mMediaLibrary.isWorking() && (mRowsAdapter == null || mRowsAdapter.size() == 0) && Permissions.canReadStorage(this))
             update();
         else {
             updateBrowsers();
             updateNowPlayingCard();
-            if (mMediaLibrary.isInitiated()) {
+            if (mRowsAdapter != null && mMediaLibrary.isInitiated()) {
                 VLCApplication.runBackground(new Runnable() {
                     @Override
                     public void run() {
@@ -377,6 +377,7 @@ public class MainTvActivity extends BaseTvActivity implements OnItemViewSelected
         protected void onPreExecute() {
             showHistory = mSettings.getBoolean(PreferencesFragment.PLAYBACK_HISTORY, true);
             mHandler.sendEmptyMessageDelayed(SHOW_LOADING, 300);
+            mHistoryAdapter = null;
         }
 
         @Override
@@ -453,8 +454,8 @@ public class MainTvActivity extends BaseTvActivity implements OnItemViewSelected
     }
 
     @MainThread
-    private void updateHistory(MediaWrapper[] history) {
-        if (history == null) return;
+    private synchronized void updateHistory(MediaWrapper[] history) {
+        if (history == null || mRowsAdapter == null) return;
         final boolean createAdapter = mHistoryAdapter == null;
         if (createAdapter) mHistoryAdapter = new ArrayObjectAdapter(new CardPresenter(mContext));
         else mHistoryAdapter.clear();



More information about the Android mailing list