diff options
author | Stefan Niedermann <info@niedermann.it> | 2023-02-01 12:22:42 +0300 |
---|---|---|
committer | Stefan Niedermann <info@niedermann.it> | 2023-02-01 12:22:42 +0300 |
commit | 6d5b54bc77f007e11ef999b2ba43d750222808af (patch) | |
tree | 041ba5f10c7b6495aad84253fe8b6a5f62000611 | |
parent | 4f7d513c46ba7ab80ca3d1b99e51f76ad93eecb4 (diff) |
fix(#1370): Creating a card by shortcut does only work for last selected account
Signed-off-by: Stefan Niedermann <info@niedermann.it>
7 files changed, 13 insertions, 16 deletions
diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/DeckApplication.java b/app/src/main/java/it/niedermann/nextcloud/deck/DeckApplication.java index a1772a26e..99c3d2aa6 100644 --- a/app/src/main/java/it/niedermann/nextcloud/deck/DeckApplication.java +++ b/app/src/main/java/it/niedermann/nextcloud/deck/DeckApplication.java @@ -14,6 +14,8 @@ import androidx.core.content.ContextCompat; import androidx.lifecycle.LiveData; import androidx.preference.PreferenceManager; +import com.nextcloud.android.sso.helper.SingleAccountHelper; + import it.niedermann.android.sharedpreferences.SharedPreferenceIntLiveData; import it.niedermann.nextcloud.deck.model.Account; @@ -119,6 +121,7 @@ public class DeckApplication extends Application { // -------------------------------------- public static void saveCurrentAccount(@NonNull Context context, @NonNull Account account) { + SingleAccountHelper.setCurrentAccount(context, account.getName()); final var editor = PreferenceManager.getDefaultSharedPreferences(context).edit(); DeckLog.log("--- Write:", context.getString(R.string.shared_preference_last_account), "→", account.getId()); editor.putLong(context.getString(R.string.shared_preference_last_account), account.getId()); 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 61b4da8ec..010079744 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 @@ -76,7 +76,6 @@ import com.nextcloud.android.sso.AccountImporter; import com.nextcloud.android.sso.exceptions.AccountImportCancelledException; import com.nextcloud.android.sso.exceptions.NextcloudHttpRequestFailedException; import com.nextcloud.android.sso.exceptions.UnknownErrorException; -import com.nextcloud.android.sso.helper.SingleAccountHelper; import java.net.HttpURLConnection; import java.util.ArrayList; @@ -276,10 +275,9 @@ public class MainActivity extends AppCompatActivity implements DeleteStackListen mainViewModel.getCurrentAccountLiveData().removeObservers(this); mainViewModel.getCurrentAccountLiveData().observe(this, (currentAccount) -> { - SingleAccountHelper.setCurrentAccount(getApplicationContext(), mainViewModel.getCurrentAccount().getName()); + saveCurrentAccount(this, mainViewModel.getCurrentAccount()); mainViewModel.recreateSyncManager(); - saveCurrentAccount(this, mainViewModel.getCurrentAccount()); if (mainViewModel.getCurrentAccount().isMaintenanceEnabled()) { refreshCapabilities(mainViewModel.getCurrentAccount(), null); } diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/ui/card/NewCardDialog.java b/app/src/main/java/it/niedermann/nextcloud/deck/ui/card/NewCardDialog.java index ee876b1f5..87361169f 100644 --- a/app/src/main/java/it/niedermann/nextcloud/deck/ui/card/NewCardDialog.java +++ b/app/src/main/java/it/niedermann/nextcloud/deck/ui/card/NewCardDialog.java @@ -180,7 +180,7 @@ public class NewCardDialog extends DialogFragment implements DialogInterface.OnC final var currentUserInput = binding.input.getText(); if (inputIsValid(currentUserInput)) { final var fullCard = viewModel.createFullCard(account.getServerDeckVersionAsObject(), currentUserInput.toString()); - viewModel.saveCard(account.getId(), boardLocalId, stackLocalId, fullCard, new IResponseCallback<>() { + viewModel.saveCard(account, boardLocalId, stackLocalId, fullCard, new IResponseCallback<>() { @Override public void onResponse(FullCard createdCard) { requireActivity().runOnUiThread(() -> { 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 index da89f3588..d97cf6b16 100644 --- 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 @@ -1,20 +1,18 @@ package it.niedermann.nextcloud.deck.ui.manageaccounts; +import static it.niedermann.nextcloud.deck.DeckApplication.saveCurrentAccount; + 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.saveCurrentAccount; - @SuppressWarnings("WeakerAccess") public class ManageAccountsViewModel extends AndroidViewModel { @@ -34,9 +32,8 @@ public class ManageAccountsViewModel extends AndroidViewModel { } public void setNewAccount(@NonNull Account account) { - SingleAccountHelper.setCurrentAccount(getApplication(), account.getName()); - syncManager = new SyncManager(getApplication()); saveCurrentAccount(getApplication(), account); + syncManager = new SyncManager(getApplication()); } public void deleteAccount(long id) { diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/ui/preparecreate/PrepareCreateActivity.java b/app/src/main/java/it/niedermann/nextcloud/deck/ui/preparecreate/PrepareCreateActivity.java index 5e316593f..659190cab 100644 --- a/app/src/main/java/it/niedermann/nextcloud/deck/ui/preparecreate/PrepareCreateActivity.java +++ b/app/src/main/java/it/niedermann/nextcloud/deck/ui/preparecreate/PrepareCreateActivity.java @@ -55,7 +55,7 @@ public class PrepareCreateActivity extends PickStackActivity { ); } - viewModel.saveCard(account.getId(), boardId, stackId, fullCard, new IResponseCallback<>() { + viewModel.saveCard(account, boardId, stackId, fullCard, new IResponseCallback<>() { @Override public void onResponse(FullCard response) { saveCurrentAccount(PrepareCreateActivity.this, account); diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/ui/preparecreate/PrepareCreateViewModel.java b/app/src/main/java/it/niedermann/nextcloud/deck/ui/preparecreate/PrepareCreateViewModel.java index aef37bbcd..fb3bd5c91 100644 --- a/app/src/main/java/it/niedermann/nextcloud/deck/ui/preparecreate/PrepareCreateViewModel.java +++ b/app/src/main/java/it/niedermann/nextcloud/deck/ui/preparecreate/PrepareCreateViewModel.java @@ -8,6 +8,7 @@ import androidx.annotation.Nullable; import androidx.lifecycle.AndroidViewModel; import it.niedermann.nextcloud.deck.api.IResponseCallback; +import it.niedermann.nextcloud.deck.model.Account; import it.niedermann.nextcloud.deck.model.Card; import it.niedermann.nextcloud.deck.model.full.FullCard; import it.niedermann.nextcloud.deck.model.ocs.Version; @@ -16,15 +17,12 @@ import it.niedermann.nextcloud.deck.persistence.sync.SyncManager; @SuppressWarnings("WeakerAccess") public class PrepareCreateViewModel extends AndroidViewModel { - private final SyncManager syncManager; - public PrepareCreateViewModel(@NonNull Application application) { super(application); - this.syncManager = new SyncManager(application); } - public void saveCard(long accountId, long boardLocalId, long stackLocalId, @NonNull FullCard fullCard, @NonNull IResponseCallback<FullCard> callback) { - syncManager.createFullCard(accountId, boardLocalId, stackLocalId, fullCard, callback); + public void saveCard(@NonNull Account account, long boardLocalId, long stackLocalId, @NonNull FullCard fullCard, @NonNull IResponseCallback<FullCard> callback) { + new SyncManager(getApplication(), account.getName()).createFullCard(account.getId(), boardLocalId, stackLocalId, fullCard, callback); } @SuppressWarnings("ConstantConditions") diff --git a/fastlane/metadata/android/en-US/changelogs/1021008.txt b/fastlane/metadata/android/en-US/changelogs/1021008.txt index af1b83066..c6edf45e7 100644 --- a/fastlane/metadata/android/en-US/changelogs/1021008.txt +++ b/fastlane/metadata/android/en-US/changelogs/1021008.txt @@ -1 +1,2 @@ - 🐞 Fix invisible description and assignees in boards which are shared read-only (#1401) +- 🐞 Creating a card by shortcut does only work for last selected account (#1370) |