diff options
author | Alan Viverette <alanv@google.com> | 2015-03-23 21:36:07 +0000 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2015-03-23 21:36:08 +0000 |
commit | 167fa2fdb72d2cd73f6439e32ac91a6ff659437c (patch) | |
tree | e6cc86db17e1183c65e5aa317d7b4f2dc7c52ad4 | |
parent | bb522cb33604ae29afe65ec1bdbe496e052e8f0c (diff) | |
parent | 452fe349841476e4c7d17ab0652bdd4d45ce4595 (diff) | |
download | frameworks_base-167fa2fdb72d2cd73f6439e32ac91a6ff659437c.zip frameworks_base-167fa2fdb72d2cd73f6439e32ac91a6ff659437c.tar.gz frameworks_base-167fa2fdb72d2cd73f6439e32ac91a6ff659437c.tar.bz2 |
Merge "Clean up date picker"
-rw-r--r-- | core/java/android/widget/DatePicker.java | 34 | ||||
-rwxr-xr-x | core/java/android/widget/DatePickerCalendarDelegate.java | 75 |
2 files changed, 32 insertions, 77 deletions
diff --git a/core/java/android/widget/DatePicker.java b/core/java/android/widget/DatePicker.java index 19ae6e2..636826f 100644 --- a/core/java/android/widget/DatePicker.java +++ b/core/java/android/widget/DatePicker.java @@ -348,9 +348,13 @@ public class DatePicker extends FrameLayout { } /** - * Gets whether the {@link CalendarView} is shown. + * Returns whether the {@link CalendarView} is shown. + * <p> + * <strong>Note:</strong> This method returns {@code false} when the + * {@link android.R.styleable#DatePicker_datePickerMode} attribute is set + * to {@code calendar}. * - * @return True if the calendar view is shown. + * @return {@code true} if the calendar view is shown * @see #getCalendarView() */ public boolean getCalendarViewShown() { @@ -358,13 +362,13 @@ public class DatePicker extends FrameLayout { } /** - * Gets the {@link CalendarView}. + * Returns the {@link CalendarView} used by this picker. * <p> - * This method returns {@code null} when the + * <strong>Note:</strong> This method returns {@code null} when the * {@link android.R.styleable#DatePicker_datePickerMode} attribute is set * to {@code calendar}. * - * @return The calendar view. + * @return the calendar view * @see #getCalendarViewShown() */ public CalendarView getCalendarView() { @@ -374,20 +378,25 @@ public class DatePicker extends FrameLayout { /** * Sets whether the {@link CalendarView} is shown. * <p> - * Calling this method has no effect when the + * <strong>Note:</strong> Calling this method has no effect when the * {@link android.R.styleable#DatePicker_datePickerMode} attribute is set * to {@code calendar}. * - * @param shown True if the calendar view is to be shown. + * @param shown {@code true} to show the calendar view, {@code false} to + * hide it */ public void setCalendarViewShown(boolean shown) { mDelegate.setCalendarViewShown(shown); } /** - * Gets whether the spinners are shown. + * Returns whether the spinners are shown. + * <p> + * T<strong>Note:</strong> his method returns {@code false} when the + * {@link android.R.styleable#DatePicker_datePickerMode} attribute is set + * to {@code calendar}. * - * @return True if the spinners are shown. + * @return {@code true} if the spinners are shown */ public boolean getSpinnersShown() { return mDelegate.getSpinnersShown(); @@ -395,8 +404,13 @@ public class DatePicker extends FrameLayout { /** * Sets whether the spinners are shown. + * <p> + * Calling this method has no effect when the + * {@link android.R.styleable#DatePicker_datePickerMode} attribute is set + * to {@code calendar}. * - * @param shown True if the spinners are to be shown. + * @param shown {@code true} to show the spinners, {@code false} to hide + * them */ public void setSpinnersShown(boolean shown) { mDelegate.setSpinnersShown(shown); diff --git a/core/java/android/widget/DatePickerCalendarDelegate.java b/core/java/android/widget/DatePickerCalendarDelegate.java index de43b2f..7b8a979 100755 --- a/core/java/android/widget/DatePickerCalendarDelegate.java +++ b/core/java/android/widget/DatePickerCalendarDelegate.java @@ -61,10 +61,6 @@ class DatePickerCalendarDelegate extends DatePicker.AbstractDatePickerDelegate { private static final int ANIMATION_DURATION = 300; - private static final int MONTH_INDEX = 0; - private static final int DAY_INDEX = 1; - private static final int YEAR_INDEX = 2; - public static final int[] ATTRS_TEXT_COLOR = new int[]{com.android.internal.R.attr.textColor}; public static final int[] ATTRS_DISABLED_ALPHA = new int[]{ @@ -93,10 +89,10 @@ class DatePickerCalendarDelegate extends DatePicker.AbstractDatePickerDelegate { private int mCurrentView = UNINITIALIZED; - private Calendar mCurrentDate; - private Calendar mTempDate; - private Calendar mMinDate; - private Calendar mMaxDate; + private final Calendar mCurrentDate; + private final Calendar mTempDate; + private final Calendar mMinDate; + private final Calendar mMaxDate; private int mFirstDayOfWeek = USE_LOCALE; @@ -105,10 +101,10 @@ class DatePickerCalendarDelegate extends DatePicker.AbstractDatePickerDelegate { super(delegator, context); final Locale locale = mCurrentLocale; - mMinDate = getCalendarForLocale(mMinDate, locale); - mMaxDate = getCalendarForLocale(mMaxDate, locale); - mTempDate = getCalendarForLocale(mMaxDate, locale); - mCurrentDate = getCalendarForLocale(mCurrentDate, locale); + mCurrentDate = Calendar.getInstance(locale); + mTempDate = Calendar.getInstance(locale); + mMinDate = Calendar.getInstance(locale); + mMaxDate = Calendar.getInstance(locale); mMinDate.set(DEFAULT_START_YEAR, Calendar.JANUARY, 1); mMaxDate.set(DEFAULT_END_YEAR, Calendar.DECEMBER, 31); @@ -315,61 +311,6 @@ class DatePickerCalendarDelegate extends DatePicker.AbstractDatePickerDelegate { } }; - /** - * Gets a calendar for locale bootstrapped with the value of a given calendar. - * - * @param oldCalendar The old calendar. - * @param locale The locale. - */ - private Calendar getCalendarForLocale(Calendar oldCalendar, Locale locale) { - if (oldCalendar == null) { - return Calendar.getInstance(locale); - } else { - final long currentTimeMillis = oldCalendar.getTimeInMillis(); - Calendar newCalendar = Calendar.getInstance(locale); - newCalendar.setTimeInMillis(currentTimeMillis); - return newCalendar; - } - } - - /** - * Compute the array representing the order of Month / Day / Year views in their layout. - * Will be used for I18N purpose as the order of them depends on the Locale. - */ - private int[] getMonthDayYearIndexes(String pattern) { - int[] result = new int[3]; - - final String filteredPattern = pattern.replaceAll("'.*?'", ""); - - final int dayIndex = filteredPattern.indexOf('d'); - final int monthMIndex = filteredPattern.indexOf("M"); - final int monthIndex = (monthMIndex != -1) ? monthMIndex : filteredPattern.indexOf("L"); - final int yearIndex = filteredPattern.indexOf("y"); - - if (yearIndex < monthIndex) { - result[YEAR_INDEX] = 0; - - if (monthIndex < dayIndex) { - result[MONTH_INDEX] = 1; - result[DAY_INDEX] = 2; - } else { - result[MONTH_INDEX] = 2; - result[DAY_INDEX] = 1; - } - } else { - result[YEAR_INDEX] = 2; - - if (monthIndex < dayIndex) { - result[MONTH_INDEX] = 0; - result[DAY_INDEX] = 1; - } else { - result[MONTH_INDEX] = 1; - result[DAY_INDEX] = 0; - } - } - return result; - } - @Override protected void onLocaleChanged(Locale locale) { final TextView headerYear = mHeaderYear; |