48 lines
1.6 KiB
Java
48 lines
1.6 KiB
Java
package it.unisannio.ding.ids.wedroid.app.viewmodel;
|
|
|
|
import android.app.Application;
|
|
|
|
import androidx.annotation.NonNull;
|
|
import androidx.lifecycle.AndroidViewModel;
|
|
import androidx.lifecycle.LiveData;
|
|
|
|
import java.util.List;
|
|
|
|
import it.unisannio.ding.ids.wedroid.app.data.database.WListDatabase;
|
|
import it.unisannio.ding.ids.wedroid.app.data.entity.WList;
|
|
import it.unisannio.ding.ids.wedroid.app.data.repository.WListRepository;
|
|
import it.unisannio.ding.ids.wedroid.app.util.PreferenceReader;
|
|
import it.unisannio.ding.ids.wedroid.app.util.ServicesFactory;
|
|
import it.unisannio.ding.ids.wedroid.app.util.SharedPreferenceHelper;
|
|
|
|
|
|
public class WListsListViewModel extends AndroidViewModel {
|
|
private WListRepository wListRepository;
|
|
private LiveData<List<WList>> allWLists;
|
|
|
|
public WListsListViewModel(@NonNull Application application) {
|
|
super(application);
|
|
PreferenceReader reader = new SharedPreferenceHelper(application);
|
|
wListRepository = new WListRepository(
|
|
WListDatabase.getDatabase(application).wListDao(),
|
|
ServicesFactory.Companion.getInstance(reader).getListService(),
|
|
reader);
|
|
allWLists = wListRepository.getAllWLists();
|
|
}
|
|
|
|
public LiveData<List<WList>> getAllWLists(){
|
|
return allWLists;
|
|
}
|
|
|
|
public void deleteWList(int position, String idBoard) {
|
|
List<WList> wList = allWLists.getValue();
|
|
|
|
if (wList != null)
|
|
wListRepository.deleteWList(idBoard, wList.get(position).getId());
|
|
}
|
|
|
|
public void refresh() {
|
|
wListRepository.synchronize();
|
|
}
|
|
}
|