diff options
author | Stefan Niedermann <info@niedermann.it> | 2020-07-01 10:55:12 +0300 |
---|---|---|
committer | Stefan Niedermann <info@niedermann.it> | 2020-07-01 10:55:12 +0300 |
commit | 8566634f56109baf392da56324072417321c2b18 (patch) | |
tree | 9b5ca0d8e1120ed2d7f5465203fd3df52f1673fa /app/src/main/java/it | |
parent | 7256159d1da03ea738b770daa001ad84c605d7a7 (diff) |
Make MainViewModel extending AndroidViewModel
Diffstat (limited to 'app/src/main/java/it')
4 files changed, 15 insertions, 8 deletions
diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/ui/MainActivity.java b/app/src/main/java/it/niedermann/nextcloud/deck/ui/MainActivity.java index 830abb3d7..81e2afa71 100644 --- a/app/src/main/java/it/niedermann/nextcloud/deck/ui/MainActivity.java +++ b/app/src/main/java/it/niedermann/nextcloud/deck/ui/MainActivity.java @@ -213,7 +213,7 @@ public class MainActivity extends BrandedActivity implements DeleteStackListener for (Account account : accountsList) { if (lastAccountId == account.getId() || lastAccountId == NO_ACCOUNT_ID) { - mainViewModel.setCurrentAccount(account, account.getServerDeckVersionAsObject().isSupported(this)); + mainViewModel.setCurrentAccount(account); if (!firstAccountAdded) { DeckLog.info("Syncing the current account on app start"); if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { @@ -797,7 +797,7 @@ public class MainActivity extends BrandedActivity implements DeleteStackListener if (response.getDeckVersion().isSupported(getApplicationContext())) { runOnUiThread(() -> { syncManager = importSyncManager; - mainViewModel.setCurrentAccount(account, account.getServerDeckVersionAsObject().isSupported(MainActivity.this)); + mainViewModel.setCurrentAccount(account); final Snackbar importSnackbar = BrandedSnackbar.make(binding.coordinatorLayout, R.string.account_is_getting_imported, Snackbar.LENGTH_INDEFINITE); importSnackbar.show(); diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/ui/MainViewModel.java b/app/src/main/java/it/niedermann/nextcloud/deck/ui/MainViewModel.java index b9ba588df..e5bd4f482 100644 --- a/app/src/main/java/it/niedermann/nextcloud/deck/ui/MainViewModel.java +++ b/app/src/main/java/it/niedermann/nextcloud/deck/ui/MainViewModel.java @@ -1,15 +1,18 @@ 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 androidx.lifecycle.MutableLiveData; -import androidx.lifecycle.ViewModel; import it.niedermann.nextcloud.deck.model.Account; import it.niedermann.nextcloud.deck.model.Board; @SuppressWarnings("WeakerAccess") -public class MainViewModel extends ViewModel { +public class MainViewModel extends AndroidViewModel { private MutableLiveData<Account> currentAccount = new MutableLiveData<>(); private Board currentBoard; @@ -17,6 +20,10 @@ public class MainViewModel extends ViewModel { private boolean currentAccountIsSupportedVersion = false; + public MainViewModel(@NonNull Application application) { + super(application); + } + public Account getCurrentAccount() { return currentAccount.getValue(); } @@ -25,9 +32,9 @@ public class MainViewModel extends ViewModel { return this.currentAccount; } - public void setCurrentAccount(Account currentAccount, boolean versionIsSupported) { + public void setCurrentAccount(Account currentAccount) { this.currentAccount.setValue(currentAccount); - this.currentAccountIsSupportedVersion = versionIsSupported; + this.currentAccountIsSupportedVersion = currentAccount.getServerDeckVersionAsObject().isSupported(getApplication().getApplicationContext()); } public void setCurrentBoard(Board currentBoard) { diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/ui/accountswitcher/AccountSwitcherDialog.java b/app/src/main/java/it/niedermann/nextcloud/deck/ui/accountswitcher/AccountSwitcherDialog.java index fd5172d6b..592f2e8cc 100644 --- a/app/src/main/java/it/niedermann/nextcloud/deck/ui/accountswitcher/AccountSwitcherDialog.java +++ b/app/src/main/java/it/niedermann/nextcloud/deck/ui/accountswitcher/AccountSwitcherDialog.java @@ -61,7 +61,7 @@ public class AccountSwitcherDialog extends BrandedDialogFragment { binding.accountLayout.setOnClickListener((v) -> dismiss()); adapter = new AccountSwitcherAdapter((localAccount -> { - viewModel.setCurrentAccount(localAccount, localAccount.getServerDeckVersionAsObject().isSupported(requireContext())); + viewModel.setCurrentAccount(localAccount); dismiss(); })); diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/ui/archivedboards/ArchivedBoardsActvitiy.java b/app/src/main/java/it/niedermann/nextcloud/deck/ui/archivedboards/ArchivedBoardsActvitiy.java index 8782bbd7e..7c3a2d23c 100644 --- a/app/src/main/java/it/niedermann/nextcloud/deck/ui/archivedboards/ArchivedBoardsActvitiy.java +++ b/app/src/main/java/it/niedermann/nextcloud/deck/ui/archivedboards/ArchivedBoardsActvitiy.java @@ -53,7 +53,7 @@ public class ArchivedBoardsActvitiy extends BrandedActivity implements DeleteBoa setSupportActionBar(binding.toolbar); viewModel = new ViewModelProvider(this).get(MainViewModel.class); - viewModel.setCurrentAccount(account, account.getServerDeckVersionAsObject().isSupported(this)); + viewModel.setCurrentAccount(account); syncManager = new SyncManager(this); adapter = new ArchivedBoardsAdapter(viewModel.isCurrentAccountIsSupportedVersion(), getSupportFragmentManager(), (board) -> syncManager.dearchiveBoard(board)); |