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:
authorStefan Niedermann <info@niedermann.it>2021-08-03 12:27:44 +0300
committerStefan Niedermann <info@niedermann.it>2021-08-03 12:27:44 +0300
commita9f814216069af7d960c22c036bfa1d92f69f2f3 (patch)
treef7c54b82a57c81e974b4996c8dc41c11ace4bf70 /app/src/main/java/it/niedermann
parent79a442550f86709cab9694a46ac54b548407ee25 (diff)
Disable save / edit buttons while pending
Signed-off-by: Stefan Niedermann <info@niedermann.it>
Diffstat (limited to 'app/src/main/java/it/niedermann')
-rw-r--r--app/src/main/java/it/niedermann/nextcloud/deck/ui/branding/NewCardDialog.java22
-rw-r--r--app/src/main/java/it/niedermann/nextcloud/deck/ui/preparecreate/PrepareCreateViewModel.java8
2 files changed, 17 insertions, 13 deletions
diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/ui/branding/NewCardDialog.java b/app/src/main/java/it/niedermann/nextcloud/deck/ui/branding/NewCardDialog.java
index 84a3b1d0f..5332dc0e0 100644
--- a/app/src/main/java/it/niedermann/nextcloud/deck/ui/branding/NewCardDialog.java
+++ b/app/src/main/java/it/niedermann/nextcloud/deck/ui/branding/NewCardDialog.java
@@ -1,5 +1,7 @@
package it.niedermann.nextcloud.deck.ui.branding;
+import static androidx.lifecycle.Transformations.distinctUntilChanged;
+
import android.app.Dialog;
import android.content.Context;
import android.content.DialogInterface;
@@ -30,8 +32,6 @@ import it.niedermann.nextcloud.deck.ui.card.EditActivity;
import it.niedermann.nextcloud.deck.ui.exception.ExceptionDialogFragment;
import it.niedermann.nextcloud.deck.ui.preparecreate.PrepareCreateViewModel;
-import static androidx.lifecycle.Transformations.distinctUntilChanged;
-
public class NewCardDialog extends DialogFragment implements DialogInterface.OnClickListener {
private PrepareCreateViewModel viewModel;
@@ -53,7 +53,7 @@ public class NewCardDialog extends DialogFragment implements DialogInterface.OnC
@Override
public void onAttach(@NonNull Context context) {
super.onAttach(context);
- final Bundle args = getArguments();
+ final var args = getArguments();
if (args == null) {
throw new IllegalArgumentException("Provide " + ARG_ACCOUNT + ", " + ARG_BOARD_LOCAL_ID + " and " + ARG_STACK_LOCAL_ID);
}
@@ -69,7 +69,7 @@ public class NewCardDialog extends DialogFragment implements DialogInterface.OnC
public Dialog onCreateDialog(@Nullable Bundle savedInstanceState) {
binding = DialogNewCardBinding.inflate(requireActivity().getLayoutInflater());
- final AlertDialog dialog = new AlertDialog.Builder(requireActivity())
+ final var dialog = new AlertDialog.Builder(requireActivity())
.setTitle(R.string.add_card)
.setView(binding.getRoot())
.setPositiveButton(R.string.edit, null)
@@ -113,9 +113,13 @@ public class NewCardDialog extends DialogFragment implements DialogInterface.OnC
if (isPending) {
binding.inputWrapper.setVisibility(View.INVISIBLE);
binding.progressCircular.setVisibility(View.VISIBLE);
+ dialog.getButton(DialogInterface.BUTTON_POSITIVE).setEnabled(false);
+ dialog.getButton(DialogInterface.BUTTON_NEGATIVE).setEnabled(false);
} else {
binding.inputWrapper.setVisibility(View.VISIBLE);
binding.progressCircular.setVisibility(View.GONE);
+ dialog.getButton(DialogInterface.BUTTON_POSITIVE).setEnabled(true);
+ dialog.getButton(DialogInterface.BUTTON_NEGATIVE).setEnabled(true);
}
});
@@ -155,10 +159,10 @@ public class NewCardDialog extends DialogFragment implements DialogInterface.OnC
}
if (Boolean.FALSE.equals(isPending.getValue())) {
isPending.setValue(true);
- final Editable currentUserInput = binding.input.getText();
+ final var currentUserInput = binding.input.getText();
if (inputIsValid(currentUserInput)) {
- final FullCard fullCard = viewModel.createFullCard(account.getServerDeckVersionAsObject(), currentUserInput.toString());
- viewModel.saveCard(account.getId(), boardLocalId, stackLocalId, fullCard, new IResponseCallback<FullCard>() {
+ final var fullCard = viewModel.createFullCard(account.getServerDeckVersionAsObject(), currentUserInput.toString());
+ viewModel.saveCard(account.getId(), boardLocalId, stackLocalId, fullCard, new IResponseCallback<>() {
@Override
public void onResponse(FullCard createdCard) {
requireActivity().runOnUiThread(() -> {
@@ -193,8 +197,8 @@ public class NewCardDialog extends DialogFragment implements DialogInterface.OnC
}
public static DialogFragment newInstance(@NonNull Account account, long boardLocalId, long stackLocalId, @ColorInt int brand) {
- final DialogFragment fragment = new NewCardDialog();
- final Bundle args = new Bundle();
+ final var fragment = new NewCardDialog();
+ final var args = new Bundle();
args.putSerializable(ARG_ACCOUNT, account);
args.putLong(ARG_BOARD_LOCAL_ID, boardLocalId);
args.putLong(ARG_STACK_LOCAL_ID, stackLocalId);
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 1ce61f380..aef37bbcd 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
@@ -63,8 +63,8 @@ public class PrepareCreateViewModel extends AndroidViewModel {
public FullCard createFullCard(@NonNull Version version, @NonNull String title, @NonNull String description) {
if (!TextUtils.isEmpty(title) && !TextUtils.isEmpty(description)) {
- final FullCard fullCard = new FullCard();
- final Card card = new Card();
+ final var fullCard = new FullCard();
+ final var card = new Card();
final int maxLength = version.getCardTitleMaxLength();
if (title.length() > maxLength) {
card.setTitle(title.substring(0, maxLength));
@@ -88,8 +88,8 @@ public class PrepareCreateViewModel extends AndroidViewModel {
if (TextUtils.isEmpty(content)) {
throw new IllegalArgumentException("Content must not be empty.");
}
- final FullCard fullCard = new FullCard();
- final Card card = new Card();
+ final var fullCard = new FullCard();
+ final var card = new Card();
final int maxLength = version.getCardTitleMaxLength();
if (content.length() > maxLength) {
card.setTitle(content.substring(0, maxLength).trim());