aboutsummaryrefslogtreecommitdiffstats
path: root/OpenPGP-Keychain
diff options
context:
space:
mode:
authorBhargav Golla <bhargav.golla@gmail.com>2014-03-05 12:48:24 -0500
committerBhargav Golla <bhargav.golla@gmail.com>2014-03-05 12:48:24 -0500
commit92ba91de1483e64d173b135c73012851bd372cbe (patch)
treec1e8118cc4e32c56091b4bb61109322af1508367 /OpenPGP-Keychain
parent7a957840748766345f0180b2a3f8dee761161be4 (diff)
downloadopen-keychain-92ba91de1483e64d173b135c73012851bd372cbe.tar.gz
open-keychain-92ba91de1483e64d173b135c73012851bd372cbe.tar.bz2
open-keychain-92ba91de1483e64d173b135c73012851bd372cbe.zip
Set min date to one day after Created Date. Works on Honeycomb and above
Diffstat (limited to 'OpenPGP-Keychain')
-rw-r--r--OpenPGP-Keychain/src/main/java/org/sufficientlysecure/keychain/ui/widget/KeyEditor.java29
1 files changed, 25 insertions, 4 deletions
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 b8bb547ee..7344248f7 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
@@ -34,6 +34,7 @@ import android.app.DatePickerDialog;
import android.app.Dialog;
import android.content.Context;
import android.content.DialogInterface;
+import android.text.format.DateUtils;
import android.util.AttributeSet;
import android.view.View;
import android.view.View.OnClickListener;
@@ -58,6 +59,7 @@ public class KeyEditor extends LinearLayout implements Editor, OnClickListener {
Spinner mUsage;
TextView mCreationDate;
BootstrapButton mExpiryDateButton;
+ GregorianCalendar mCreatedDate;
GregorianCalendar mExpiryDate;
private int mDatePickerResultCount = 0;
@@ -106,8 +108,7 @@ public class KeyEditor extends LinearLayout implements Editor, OnClickListener {
mDeleteButton.setOnClickListener(this);
setExpiryDate(null);
- String creationDate = mCreationDate.getText().toString();
- Date date = DateFormat.getDateInstance().parse(creationDate);
+
mExpiryDateButton.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
GregorianCalendar date = mExpiryDate;
@@ -130,7 +131,18 @@ public class KeyEditor extends LinearLayout implements Editor, OnClickListener {
}
}
});
- dialog.getDatePicker().setMinDate(date.getTime());
+ if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.HONEYCOMB) {
+ if ( dialog != null && mCreatedDate != null ) {
+ dialog.getDatePicker().setMinDate(mCreatedDate.getTime().getTime()+ DateUtils.DAY_IN_MILLIS);
+ android.util.Log.w("Date picker", "Date min set");
+ } else {
+ //When created date isn't available
+ dialog.getDatePicker().setMinDate(date.getTime().getTime()+ DateUtils.DAY_IN_MILLIS);
+ android.util.Log.w("Date picker", "Date min set using current time");
+ }
+ } else {
+ android.util.Log.w("Date picker", "API Level < 11 so not restricting date range...");
+ }
dialog.show();
}
});
@@ -207,7 +219,7 @@ public class KeyEditor extends LinearLayout implements Editor, OnClickListener {
GregorianCalendar cal = new GregorianCalendar(TimeZone.getTimeZone("UTC"));
cal.setTime(PgpKeyHelper.getCreationDate(key));
- mCreationDate.setText(DateFormat.getDateInstance().format(cal.getTime()));
+ setCreatedDate(cal);
cal = new GregorianCalendar(TimeZone.getTimeZone("UTC"));
Date expiryDate = PgpKeyHelper.getExpiryDate(key);
if (expiryDate == null) {
@@ -237,6 +249,15 @@ public class KeyEditor extends LinearLayout implements Editor, OnClickListener {
mEditorListener = listener;
}
+ private void setCreatedDate(GregorianCalendar date) {
+ mCreatedDate = date;
+ if (date == null) {
+ mCreationDate.setText(getContext().getString(R.string.none));
+ } else {
+ mCreationDate.setText(DateFormat.getDateInstance().format(date.getTime()));
+ }
+ }
+
private void setExpiryDate(GregorianCalendar date) {
mExpiryDate = date;
if (date == null) {