From f671c6b0d147e4151345ddbb5556099946352911 Mon Sep 17 00:00:00 2001 From: FC Stegerman Date: Sat, 29 Jul 2023 21:14:51 +0200 Subject: [PATCH] LoyaltyCardEditActivity: fix state loss on rotation for dates --- .../java/protect/card_locker/LoyaltyCardEditActivity.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/protect/card_locker/LoyaltyCardEditActivity.java b/app/src/main/java/protect/card_locker/LoyaltyCardEditActivity.java index d7b65d6cb..213cac99a 100644 --- a/app/src/main/java/protect/card_locker/LoyaltyCardEditActivity.java +++ b/app/src/main/java/protect/card_locker/LoyaltyCardEditActivity.java @@ -383,9 +383,11 @@ public class LoyaltyCardEditActivity extends CatimaAppCompatActivity implements switch (textFieldToEdit) { case validFrom: formatDateField(this, validFromField, newDate); + updateTempState(LoyaltyCardField.validFrom, newDate); break; case expiry: formatDateField(this, expiryField, newDate); + updateTempState(LoyaltyCardField.expiry, newDate); break; default: throw new AssertionError("Unexpected field: " + textFieldToEdit); @@ -979,6 +981,7 @@ public class LoyaltyCardEditActivity extends CatimaAppCompatActivity implements public void onTextChanged(CharSequence s, int start, int before, int count) { if (s.toString().equals(getString(defaultOptionStringId))) { dateField.setTag(null); + updateTempState(loyaltyCardField, null); } else if (s.toString().equals(getString(chooseDateOptionStringId))) { if (!lastValue.toString().equals(getString(chooseDateOptionStringId))) { dateField.setText(lastValue); @@ -992,8 +995,6 @@ public class LoyaltyCardEditActivity extends CatimaAppCompatActivity implements loyaltyCardField == LoyaltyCardField.validFrom ? (Date) expiryField.getTag() : null); datePickerFragment.show(getSupportFragmentManager(), "datePicker"); } - - updateTempState(loyaltyCardField, dateField.getTag()); } @Override