use of org.videolan.vlc.viewmodels.audio.AlbumProvider in project vlc-android by GeoffreyMetais.
the class AudioBrowserFragment method setupObservers.
private void setupObservers() {
final SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(requireContext());
artistProvider = ViewModelProviders.of(requireActivity(), new ArtistProvider.Factory(prefs.getBoolean(Constants.KEY_ARTISTS_SHOW_ALL, false))).get(ArtistProvider.class);
albumProvider = ViewModelProviders.of(requireActivity()).get(AlbumProvider.class);
tracksProvider = ViewModelProviders.of(requireActivity()).get(TracksProvider.class);
genresprovider = ViewModelProviders.of(requireActivity()).get(Genresprovider.class);
playlistsProvider = ViewModelProviders.of(requireActivity()).get(PlaylistsProvider.class);
mProvidersList = new AudioModel[] { artistProvider, albumProvider, tracksProvider, genresprovider, playlistsProvider };
// Register current tab first
final int currentTab = mViewPager.getCurrentItem();
mProvidersList[currentTab].getSections().observe(this, new Observer<List<MediaLibraryItem>>() {
@Override
public void onChanged(@Nullable List<MediaLibraryItem> items) {
if (items != null)
mAdapters[currentTab].update(items);
}
});
for (int i = 0; i < mProvidersList.length; ++i) {
if (i == currentTab)
continue;
final int index = i;
mProvidersList[i].getSections().observe(this, new Observer<List<MediaLibraryItem>>() {
@Override
public void onChanged(@Nullable List<MediaLibraryItem> items) {
if (items != null)
mAdapters[index].update(items);
}
});
}
}
Aggregations