|
|
|
@ -20,10 +20,13 @@ |
|
|
|
*****************************************************************************/ |
|
|
|
package org.videolan.vlc.media; |
|
|
|
|
|
|
|
import org.videolan.medialibrary.Medialibrary; |
|
|
|
import org.videolan.medialibrary.media.MediaWrapper; |
|
|
|
import org.videolan.vlc.VLCApplication; |
|
|
|
|
|
|
|
import java.util.ArrayList; |
|
|
|
import java.util.List; |
|
|
|
import java.util.ListIterator; |
|
|
|
|
|
|
|
import androidx.annotation.Nullable; |
|
|
|
|
|
|
|
@ -143,7 +146,7 @@ public class MediaWrapperList { |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
public int size() { |
|
|
|
public synchronized int size() { |
|
|
|
return mInternalList.size(); |
|
|
|
} |
|
|
|
|
|
|
|
@ -169,6 +172,21 @@ public class MediaWrapperList { |
|
|
|
return mVideoCount == 0; |
|
|
|
} |
|
|
|
|
|
|
|
public void updateWithMLMeta() { |
|
|
|
final ListIterator<MediaWrapper> iter = mInternalList.listIterator(); |
|
|
|
final Medialibrary ml = VLCApplication.getMLInstance(); |
|
|
|
while (iter.hasNext()) { |
|
|
|
final MediaWrapper media = iter.next(); |
|
|
|
if (media.getId() == 0L) { |
|
|
|
final MediaWrapper mw = ml.findMedia(media); |
|
|
|
if (mw.getId() != 0) { |
|
|
|
if (mw.getType() == MediaWrapper.TYPE_ALL) mw.setType(media.getType()); |
|
|
|
synchronized (this) { iter.set(mw); } |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
@Override |
|
|
|
public String toString() { |
|
|
|
StringBuilder sb = new StringBuilder(); |
|
|
|
|