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