Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit ca38c436 authored by Alan Viverette's avatar Alan Viverette
Browse files

Use correct date pattern for displaying year in DatePicker

Also uses lambdas where appropriate.

Change-Id: I1b97745e434dc12cb88b427f8cd0b3cc66a73267
Fixes: 64339201
Test: visual check in Japanese locale
parent 713a9239
Loading
Loading
Loading
Loading
+19 −27
Original line number Original line Diff line number Diff line
@@ -22,11 +22,10 @@ import android.content.res.ColorStateList;
import android.content.res.Configuration;
import android.content.res.Configuration;
import android.content.res.Resources;
import android.content.res.Resources;
import android.content.res.TypedArray;
import android.content.res.TypedArray;
import android.icu.text.DateFormat;
import android.icu.text.DisplayContext;
import android.icu.text.DisplayContext;
import android.icu.text.SimpleDateFormat;
import android.icu.util.Calendar;
import android.icu.util.Calendar;
import android.os.Parcelable;
import android.os.Parcelable;
import android.text.format.DateFormat;
import android.util.AttributeSet;
import android.util.AttributeSet;
import android.util.StateSet;
import android.util.StateSet;
import android.view.HapticFeedbackConstants;
import android.view.HapticFeedbackConstants;
@@ -62,8 +61,8 @@ class DatePickerCalendarDelegate extends DatePicker.AbstractDatePickerDelegate {
    private static final int[] ATTRS_DISABLED_ALPHA = new int[] {
    private static final int[] ATTRS_DISABLED_ALPHA = new int[] {
            com.android.internal.R.attr.disabledAlpha};
            com.android.internal.R.attr.disabledAlpha};


    private SimpleDateFormat mYearFormat;
    private DateFormat mYearFormat;
    private SimpleDateFormat mMonthDayFormat;
    private DateFormat mMonthDayFormat;


    // Top-level container.
    // Top-level container.
    private ViewGroup mContainer;
    private ViewGroup mContainer;
@@ -273,9 +272,7 @@ class DatePickerCalendarDelegate extends DatePicker.AbstractDatePickerDelegate {
    /**
    /**
     * Listener called when the user clicks on a header item.
     * Listener called when the user clicks on a header item.
     */
     */
    private final OnClickListener mOnHeaderClickListener = new OnClickListener() {
    private final OnClickListener mOnHeaderClickListener = v -> {
        @Override
        public void onClick(View v) {
        tryVibrate();
        tryVibrate();


        switch (v.getId()) {
        switch (v.getId()) {
@@ -286,7 +283,6 @@ class DatePickerCalendarDelegate extends DatePicker.AbstractDatePickerDelegate {
                setCurrentView(VIEW_MONTH_DAY);
                setCurrentView(VIEW_MONTH_DAY);
                break;
                break;
        }
        }
        }
    };
    };


    @Override
    @Override
@@ -299,10 +295,9 @@ class DatePickerCalendarDelegate extends DatePicker.AbstractDatePickerDelegate {
        }
        }


        // Update the date formatter.
        // Update the date formatter.
        final String datePattern = DateFormat.getBestDateTimePattern(locale, "EMMMd");
        mMonthDayFormat = DateFormat.getInstanceForSkeleton("EMMMd", locale);
        mMonthDayFormat = new SimpleDateFormat(datePattern, locale);
        mMonthDayFormat.setContext(DisplayContext.CAPITALIZATION_FOR_STANDALONE);
        mMonthDayFormat.setContext(DisplayContext.CAPITALIZATION_FOR_STANDALONE);
        mYearFormat = new SimpleDateFormat("y", locale);
        mYearFormat = DateFormat.getInstanceForSkeleton("y", locale);


        // Update the header text.
        // Update the header text.
        onCurrentDateChanged(false);
        onCurrentDateChanged(false);
@@ -344,15 +339,12 @@ class DatePickerCalendarDelegate extends DatePicker.AbstractDatePickerDelegate {
            case VIEW_YEAR:
            case VIEW_YEAR:
                final int year = mCurrentDate.get(Calendar.YEAR);
                final int year = mCurrentDate.get(Calendar.YEAR);
                mYearPickerView.setYear(year);
                mYearPickerView.setYear(year);
                mYearPickerView.post(new Runnable() {
                mYearPickerView.post(() -> {
                    @Override
                    public void run() {
                    mYearPickerView.requestFocus();
                    mYearPickerView.requestFocus();
                    final View selected = mYearPickerView.getSelectedView();
                    final View selected = mYearPickerView.getSelectedView();
                    if (selected != null) {
                    if (selected != null) {
                        selected.requestFocus();
                        selected.requestFocus();
                    }
                    }
                    }
                });
                });


                if (mCurrentView != viewIndex) {
                if (mCurrentView != viewIndex) {