From 27bf2a57710edc559afe653ea6e04339aad1fb7b Mon Sep 17 00:00:00 2001 From: bcbarnes-gmx Date: Mon, 22 Jul 2013 09:59:14 -0500 Subject: Issues #41 and #43 --- .../sufficientlysecure/keychain/ui/widget/KeyEditor.java | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) (limited to 'OpenPGP-Keychain/src') diff --git a/OpenPGP-Keychain/src/org/sufficientlysecure/keychain/ui/widget/KeyEditor.java b/OpenPGP-Keychain/src/org/sufficientlysecure/keychain/ui/widget/KeyEditor.java index e9a5674cd..45c106eb9 100644 --- a/OpenPGP-Keychain/src/org/sufficientlysecure/keychain/ui/widget/KeyEditor.java +++ b/OpenPGP-Keychain/src/org/sufficientlysecure/keychain/ui/widget/KeyEditor.java @@ -59,10 +59,14 @@ public class KeyEditor extends LinearLayout implements Editor, OnClickListener { Button mExpiryDateButton; GregorianCalendar mExpiryDate; + private int mDatePickerResultCount = 0; private DatePickerDialog.OnDateSetListener mExpiryDateSetListener = new DatePickerDialog.OnDateSetListener() { public void onDateSet(DatePicker view, int year, int monthOfYear, int dayOfMonth) { - GregorianCalendar date = new GregorianCalendar(year, monthOfYear, dayOfMonth); - setExpiryDate(date); + if(mDatePickerResultCount++ == 0) // Note: Ignore results after the first one - android sends multiples. + { + GregorianCalendar date = new GregorianCalendar(year, monthOfYear, dayOfMonth); + setExpiryDate(date); + } } }; @@ -111,11 +115,15 @@ public class KeyEditor extends LinearLayout implements Editor, OnClickListener { DatePickerDialog dialog = new DatePickerDialog(getContext(), mExpiryDateSetListener, date.get(Calendar.YEAR), date.get(Calendar.MONTH), date.get(Calendar.DAY_OF_MONTH)); + mDatePickerResultCount = 0; dialog.setCancelable(true); dialog.setButton(Dialog.BUTTON_NEGATIVE, getContext() .getString(R.string.btn_noDate), new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int which) { - setExpiryDate(null); + if(mDatePickerResultCount++ == 0) // Note: Ignore results after the first one - android sends multiples. + { + setExpiryDate(null); + } } }); dialog.show(); -- cgit v1.2.3