package it.niedermann.nextcloud.deck.ui; import android.app.Application; import androidx.annotation.NonNull; import androidx.annotation.Nullable; import androidx.lifecycle.AndroidViewModel; import androidx.lifecycle.LiveData; import com.nextcloud.android.sso.helper.SingleAccountHelper; import it.niedermann.nextcloud.deck.api.ResponseCallback; import it.niedermann.nextcloud.deck.model.Account; import it.niedermann.nextcloud.deck.model.Board; import it.niedermann.nextcloud.deck.model.Card; import it.niedermann.nextcloud.deck.persistence.sync.SyncManager; public class PushNotificationViewModel extends AndroidViewModel { private final SyncManager readAccountSyncManager; private SyncManager accountSpecificSyncManager; public PushNotificationViewModel(@NonNull Application application) { super(application); this.readAccountSyncManager = new SyncManager(application); } public LiveData readAccount(@Nullable String name) { return readAccountSyncManager.readAccount(name); } public void setAccount(@NonNull String accountName) { SingleAccountHelper.setCurrentAccount(getApplication(), accountName); accountSpecificSyncManager = new SyncManager(getApplication()); } public LiveData getBoardByRemoteId(long accountId, long remoteId) { return accountSpecificSyncManager.getBoardByRemoteId(accountId, remoteId); } public LiveData getCardByRemoteID(long accountId, long remoteId) { return accountSpecificSyncManager.getCardByRemoteID(accountId, remoteId); } public void synchronizeCard(@NonNull ResponseCallback responseCallback, Card card) { accountSpecificSyncManager.synchronizeCard(responseCallback, card); } public void synchronizeBoard(@NonNull ResponseCallback responseCallback, long localBoadId) { accountSpecificSyncManager.synchronizeBoard(responseCallback, localBoadId); } }