| 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);
|
|
|