ADD week 5
This commit is contained in:
		| @@ -0,0 +1,199 @@ | ||||
| package com.google.android.material.datepicker; | ||||
|  | ||||
| import android.content.res.Resources; | ||||
| import android.icu.text.DateFormat; | ||||
| import android.icu.text.DisplayContext; | ||||
| import com.google.android.material.R; | ||||
| import java.text.SimpleDateFormat; | ||||
| import java.util.Calendar; | ||||
| import java.util.Locale; | ||||
| import java.util.TimeZone; | ||||
| import java.util.concurrent.atomic.AtomicReference; | ||||
|  | ||||
| /* loaded from: classes.dex */ | ||||
| class UtcDates { | ||||
|     static final String UTC = "UTC"; | ||||
|     static AtomicReference<TimeSource> timeSourceRef = new AtomicReference<>(); | ||||
|  | ||||
|     static void setTimeSource(TimeSource timeSource) { | ||||
|         timeSourceRef.set(timeSource); | ||||
|     } | ||||
|  | ||||
|     static TimeSource getTimeSource() { | ||||
|         TimeSource timeSource = timeSourceRef.get(); | ||||
|         return timeSource == null ? TimeSource.system() : timeSource; | ||||
|     } | ||||
|  | ||||
|     private UtcDates() { | ||||
|     } | ||||
|  | ||||
|     private static TimeZone getTimeZone() { | ||||
|         return TimeZone.getTimeZone(UTC); | ||||
|     } | ||||
|  | ||||
|     private static android.icu.util.TimeZone getUtcAndroidTimeZone() { | ||||
|         android.icu.util.TimeZone timeZone; | ||||
|         timeZone = android.icu.util.TimeZone.getTimeZone(UTC); | ||||
|         return timeZone; | ||||
|     } | ||||
|  | ||||
|     static Calendar getTodayCalendar() { | ||||
|         Calendar now = getTimeSource().now(); | ||||
|         now.set(11, 0); | ||||
|         now.set(12, 0); | ||||
|         now.set(13, 0); | ||||
|         now.set(14, 0); | ||||
|         now.setTimeZone(getTimeZone()); | ||||
|         return now; | ||||
|     } | ||||
|  | ||||
|     static Calendar getUtcCalendar() { | ||||
|         return getUtcCalendarOf(null); | ||||
|     } | ||||
|  | ||||
|     static Calendar getUtcCalendarOf(Calendar calendar) { | ||||
|         Calendar calendar2 = Calendar.getInstance(getTimeZone()); | ||||
|         if (calendar == null) { | ||||
|             calendar2.clear(); | ||||
|         } else { | ||||
|             calendar2.setTimeInMillis(calendar.getTimeInMillis()); | ||||
|         } | ||||
|         return calendar2; | ||||
|     } | ||||
|  | ||||
|     static Calendar getDayCopy(Calendar calendar) { | ||||
|         Calendar utcCalendarOf = getUtcCalendarOf(calendar); | ||||
|         Calendar utcCalendar = getUtcCalendar(); | ||||
|         utcCalendar.set(utcCalendarOf.get(1), utcCalendarOf.get(2), utcCalendarOf.get(5)); | ||||
|         return utcCalendar; | ||||
|     } | ||||
|  | ||||
|     static long canonicalYearMonthDay(long j) { | ||||
|         Calendar utcCalendar = getUtcCalendar(); | ||||
|         utcCalendar.setTimeInMillis(j); | ||||
|         return getDayCopy(utcCalendar).getTimeInMillis(); | ||||
|     } | ||||
|  | ||||
|     private static DateFormat getAndroidFormat(String str, Locale locale) { | ||||
|         DateFormat instanceForSkeleton; | ||||
|         DisplayContext displayContext; | ||||
|         instanceForSkeleton = DateFormat.getInstanceForSkeleton(str, locale); | ||||
|         instanceForSkeleton.setTimeZone(getUtcAndroidTimeZone()); | ||||
|         displayContext = DisplayContext.CAPITALIZATION_FOR_STANDALONE; | ||||
|         instanceForSkeleton.setContext(displayContext); | ||||
|         return instanceForSkeleton; | ||||
|     } | ||||
|  | ||||
|     private static java.text.DateFormat getFormat(int i, Locale locale) { | ||||
|         java.text.DateFormat dateInstance = java.text.DateFormat.getDateInstance(i, locale); | ||||
|         dateInstance.setTimeZone(getTimeZone()); | ||||
|         return dateInstance; | ||||
|     } | ||||
|  | ||||
|     static java.text.DateFormat getNormalizedFormat(java.text.DateFormat dateFormat) { | ||||
|         java.text.DateFormat dateFormat2 = (java.text.DateFormat) dateFormat.clone(); | ||||
|         dateFormat2.setTimeZone(getTimeZone()); | ||||
|         return dateFormat2; | ||||
|     } | ||||
|  | ||||
|     static SimpleDateFormat getDefaultTextInputFormat() { | ||||
|         SimpleDateFormat simpleDateFormat = new SimpleDateFormat(getDatePatternAsInputFormat(((SimpleDateFormat) java.text.DateFormat.getDateInstance(3, Locale.getDefault())).toPattern()), Locale.getDefault()); | ||||
|         simpleDateFormat.setTimeZone(getTimeZone()); | ||||
|         simpleDateFormat.setLenient(false); | ||||
|         return simpleDateFormat; | ||||
|     } | ||||
|  | ||||
|     static String getDefaultTextInputHint(Resources resources, SimpleDateFormat simpleDateFormat) { | ||||
|         String pattern = simpleDateFormat.toPattern(); | ||||
|         String string = resources.getString(R.string.mtrl_picker_text_input_year_abbr); | ||||
|         String string2 = resources.getString(R.string.mtrl_picker_text_input_month_abbr); | ||||
|         String string3 = resources.getString(R.string.mtrl_picker_text_input_day_abbr); | ||||
|         if (Locale.getDefault().getLanguage().equals(Locale.KOREAN.getLanguage())) { | ||||
|             pattern = pattern.replaceAll("d+", "d").replaceAll("M+", "M").replaceAll("y+", "y"); | ||||
|         } | ||||
|         return pattern.replace("d", string3).replace("M", string2).replace("y", string); | ||||
|     } | ||||
|  | ||||
|     static String getDatePatternAsInputFormat(String str) { | ||||
|         return str.replaceAll("[^dMy/\\-.]", "").replaceAll("d{1,2}", "dd").replaceAll("M{1,2}", "MM").replaceAll("y{1,4}", "yyyy").replaceAll("\\.$", "").replaceAll("My", "M/y"); | ||||
|     } | ||||
|  | ||||
|     static SimpleDateFormat getSimpleFormat(String str) { | ||||
|         return getSimpleFormat(str, Locale.getDefault()); | ||||
|     } | ||||
|  | ||||
|     private static SimpleDateFormat getSimpleFormat(String str, Locale locale) { | ||||
|         SimpleDateFormat simpleDateFormat = new SimpleDateFormat(str, locale); | ||||
|         simpleDateFormat.setTimeZone(getTimeZone()); | ||||
|         return simpleDateFormat; | ||||
|     } | ||||
|  | ||||
|     static DateFormat getYearMonthFormat(Locale locale) { | ||||
|         return getAndroidFormat("yMMMM", locale); | ||||
|     } | ||||
|  | ||||
|     static DateFormat getYearAbbrMonthDayFormat(Locale locale) { | ||||
|         return getAndroidFormat("yMMMd", locale); | ||||
|     } | ||||
|  | ||||
|     static DateFormat getAbbrMonthDayFormat(Locale locale) { | ||||
|         return getAndroidFormat("MMMd", locale); | ||||
|     } | ||||
|  | ||||
|     static DateFormat getMonthWeekdayDayFormat(Locale locale) { | ||||
|         return getAndroidFormat("MMMMEEEEd", locale); | ||||
|     } | ||||
|  | ||||
|     static DateFormat getYearMonthWeekdayDayFormat(Locale locale) { | ||||
|         return getAndroidFormat("yMMMMEEEEd", locale); | ||||
|     } | ||||
|  | ||||
|     static java.text.DateFormat getMediumFormat() { | ||||
|         return getMediumFormat(Locale.getDefault()); | ||||
|     } | ||||
|  | ||||
|     static java.text.DateFormat getMediumFormat(Locale locale) { | ||||
|         return getFormat(2, locale); | ||||
|     } | ||||
|  | ||||
|     static java.text.DateFormat getMediumNoYear() { | ||||
|         return getMediumNoYear(Locale.getDefault()); | ||||
|     } | ||||
|  | ||||
|     static java.text.DateFormat getMediumNoYear(Locale locale) { | ||||
|         SimpleDateFormat simpleDateFormat = (SimpleDateFormat) getMediumFormat(locale); | ||||
|         simpleDateFormat.applyPattern(removeYearFromDateFormatPattern(simpleDateFormat.toPattern())); | ||||
|         return simpleDateFormat; | ||||
|     } | ||||
|  | ||||
|     static java.text.DateFormat getFullFormat() { | ||||
|         return getFullFormat(Locale.getDefault()); | ||||
|     } | ||||
|  | ||||
|     static java.text.DateFormat getFullFormat(Locale locale) { | ||||
|         return getFormat(0, locale); | ||||
|     } | ||||
|  | ||||
|     private static String removeYearFromDateFormatPattern(String str) { | ||||
|         int findCharactersInDateFormatPattern = findCharactersInDateFormatPattern(str, "yY", 1, 0); | ||||
|         if (findCharactersInDateFormatPattern >= str.length()) { | ||||
|             return str; | ||||
|         } | ||||
|         int findCharactersInDateFormatPattern2 = findCharactersInDateFormatPattern(str, "EMd", 1, findCharactersInDateFormatPattern); | ||||
|         return str.replace(str.substring(findCharactersInDateFormatPattern(str, findCharactersInDateFormatPattern2 < str.length() ? "EMd," : "EMd", -1, findCharactersInDateFormatPattern) + 1, findCharactersInDateFormatPattern2), " ").trim(); | ||||
|     } | ||||
|  | ||||
|     private static int findCharactersInDateFormatPattern(String str, String str2, int i, int i2) { | ||||
|         while (i2 >= 0 && i2 < str.length() && str2.indexOf(str.charAt(i2)) == -1) { | ||||
|             if (str.charAt(i2) == '\'') { | ||||
|                 do { | ||||
|                     i2 += i; | ||||
|                     if (i2 >= 0 && i2 < str.length()) { | ||||
|                     } | ||||
|                 } while (str.charAt(i2) != '\''); | ||||
|             } | ||||
|             i2 += i; | ||||
|         } | ||||
|         return i2; | ||||
|     } | ||||
| } | ||||
		Reference in New Issue
	
	Block a user