Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/stefan-niedermann/nextcloud-deck.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'app/src/main/java/it/niedermann/nextcloud/deck/ui/manageaccounts/ManageAccountsViewModel.java')
-rw-r--r--app/src/main/java/it/niedermann/nextcloud/deck/ui/manageaccounts/ManageAccountsViewModel.java45
1 files changed, 45 insertions, 0 deletions
diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/ui/manageaccounts/ManageAccountsViewModel.java b/app/src/main/java/it/niedermann/nextcloud/deck/ui/manageaccounts/ManageAccountsViewModel.java
new file mode 100644
index 000000000..66e9d3850
--- /dev/null
+++ b/app/src/main/java/it/niedermann/nextcloud/deck/ui/manageaccounts/ManageAccountsViewModel.java
@@ -0,0 +1,45 @@
+package it.niedermann.nextcloud.deck.ui.manageaccounts;
+
+import android.app.Application;
+
+import androidx.annotation.NonNull;
+import androidx.lifecycle.AndroidViewModel;
+import androidx.lifecycle.LiveData;
+
+import com.nextcloud.android.sso.helper.SingleAccountHelper;
+
+import java.util.List;
+
+import it.niedermann.nextcloud.deck.model.Account;
+import it.niedermann.nextcloud.deck.persistence.sync.SyncManager;
+
+import static it.niedermann.nextcloud.deck.DeckApplication.saveCurrentAccountId;
+
+@SuppressWarnings("WeakerAccess")
+public class ManageAccountsViewModel extends AndroidViewModel {
+
+ private SyncManager syncManager;
+
+ public ManageAccountsViewModel(@NonNull Application application) {
+ super(application);
+ this.syncManager = new SyncManager(application);
+ }
+
+ public LiveData<Account> readAccount(long id) {
+ return syncManager.readAccount(id);
+ }
+
+ public LiveData<List<Account>> readAccounts() {
+ return syncManager.readAccounts();
+ }
+
+ public void setNewAccount(@NonNull Account account) {
+ SingleAccountHelper.setCurrentAccount(getApplication(), account.getName());
+ syncManager = new SyncManager(getApplication());
+ saveCurrentAccountId(getApplication(), account.getId());
+ }
+
+ public void deleteAccount(long id) {
+ syncManager.deleteAccount(id);
+ }
+}