From 0a12c41ca96977188bf08d60e49cd266c7ba147a Mon Sep 17 00:00:00 2001 From: Miroojin Bakshi Date: Tue, 4 Mar 2014 18:45:06 +0530 Subject: Extend DatePickerDialog and override setTitle() method. --- .../sufficientlysecure/keychain/ui/widget/KeyEditor.java | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) (limited to 'OpenPGP-Keychain/src') diff --git a/OpenPGP-Keychain/src/main/java/org/sufficientlysecure/keychain/ui/widget/KeyEditor.java b/OpenPGP-Keychain/src/main/java/org/sufficientlysecure/keychain/ui/widget/KeyEditor.java index 6c265057e..60f505858 100644 --- a/OpenPGP-Keychain/src/main/java/org/sufficientlysecure/keychain/ui/widget/KeyEditor.java +++ b/OpenPGP-Keychain/src/main/java/org/sufficientlysecure/keychain/ui/widget/KeyEditor.java @@ -114,7 +114,7 @@ public class KeyEditor extends LinearLayout implements Editor, OnClickListener { date = new GregorianCalendar(TimeZone.getTimeZone("UTC")); } - DatePickerDialog dialog = new DatePickerDialog(getContext(), + DatePickerDialog dialog = new ExpiryDatePickerDialog(getContext(), mExpiryDateSetListener, date.get(Calendar.YEAR), date.get(Calendar.MONTH), date.get(Calendar.DAY_OF_MONTH)); mDatePickerResultCount = 0; @@ -253,3 +253,14 @@ public class KeyEditor extends LinearLayout implements Editor, OnClickListener { } } + +class ExpiryDatePickerDialog extends DatePickerDialog { + + public ExpiryDatePickerDialog(Context context, OnDateSetListener callBack, int year, int monthOfYear, int dayOfMonth) { + super(context, callBack, year, monthOfYear, dayOfMonth); + } + + public void setTitle(CharSequence title) { + super.setTitle("Set date"); + } +} -- cgit v1.2.3 From 50813ef188aefb78166a001f57b1f09b538a6aef Mon Sep 17 00:00:00 2001 From: Miroojin Bakshi Date: Tue, 4 Mar 2014 19:20:56 +0530 Subject: Hide CalendarView in tablets --- .../main/java/org/sufficientlysecure/keychain/ui/widget/KeyEditor.java | 3 +++ 1 file changed, 3 insertions(+) (limited to 'OpenPGP-Keychain/src') diff --git a/OpenPGP-Keychain/src/main/java/org/sufficientlysecure/keychain/ui/widget/KeyEditor.java b/OpenPGP-Keychain/src/main/java/org/sufficientlysecure/keychain/ui/widget/KeyEditor.java index 60f505858..b88d3bd32 100644 --- a/OpenPGP-Keychain/src/main/java/org/sufficientlysecure/keychain/ui/widget/KeyEditor.java +++ b/OpenPGP-Keychain/src/main/java/org/sufficientlysecure/keychain/ui/widget/KeyEditor.java @@ -129,6 +129,9 @@ public class KeyEditor extends LinearLayout implements Editor, OnClickListener { } } }); + //setCalendarViewShown() is supported from API 11 onwards. + if (android.os.Build.VERSION.SDK_INT >= 11) + dialog.getDatePicker().setCalendarViewShown(false); dialog.show(); } }); -- cgit v1.2.3 From a7a8f0a78ef083965f4ca2fe07d6811032fdc65a Mon Sep 17 00:00:00 2001 From: Miroojin Bakshi Date: Thu, 6 Mar 2014 01:13:08 +0530 Subject: Add documentation --- .../org/sufficientlysecure/keychain/ui/widget/KeyEditor.java | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) (limited to 'OpenPGP-Keychain/src') diff --git a/OpenPGP-Keychain/src/main/java/org/sufficientlysecure/keychain/ui/widget/KeyEditor.java b/OpenPGP-Keychain/src/main/java/org/sufficientlysecure/keychain/ui/widget/KeyEditor.java index b88d3bd32..b844a0619 100644 --- a/OpenPGP-Keychain/src/main/java/org/sufficientlysecure/keychain/ui/widget/KeyEditor.java +++ b/OpenPGP-Keychain/src/main/java/org/sufficientlysecure/keychain/ui/widget/KeyEditor.java @@ -113,7 +113,11 @@ public class KeyEditor extends LinearLayout implements Editor, OnClickListener { if (date == null) { date = new GregorianCalendar(TimeZone.getTimeZone("UTC")); } - + /* + * Using custom DatePickerDialog which overrides the setTitle because + * the DatePickerDialog title is buggy (unix warparound bug). + * See: https://code.google.com/p/android/issues/detail?id=49066 + */ DatePickerDialog dialog = new ExpiryDatePickerDialog(getContext(), mExpiryDateSetListener, date.get(Calendar.YEAR), date.get(Calendar.MONTH), date.get(Calendar.DAY_OF_MONTH)); @@ -129,8 +133,9 @@ public class KeyEditor extends LinearLayout implements Editor, OnClickListener { } } }); - //setCalendarViewShown() is supported from API 11 onwards. + // setCalendarViewShown() is supported from API 11 onwards. if (android.os.Build.VERSION.SDK_INT >= 11) + // Hide calendarView in tablets because of the unix warparound bug. dialog.getDatePicker().setCalendarViewShown(false); dialog.show(); } @@ -262,7 +267,7 @@ class ExpiryDatePickerDialog extends DatePickerDialog { public ExpiryDatePickerDialog(Context context, OnDateSetListener callBack, int year, int monthOfYear, int dayOfMonth) { super(context, callBack, year, monthOfYear, dayOfMonth); } - + //Set permanent title. public void setTitle(CharSequence title) { super.setTitle("Set date"); } -- cgit v1.2.3 From 127ab0fd817efa62b5375e9e158c68d5e50dad6c Mon Sep 17 00:00:00 2001 From: Miroojin Bakshi Date: Thu, 6 Mar 2014 01:27:35 +0530 Subject: Use string from strings.xml --- .../main/java/org/sufficientlysecure/keychain/ui/widget/KeyEditor.java | 2 +- OpenPGP-Keychain/src/main/res/values/strings.xml | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) (limited to 'OpenPGP-Keychain/src') diff --git a/OpenPGP-Keychain/src/main/java/org/sufficientlysecure/keychain/ui/widget/KeyEditor.java b/OpenPGP-Keychain/src/main/java/org/sufficientlysecure/keychain/ui/widget/KeyEditor.java index b844a0619..4598b54b1 100644 --- a/OpenPGP-Keychain/src/main/java/org/sufficientlysecure/keychain/ui/widget/KeyEditor.java +++ b/OpenPGP-Keychain/src/main/java/org/sufficientlysecure/keychain/ui/widget/KeyEditor.java @@ -269,6 +269,6 @@ class ExpiryDatePickerDialog extends DatePickerDialog { } //Set permanent title. public void setTitle(CharSequence title) { - super.setTitle("Set date"); + super.setTitle(getContext().getString(R.string.expiry_date_dialog_title)); } } diff --git a/OpenPGP-Keychain/src/main/res/values/strings.xml b/OpenPGP-Keychain/src/main/res/values/strings.xml index 3ca5f5426..9689010ed 100644 --- a/OpenPGP-Keychain/src/main/res/values/strings.xml +++ b/OpenPGP-Keychain/src/main/res/values/strings.xml @@ -130,6 +130,7 @@ Upload key to selected keyserver after certification Fingerprint Select + Set expiry date %d selected -- cgit v1.2.3