ADD week 5
This commit is contained in:
		| @@ -0,0 +1,78 @@ | ||||
| package com.google.android.material.datepicker; | ||||
|  | ||||
| import android.view.LayoutInflater; | ||||
| import android.view.View; | ||||
| import android.view.ViewGroup; | ||||
| import android.widget.TextView; | ||||
| import androidx.recyclerview.widget.RecyclerView; | ||||
| import com.google.android.material.R; | ||||
| import com.google.android.material.datepicker.MaterialCalendar; | ||||
| import com.google.android.material.timepicker.TimeModel; | ||||
| import java.util.Calendar; | ||||
| import java.util.Iterator; | ||||
| import java.util.Locale; | ||||
|  | ||||
| /* loaded from: classes.dex */ | ||||
| class YearGridAdapter extends RecyclerView.Adapter<ViewHolder> { | ||||
|     private final MaterialCalendar<?> materialCalendar; | ||||
|  | ||||
|     public static class ViewHolder extends RecyclerView.ViewHolder { | ||||
|         final TextView textView; | ||||
|  | ||||
|         ViewHolder(TextView textView) { | ||||
|             super(textView); | ||||
|             this.textView = textView; | ||||
|         } | ||||
|     } | ||||
|  | ||||
|     YearGridAdapter(MaterialCalendar<?> materialCalendar) { | ||||
|         this.materialCalendar = materialCalendar; | ||||
|     } | ||||
|  | ||||
|     @Override // androidx.recyclerview.widget.RecyclerView.Adapter | ||||
|     public ViewHolder onCreateViewHolder(ViewGroup viewGroup, int i) { | ||||
|         return new ViewHolder((TextView) LayoutInflater.from(viewGroup.getContext()).inflate(R.layout.mtrl_calendar_year, viewGroup, false)); | ||||
|     } | ||||
|  | ||||
|     @Override // androidx.recyclerview.widget.RecyclerView.Adapter | ||||
|     public void onBindViewHolder(ViewHolder viewHolder, int i) { | ||||
|         int yearForPosition = getYearForPosition(i); | ||||
|         viewHolder.textView.setText(String.format(Locale.getDefault(), TimeModel.NUMBER_FORMAT, Integer.valueOf(yearForPosition))); | ||||
|         viewHolder.textView.setContentDescription(DateStrings.getYearContentDescription(viewHolder.textView.getContext(), yearForPosition)); | ||||
|         CalendarStyle calendarStyle = this.materialCalendar.getCalendarStyle(); | ||||
|         Calendar todayCalendar = UtcDates.getTodayCalendar(); | ||||
|         CalendarItemStyle calendarItemStyle = todayCalendar.get(1) == yearForPosition ? calendarStyle.todayYear : calendarStyle.year; | ||||
|         Iterator<Long> it = this.materialCalendar.getDateSelector().getSelectedDays().iterator(); | ||||
|         while (it.hasNext()) { | ||||
|             todayCalendar.setTimeInMillis(it.next().longValue()); | ||||
|             if (todayCalendar.get(1) == yearForPosition) { | ||||
|                 calendarItemStyle = calendarStyle.selectedYear; | ||||
|             } | ||||
|         } | ||||
|         calendarItemStyle.styleItem(viewHolder.textView); | ||||
|         viewHolder.textView.setOnClickListener(createYearClickListener(yearForPosition)); | ||||
|     } | ||||
|  | ||||
|     private View.OnClickListener createYearClickListener(final int i) { | ||||
|         return new View.OnClickListener() { // from class: com.google.android.material.datepicker.YearGridAdapter.1 | ||||
|             @Override // android.view.View.OnClickListener | ||||
|             public void onClick(View view) { | ||||
|                 YearGridAdapter.this.materialCalendar.setCurrentMonth(YearGridAdapter.this.materialCalendar.getCalendarConstraints().clamp(Month.create(i, YearGridAdapter.this.materialCalendar.getCurrentMonth().month))); | ||||
|                 YearGridAdapter.this.materialCalendar.setSelector(MaterialCalendar.CalendarSelector.DAY); | ||||
|             } | ||||
|         }; | ||||
|     } | ||||
|  | ||||
|     @Override // androidx.recyclerview.widget.RecyclerView.Adapter | ||||
|     public int getItemCount() { | ||||
|         return this.materialCalendar.getCalendarConstraints().getYearSpan(); | ||||
|     } | ||||
|  | ||||
|     int getPositionForYear(int i) { | ||||
|         return i - this.materialCalendar.getCalendarConstraints().getStart().year; | ||||
|     } | ||||
|  | ||||
|     int getYearForPosition(int i) { | ||||
|         return this.materialCalendar.getCalendarConstraints().getStart().year + i; | ||||
|     } | ||||
| } | ||||
		Reference in New Issue
	
	Block a user