Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(2679)

Unified Diff: content/public/android/java/src/org/chromium/content/browser/input/MonthPicker.java

Issue 85643002: Transfer date/time value to chooser as double (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@doubledate2
Patch Set: Created 7 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: content/public/android/java/src/org/chromium/content/browser/input/MonthPicker.java
diff --git a/content/public/android/java/src/org/chromium/content/browser/input/MonthPicker.java b/content/public/android/java/src/org/chromium/content/browser/input/MonthPicker.java
index ab1f31e4d9a841427e7dba264e57292671e4aad6..c7ebe8d2df0a215ab7c26e3cffdfe79543d1aebc 100644
--- a/content/public/android/java/src/org/chromium/content/browser/input/MonthPicker.java
+++ b/content/public/android/java/src/org/chromium/content/browser/input/MonthPicker.java
@@ -12,13 +12,14 @@ import java.text.DateFormatSymbols;
import java.util.Arrays;
import java.util.Calendar;
import java.util.Locale;
+import java.util.TimeZone;
public class MonthPicker extends TwoFieldDatePicker {
private static final int MONTHS_NUMBER = 12;
private final String[] mShortMonths;
- public MonthPicker(Context context, long minValue, long maxValue) {
+ public MonthPicker(Context context, double minValue, double maxValue) {
super(context, minValue, maxValue);
getPositionInYearSpinner().setContentDescription(
@@ -29,23 +30,30 @@ public class MonthPicker extends TwoFieldDatePicker {
DateFormatSymbols.getInstance(Locale.getDefault()).getShortMonths();
// initialize to current date
- Calendar cal = Calendar.getInstance();
+ Calendar cal = Calendar.getInstance(TimeZone.getTimeZone("UTC"));
init(cal.get(Calendar.YEAR), cal.get(Calendar.MONTH), null);
}
- @Override
- protected Calendar createDateFromValue(long value) {
+ /**
+ * Creates a date object from the |value| which is months since epoch.
+ */
+ public static Calendar createDateFromValue(double value) {
int year = (int) Math.min(value / 12 + 1970, Integer.MAX_VALUE);
int month = (int) (value % 12);
- Calendar cal = Calendar.getInstance();
+ Calendar cal = Calendar.getInstance(TimeZone.getTimeZone("UTC"));
cal.clear();
cal.set(year, month, 1);
return cal;
}
@Override
+ protected Calendar getDateForValue(double value) {
+ return MonthPicker.createDateFromValue(value);
+ }
+
+ @Override
protected void setCurrentDate(int year, int month) {
- Calendar date = Calendar.getInstance();
+ Calendar date = Calendar.getInstance(TimeZone.getTimeZone("UTC"));
date.set(year, month, 1);
if (date.before(getMinDate())) {
setCurrentDate(getMinDate());

Powered by Google App Engine
This is Rietveld 408576698