mirror of
https://github.com/Pinball3D/Rabbit-R1.git
synced 2025-01-09 13:43:22 +00:00
118 lines
5.7 KiB
Java
118 lines
5.7 KiB
Java
package com.google.android.material.datepicker;
|
|
|
|
import android.content.Context;
|
|
import android.view.LayoutInflater;
|
|
import android.view.View;
|
|
import android.view.ViewGroup;
|
|
import android.widget.AdapterView;
|
|
import android.widget.LinearLayout;
|
|
import android.widget.ListAdapter;
|
|
import android.widget.TextView;
|
|
import androidx.core.view.ViewCompat;
|
|
import androidx.recyclerview.widget.RecyclerView;
|
|
import com.google.android.material.R;
|
|
import com.google.android.material.datepicker.MaterialCalendar;
|
|
|
|
/* loaded from: classes2.dex */
|
|
class MonthsPagerAdapter extends RecyclerView.Adapter<ViewHolder> {
|
|
private final CalendarConstraints calendarConstraints;
|
|
private final DateSelector<?> dateSelector;
|
|
private final DayViewDecorator dayViewDecorator;
|
|
private final int itemHeight;
|
|
private final MaterialCalendar.OnDayClickListener onDayClickListener;
|
|
|
|
/* JADX INFO: Access modifiers changed from: package-private */
|
|
public MonthsPagerAdapter(Context context, DateSelector<?> dateSelector, CalendarConstraints calendarConstraints, DayViewDecorator dayViewDecorator, MaterialCalendar.OnDayClickListener onDayClickListener) {
|
|
Month start = calendarConstraints.getStart();
|
|
Month end = calendarConstraints.getEnd();
|
|
Month openAt = calendarConstraints.getOpenAt();
|
|
if (start.compareTo(openAt) > 0) {
|
|
throw new IllegalArgumentException("firstPage cannot be after currentPage");
|
|
}
|
|
if (openAt.compareTo(end) > 0) {
|
|
throw new IllegalArgumentException("currentPage cannot be after lastPage");
|
|
}
|
|
this.itemHeight = (MonthAdapter.MAXIMUM_WEEKS * MaterialCalendar.getDayHeight(context)) + (MaterialDatePicker.isFullscreen(context) ? MaterialCalendar.getDayHeight(context) : 0);
|
|
this.calendarConstraints = calendarConstraints;
|
|
this.dateSelector = dateSelector;
|
|
this.dayViewDecorator = dayViewDecorator;
|
|
this.onDayClickListener = onDayClickListener;
|
|
setHasStableIds(true);
|
|
}
|
|
|
|
/* loaded from: classes2.dex */
|
|
public static class ViewHolder extends RecyclerView.ViewHolder {
|
|
final MaterialCalendarGridView monthGrid;
|
|
final TextView monthTitle;
|
|
|
|
ViewHolder(LinearLayout linearLayout, boolean z) {
|
|
super(linearLayout);
|
|
TextView textView = (TextView) linearLayout.findViewById(R.id.month_title);
|
|
this.monthTitle = textView;
|
|
ViewCompat.setAccessibilityHeading(textView, true);
|
|
this.monthGrid = (MaterialCalendarGridView) linearLayout.findViewById(R.id.month_grid);
|
|
if (z) {
|
|
return;
|
|
}
|
|
textView.setVisibility(8);
|
|
}
|
|
}
|
|
|
|
@Override // androidx.recyclerview.widget.RecyclerView.Adapter
|
|
public ViewHolder onCreateViewHolder(ViewGroup viewGroup, int i) {
|
|
LinearLayout linearLayout = (LinearLayout) LayoutInflater.from(viewGroup.getContext()).inflate(R.layout.mtrl_calendar_month_labeled, viewGroup, false);
|
|
if (MaterialDatePicker.isFullscreen(viewGroup.getContext())) {
|
|
linearLayout.setLayoutParams(new RecyclerView.LayoutParams(-1, this.itemHeight));
|
|
return new ViewHolder(linearLayout, true);
|
|
}
|
|
return new ViewHolder(linearLayout, false);
|
|
}
|
|
|
|
@Override // androidx.recyclerview.widget.RecyclerView.Adapter
|
|
public void onBindViewHolder(ViewHolder viewHolder, int i) {
|
|
Month monthsLater = this.calendarConstraints.getStart().monthsLater(i);
|
|
viewHolder.monthTitle.setText(monthsLater.getLongName());
|
|
final MaterialCalendarGridView materialCalendarGridView = (MaterialCalendarGridView) viewHolder.monthGrid.findViewById(R.id.month_grid);
|
|
if (materialCalendarGridView.getAdapter() != null && monthsLater.equals(materialCalendarGridView.getAdapter().month)) {
|
|
materialCalendarGridView.invalidate();
|
|
materialCalendarGridView.getAdapter().updateSelectedStates(materialCalendarGridView);
|
|
} else {
|
|
MonthAdapter monthAdapter = new MonthAdapter(monthsLater, this.dateSelector, this.calendarConstraints, this.dayViewDecorator);
|
|
materialCalendarGridView.setNumColumns(monthsLater.daysInWeek);
|
|
materialCalendarGridView.setAdapter((ListAdapter) monthAdapter);
|
|
}
|
|
materialCalendarGridView.setOnItemClickListener(new AdapterView.OnItemClickListener() { // from class: com.google.android.material.datepicker.MonthsPagerAdapter.1
|
|
@Override // android.widget.AdapterView.OnItemClickListener
|
|
public void onItemClick(AdapterView<?> adapterView, View view, int i2, long j) {
|
|
if (materialCalendarGridView.getAdapter().withinMonth(i2)) {
|
|
MonthsPagerAdapter.this.onDayClickListener.onDayClick(materialCalendarGridView.getAdapter().getItem(i2).longValue());
|
|
}
|
|
}
|
|
});
|
|
}
|
|
|
|
@Override // androidx.recyclerview.widget.RecyclerView.Adapter
|
|
public long getItemId(int i) {
|
|
return this.calendarConstraints.getStart().monthsLater(i).getStableId();
|
|
}
|
|
|
|
@Override // androidx.recyclerview.widget.RecyclerView.Adapter
|
|
public int getItemCount() {
|
|
return this.calendarConstraints.getMonthSpan();
|
|
}
|
|
|
|
/* JADX INFO: Access modifiers changed from: package-private */
|
|
public CharSequence getPageTitle(int i) {
|
|
return getPageMonth(i).getLongName();
|
|
}
|
|
|
|
/* JADX INFO: Access modifiers changed from: package-private */
|
|
public Month getPageMonth(int i) {
|
|
return this.calendarConstraints.getStart().monthsLater(i);
|
|
}
|
|
|
|
/* JADX INFO: Access modifiers changed from: package-private */
|
|
public int getPosition(Month month) {
|
|
return this.calendarConstraints.getStart().monthsUntil(month);
|
|
}
|
|
}
|