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

Unified Diff: content/public/android/java/src/org/chromium/content/browser/input/WeekPicker.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/WeekPicker.java
diff --git a/content/public/android/java/src/org/chromium/content/browser/input/WeekPicker.java b/content/public/android/java/src/org/chromium/content/browser/input/WeekPicker.java
index b8924f4e420d36ce0acd68a5c606a1de4e665eb7..a53460fa4e629a143485a5f7b3b742ad5bbf961a 100644
--- a/content/public/android/java/src/org/chromium/content/browser/input/WeekPicker.java
+++ b/content/public/android/java/src/org/chromium/content/browser/input/WeekPicker.java
@@ -9,26 +9,30 @@ import android.content.Context;
import org.chromium.content.R;
import java.util.Calendar;
+import java.util.TimeZone;
// This class is heavily based on android.widget.DatePicker.
public class WeekPicker extends TwoFieldDatePicker {
- public WeekPicker(Context context, long minValue, long maxValue) {
+ public WeekPicker(Context context, double minValue, double maxValue) {
super(context, minValue, maxValue);
getPositionInYearSpinner().setContentDescription(
getResources().getString(R.string.accessibility_date_picker_week));
// initialize to current date
- Calendar cal = Calendar.getInstance();
+ Calendar cal = Calendar.getInstance(TimeZone.getTimeZone("UTC"));
cal.setFirstDayOfWeek(Calendar.MONDAY);
cal.setMinimalDaysInFirstWeek(4);
cal.setTimeInMillis(System.currentTimeMillis());
init(getISOWeekYearForDate(cal), getWeekForDate(cal), null);
}
- private Calendar createDateFromWeek(int year, int week) {
- Calendar date = Calendar.getInstance();
+ /**
+ * Creates a date object from the |year| and |week|.
+ */
+ public static Calendar createDateFromWeek(int year, int week) {
+ Calendar date = Calendar.getInstance(TimeZone.getTimeZone("UTC"));
date.clear();
date.setFirstDayOfWeek(Calendar.MONDAY);
date.setMinimalDaysInFirstWeek(4);
@@ -38,16 +42,23 @@ public class WeekPicker extends TwoFieldDatePicker {
return date;
}
- @Override
- protected Calendar createDateFromValue(long value) {
- Calendar date = Calendar.getInstance();
+ /**
+ * Creates a date object from the |value| which is milliseconds since epoch.
+ */
+ public static Calendar createDateFromValue(double value) {
+ Calendar date = Calendar.getInstance(TimeZone.getTimeZone("UTC"));
date.clear();
date.setFirstDayOfWeek(Calendar.MONDAY);
date.setMinimalDaysInFirstWeek(4);
- date.setTimeInMillis(value);
+ date.setTimeInMillis((long) value);
return date;
}
+ @Override
+ protected Calendar getDateForValue(double value) {
+ return WeekPicker.createDateFromValue(value);
+ }
+
public static int getISOWeekYearForDate(Calendar date) {
int year = date.get(Calendar.YEAR);
int month = date.get(Calendar.MONTH);

Powered by Google App Engine
This is Rietveld 408576698