package com.cappielloantonio.play.viewmodel; import android.app.Application; import androidx.annotation.NonNull; import androidx.lifecycle.AndroidViewModel; import androidx.lifecycle.LifecycleOwner; import androidx.lifecycle.LiveData; import androidx.lifecycle.MutableLiveData; import com.cappielloantonio.play.repository.DownloadRepository; import com.cappielloantonio.play.subsonic.models.Child; import java.util.List; import java.util.stream.Collectors; public class DownloadViewModel extends AndroidViewModel { private static final String TAG = "HomeViewModel"; private final DownloadRepository downloadRepository; private final MutableLiveData> downloadedTrackSample = new MutableLiveData<>(null); public DownloadViewModel(@NonNull Application application) { super(application); downloadRepository = new DownloadRepository(); } public LiveData> getDownloadedTracks(LifecycleOwner owner) { downloadRepository.getLiveDownload().observe(owner, downloads -> downloadedTrackSample.postValue(downloads.stream().map(download -> (Child) download).collect(Collectors.toList()))); return downloadedTrackSample; } }