diff options
author | stefan-niedermann <info@niedermann.it> | 2019-11-05 22:37:21 +0300 |
---|---|---|
committer | stefan-niedermann <info@niedermann.it> | 2019-11-05 22:37:21 +0300 |
commit | fc9da99fed3fbc193a6de02c6f4a41433a7bc470 (patch) | |
tree | 50e9e01cf288fd8b5ccff54a545aa4289853e40e /app/src/main/java | |
parent | 52f5a98a3c1631d9b1da0a7b683ae97d44457e10 (diff) |
Fix #199 Creating cards: Fastly clicking on the checkmark tries to create card twice
Diffstat (limited to 'app/src/main/java')
-rw-r--r-- | app/src/main/java/it/niedermann/nextcloud/deck/ui/EditActivity.java | 24 |
1 files changed, 14 insertions, 10 deletions
diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/ui/EditActivity.java b/app/src/main/java/it/niedermann/nextcloud/deck/ui/EditActivity.java index 44250472e..7131dbac0 100644 --- a/app/src/main/java/it/niedermann/nextcloud/deck/ui/EditActivity.java +++ b/app/src/main/java/it/niedermann/nextcloud/deck/ui/EditActivity.java @@ -98,6 +98,7 @@ public class EditActivity extends AppCompatActivity implements private long stackId; private long localId; + private boolean pendingCreation = false; private boolean canEdit; private boolean createMode; @@ -205,19 +206,22 @@ public class EditActivity extends AppCompatActivity implements } private void saveAndFinish() { - //FIXME: nullpointer when no title entered! do not even save without title(?) - if (fullCard.getCard().getTitle() != null && fullCard.getCard().getTitle().isEmpty()) { - if (!fullCard.getCard().getDescription().isEmpty()) { - fullCard.getCard().setTitle(fullCard.getCard().getDescription().split("\n")[0]); + if (!pendingCreation) { + pendingCreation = true; + //FIXME: nullpointer when no title entered! do not even save without title(?) + if (fullCard.getCard().getTitle() != null && fullCard.getCard().getTitle().isEmpty()) { + if (!fullCard.getCard().getDescription().isEmpty()) { + fullCard.getCard().setTitle(fullCard.getCard().getDescription().split("\n")[0]); + } else { + fullCard.getCard().setTitle(""); + } + } + if (createMode) { + observeOnce(syncManager.createFullCard(accountId, boardId, stackId, fullCard), EditActivity.this, (card) -> super.finish()); } else { - fullCard.getCard().setTitle(""); + observeOnce(syncManager.updateCard(fullCard), EditActivity.this, (card) -> super.finish()); } } - if (createMode) { - observeOnce(syncManager.createFullCard(accountId, boardId, stackId, fullCard), EditActivity.this, (card) -> super.finish()); - } else { - observeOnce(syncManager.updateCard(fullCard), EditActivity.this, (card) -> super.finish()); - } } private void setupViewPager() { |