mirror of
https://github.com/Pinball3D/Rabbit-R1.git
synced 2025-01-09 13:43:22 +00:00
406 lines
22 KiB
Java
406 lines
22 KiB
Java
package com.google.android.material.datepicker;
|
|
|
|
import android.content.Context;
|
|
import android.content.res.Resources;
|
|
import android.graphics.Canvas;
|
|
import android.os.Bundle;
|
|
import android.view.ContextThemeWrapper;
|
|
import android.view.LayoutInflater;
|
|
import android.view.View;
|
|
import android.view.ViewGroup;
|
|
import android.widget.GridView;
|
|
import android.widget.ListAdapter;
|
|
import androidx.core.util.Pair;
|
|
import androidx.core.view.AccessibilityDelegateCompat;
|
|
import androidx.core.view.ViewCompat;
|
|
import androidx.core.view.accessibility.AccessibilityNodeInfoCompat;
|
|
import androidx.recyclerview.widget.GridLayoutManager;
|
|
import androidx.recyclerview.widget.LinearLayoutManager;
|
|
import androidx.recyclerview.widget.PagerSnapHelper;
|
|
import androidx.recyclerview.widget.RecyclerView;
|
|
import com.google.android.material.R;
|
|
import com.google.android.material.button.MaterialButton;
|
|
import java.util.Calendar;
|
|
import java.util.Iterator;
|
|
|
|
/* loaded from: classes2.dex */
|
|
public final class MaterialCalendar<S> extends PickerFragment<S> {
|
|
private static final String CALENDAR_CONSTRAINTS_KEY = "CALENDAR_CONSTRAINTS_KEY";
|
|
private static final String CURRENT_MONTH_KEY = "CURRENT_MONTH_KEY";
|
|
private static final String DAY_VIEW_DECORATOR_KEY = "DAY_VIEW_DECORATOR_KEY";
|
|
private static final String GRID_SELECTOR_KEY = "GRID_SELECTOR_KEY";
|
|
private static final int SMOOTH_SCROLL_MAX = 3;
|
|
private static final String THEME_RES_ID_KEY = "THEME_RES_ID_KEY";
|
|
private CalendarConstraints calendarConstraints;
|
|
private CalendarSelector calendarSelector;
|
|
private CalendarStyle calendarStyle;
|
|
private Month current;
|
|
private DateSelector<S> dateSelector;
|
|
private View dayFrame;
|
|
private DayViewDecorator dayViewDecorator;
|
|
private View monthNext;
|
|
private View monthPrev;
|
|
private RecyclerView recyclerView;
|
|
private int themeResId;
|
|
private View yearFrame;
|
|
private RecyclerView yearSelector;
|
|
static final Object MONTHS_VIEW_GROUP_TAG = "MONTHS_VIEW_GROUP_TAG";
|
|
static final Object NAVIGATION_PREV_TAG = "NAVIGATION_PREV_TAG";
|
|
static final Object NAVIGATION_NEXT_TAG = "NAVIGATION_NEXT_TAG";
|
|
static final Object SELECTOR_TOGGLE_TAG = "SELECTOR_TOGGLE_TAG";
|
|
|
|
/* JADX INFO: Access modifiers changed from: package-private */
|
|
/* loaded from: classes2.dex */
|
|
public enum CalendarSelector {
|
|
DAY,
|
|
YEAR
|
|
}
|
|
|
|
/* JADX INFO: Access modifiers changed from: package-private */
|
|
/* loaded from: classes2.dex */
|
|
public interface OnDayClickListener {
|
|
void onDayClick(long j);
|
|
}
|
|
|
|
/* JADX INFO: Access modifiers changed from: package-private */
|
|
public CalendarConstraints getCalendarConstraints() {
|
|
return this.calendarConstraints;
|
|
}
|
|
|
|
/* JADX INFO: Access modifiers changed from: package-private */
|
|
public CalendarStyle getCalendarStyle() {
|
|
return this.calendarStyle;
|
|
}
|
|
|
|
/* JADX INFO: Access modifiers changed from: package-private */
|
|
public Month getCurrentMonth() {
|
|
return this.current;
|
|
}
|
|
|
|
@Override // com.google.android.material.datepicker.PickerFragment
|
|
public DateSelector<S> getDateSelector() {
|
|
return this.dateSelector;
|
|
}
|
|
|
|
public static <T> MaterialCalendar<T> newInstance(DateSelector<T> dateSelector, int i, CalendarConstraints calendarConstraints) {
|
|
return newInstance(dateSelector, i, calendarConstraints, null);
|
|
}
|
|
|
|
public static <T> MaterialCalendar<T> newInstance(DateSelector<T> dateSelector, int i, CalendarConstraints calendarConstraints, DayViewDecorator dayViewDecorator) {
|
|
MaterialCalendar<T> materialCalendar = new MaterialCalendar<>();
|
|
Bundle bundle = new Bundle();
|
|
bundle.putInt(THEME_RES_ID_KEY, i);
|
|
bundle.putParcelable(GRID_SELECTOR_KEY, dateSelector);
|
|
bundle.putParcelable(CALENDAR_CONSTRAINTS_KEY, calendarConstraints);
|
|
bundle.putParcelable(DAY_VIEW_DECORATOR_KEY, dayViewDecorator);
|
|
bundle.putParcelable(CURRENT_MONTH_KEY, calendarConstraints.getOpenAt());
|
|
materialCalendar.setArguments(bundle);
|
|
return materialCalendar;
|
|
}
|
|
|
|
@Override // androidx.fragment.app.Fragment
|
|
public void onSaveInstanceState(Bundle bundle) {
|
|
super.onSaveInstanceState(bundle);
|
|
bundle.putInt(THEME_RES_ID_KEY, this.themeResId);
|
|
bundle.putParcelable(GRID_SELECTOR_KEY, this.dateSelector);
|
|
bundle.putParcelable(CALENDAR_CONSTRAINTS_KEY, this.calendarConstraints);
|
|
bundle.putParcelable(DAY_VIEW_DECORATOR_KEY, this.dayViewDecorator);
|
|
bundle.putParcelable(CURRENT_MONTH_KEY, this.current);
|
|
}
|
|
|
|
@Override // androidx.fragment.app.Fragment
|
|
public void onCreate(Bundle bundle) {
|
|
super.onCreate(bundle);
|
|
if (bundle == null) {
|
|
bundle = getArguments();
|
|
}
|
|
this.themeResId = bundle.getInt(THEME_RES_ID_KEY);
|
|
this.dateSelector = (DateSelector) bundle.getParcelable(GRID_SELECTOR_KEY);
|
|
this.calendarConstraints = (CalendarConstraints) bundle.getParcelable(CALENDAR_CONSTRAINTS_KEY);
|
|
this.dayViewDecorator = (DayViewDecorator) bundle.getParcelable(DAY_VIEW_DECORATOR_KEY);
|
|
this.current = (Month) bundle.getParcelable(CURRENT_MONTH_KEY);
|
|
}
|
|
|
|
@Override // androidx.fragment.app.Fragment
|
|
public View onCreateView(LayoutInflater layoutInflater, ViewGroup viewGroup, Bundle bundle) {
|
|
int i;
|
|
final int i2;
|
|
ContextThemeWrapper contextThemeWrapper = new ContextThemeWrapper(getContext(), this.themeResId);
|
|
this.calendarStyle = new CalendarStyle(contextThemeWrapper);
|
|
LayoutInflater cloneInContext = layoutInflater.cloneInContext(contextThemeWrapper);
|
|
Month start = this.calendarConstraints.getStart();
|
|
if (MaterialDatePicker.isFullscreen(contextThemeWrapper)) {
|
|
i = R.layout.mtrl_calendar_vertical;
|
|
i2 = 1;
|
|
} else {
|
|
i = R.layout.mtrl_calendar_horizontal;
|
|
i2 = 0;
|
|
}
|
|
View inflate = cloneInContext.inflate(i, viewGroup, false);
|
|
inflate.setMinimumHeight(getDialogPickerHeight(requireContext()));
|
|
GridView gridView = (GridView) inflate.findViewById(R.id.mtrl_calendar_days_of_week);
|
|
ViewCompat.setAccessibilityDelegate(gridView, new AccessibilityDelegateCompat() { // from class: com.google.android.material.datepicker.MaterialCalendar.1
|
|
@Override // androidx.core.view.AccessibilityDelegateCompat
|
|
public void onInitializeAccessibilityNodeInfo(View view, AccessibilityNodeInfoCompat accessibilityNodeInfoCompat) {
|
|
super.onInitializeAccessibilityNodeInfo(view, accessibilityNodeInfoCompat);
|
|
accessibilityNodeInfoCompat.setCollectionInfo(null);
|
|
}
|
|
});
|
|
int firstDayOfWeek = this.calendarConstraints.getFirstDayOfWeek();
|
|
gridView.setAdapter((ListAdapter) (firstDayOfWeek > 0 ? new DaysOfWeekAdapter(firstDayOfWeek) : new DaysOfWeekAdapter()));
|
|
gridView.setNumColumns(start.daysInWeek);
|
|
gridView.setEnabled(false);
|
|
this.recyclerView = (RecyclerView) inflate.findViewById(R.id.mtrl_calendar_months);
|
|
this.recyclerView.setLayoutManager(new SmoothCalendarLayoutManager(getContext(), i2, false) { // from class: com.google.android.material.datepicker.MaterialCalendar.2
|
|
/* JADX INFO: Access modifiers changed from: protected */
|
|
@Override // androidx.recyclerview.widget.LinearLayoutManager
|
|
public void calculateExtraLayoutSpace(RecyclerView.State state, int[] iArr) {
|
|
if (i2 == 0) {
|
|
iArr[0] = MaterialCalendar.this.recyclerView.getWidth();
|
|
iArr[1] = MaterialCalendar.this.recyclerView.getWidth();
|
|
} else {
|
|
iArr[0] = MaterialCalendar.this.recyclerView.getHeight();
|
|
iArr[1] = MaterialCalendar.this.recyclerView.getHeight();
|
|
}
|
|
}
|
|
});
|
|
this.recyclerView.setTag(MONTHS_VIEW_GROUP_TAG);
|
|
MonthsPagerAdapter monthsPagerAdapter = new MonthsPagerAdapter(contextThemeWrapper, this.dateSelector, this.calendarConstraints, this.dayViewDecorator, new OnDayClickListener() { // from class: com.google.android.material.datepicker.MaterialCalendar.3
|
|
/* JADX WARN: Multi-variable type inference failed */
|
|
@Override // com.google.android.material.datepicker.MaterialCalendar.OnDayClickListener
|
|
public void onDayClick(long j) {
|
|
if (MaterialCalendar.this.calendarConstraints.getDateValidator().isValid(j)) {
|
|
MaterialCalendar.this.dateSelector.select(j);
|
|
Iterator<OnSelectionChangedListener<S>> it = MaterialCalendar.this.onSelectionChangedListeners.iterator();
|
|
while (it.hasNext()) {
|
|
it.next().onSelectionChanged(MaterialCalendar.this.dateSelector.getSelection());
|
|
}
|
|
MaterialCalendar.this.recyclerView.getAdapter().notifyDataSetChanged();
|
|
if (MaterialCalendar.this.yearSelector != null) {
|
|
MaterialCalendar.this.yearSelector.getAdapter().notifyDataSetChanged();
|
|
}
|
|
}
|
|
}
|
|
});
|
|
this.recyclerView.setAdapter(monthsPagerAdapter);
|
|
int integer = contextThemeWrapper.getResources().getInteger(R.integer.mtrl_calendar_year_selector_span);
|
|
RecyclerView recyclerView = (RecyclerView) inflate.findViewById(R.id.mtrl_calendar_year_selector_frame);
|
|
this.yearSelector = recyclerView;
|
|
if (recyclerView != null) {
|
|
recyclerView.setHasFixedSize(true);
|
|
this.yearSelector.setLayoutManager(new GridLayoutManager((Context) contextThemeWrapper, integer, 1, false));
|
|
this.yearSelector.setAdapter(new YearGridAdapter(this));
|
|
this.yearSelector.addItemDecoration(createItemDecoration());
|
|
}
|
|
if (inflate.findViewById(R.id.month_navigation_fragment_toggle) != null) {
|
|
addActionsToMonthNavigation(inflate, monthsPagerAdapter);
|
|
}
|
|
if (!MaterialDatePicker.isFullscreen(contextThemeWrapper)) {
|
|
new PagerSnapHelper().attachToRecyclerView(this.recyclerView);
|
|
}
|
|
this.recyclerView.scrollToPosition(monthsPagerAdapter.getPosition(this.current));
|
|
setUpForAccessibility();
|
|
return inflate;
|
|
}
|
|
|
|
private void setUpForAccessibility() {
|
|
ViewCompat.setAccessibilityDelegate(this.recyclerView, new AccessibilityDelegateCompat() { // from class: com.google.android.material.datepicker.MaterialCalendar.4
|
|
@Override // androidx.core.view.AccessibilityDelegateCompat
|
|
public void onInitializeAccessibilityNodeInfo(View view, AccessibilityNodeInfoCompat accessibilityNodeInfoCompat) {
|
|
super.onInitializeAccessibilityNodeInfo(view, accessibilityNodeInfoCompat);
|
|
accessibilityNodeInfoCompat.setScrollable(false);
|
|
}
|
|
});
|
|
}
|
|
|
|
private RecyclerView.ItemDecoration createItemDecoration() {
|
|
return new RecyclerView.ItemDecoration() { // from class: com.google.android.material.datepicker.MaterialCalendar.5
|
|
private final Calendar startItem = UtcDates.getUtcCalendar();
|
|
private final Calendar endItem = UtcDates.getUtcCalendar();
|
|
|
|
@Override // androidx.recyclerview.widget.RecyclerView.ItemDecoration
|
|
public void onDraw(Canvas canvas, RecyclerView recyclerView, RecyclerView.State state) {
|
|
int width;
|
|
if ((recyclerView.getAdapter() instanceof YearGridAdapter) && (recyclerView.getLayoutManager() instanceof GridLayoutManager)) {
|
|
YearGridAdapter yearGridAdapter = (YearGridAdapter) recyclerView.getAdapter();
|
|
GridLayoutManager gridLayoutManager = (GridLayoutManager) recyclerView.getLayoutManager();
|
|
for (Pair<Long, Long> pair : MaterialCalendar.this.dateSelector.getSelectedRanges()) {
|
|
if (pair.first != null && pair.second != null) {
|
|
this.startItem.setTimeInMillis(pair.first.longValue());
|
|
this.endItem.setTimeInMillis(pair.second.longValue());
|
|
int positionForYear = yearGridAdapter.getPositionForYear(this.startItem.get(1));
|
|
int positionForYear2 = yearGridAdapter.getPositionForYear(this.endItem.get(1));
|
|
View findViewByPosition = gridLayoutManager.findViewByPosition(positionForYear);
|
|
View findViewByPosition2 = gridLayoutManager.findViewByPosition(positionForYear2);
|
|
int spanCount = positionForYear / gridLayoutManager.getSpanCount();
|
|
int spanCount2 = positionForYear2 / gridLayoutManager.getSpanCount();
|
|
int i = spanCount;
|
|
while (i <= spanCount2) {
|
|
View findViewByPosition3 = gridLayoutManager.findViewByPosition(gridLayoutManager.getSpanCount() * i);
|
|
if (findViewByPosition3 != null) {
|
|
int top = findViewByPosition3.getTop() + MaterialCalendar.this.calendarStyle.year.getTopInset();
|
|
int bottom = findViewByPosition3.getBottom() - MaterialCalendar.this.calendarStyle.year.getBottomInset();
|
|
int left = (i != spanCount || findViewByPosition == null) ? 0 : findViewByPosition.getLeft() + (findViewByPosition.getWidth() / 2);
|
|
if (i == spanCount2 && findViewByPosition2 != null) {
|
|
width = findViewByPosition2.getLeft() + (findViewByPosition2.getWidth() / 2);
|
|
} else {
|
|
width = recyclerView.getWidth();
|
|
}
|
|
canvas.drawRect(left, top, width, bottom, MaterialCalendar.this.calendarStyle.rangeFill);
|
|
}
|
|
i++;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
};
|
|
}
|
|
|
|
/* JADX INFO: Access modifiers changed from: package-private */
|
|
public void setCurrentMonth(Month month) {
|
|
MonthsPagerAdapter monthsPagerAdapter = (MonthsPagerAdapter) this.recyclerView.getAdapter();
|
|
int position = monthsPagerAdapter.getPosition(month);
|
|
int position2 = position - monthsPagerAdapter.getPosition(this.current);
|
|
boolean z = Math.abs(position2) > 3;
|
|
boolean z2 = position2 > 0;
|
|
this.current = month;
|
|
if (z && z2) {
|
|
this.recyclerView.scrollToPosition(position - 3);
|
|
postSmoothRecyclerViewScroll(position);
|
|
} else if (z) {
|
|
this.recyclerView.scrollToPosition(position + 3);
|
|
postSmoothRecyclerViewScroll(position);
|
|
} else {
|
|
postSmoothRecyclerViewScroll(position);
|
|
}
|
|
}
|
|
|
|
/* JADX INFO: Access modifiers changed from: package-private */
|
|
public static int getDayHeight(Context context) {
|
|
return context.getResources().getDimensionPixelSize(R.dimen.mtrl_calendar_day_height);
|
|
}
|
|
|
|
/* JADX INFO: Access modifiers changed from: package-private */
|
|
public void setSelector(CalendarSelector calendarSelector) {
|
|
this.calendarSelector = calendarSelector;
|
|
if (calendarSelector == CalendarSelector.YEAR) {
|
|
this.yearSelector.getLayoutManager().scrollToPosition(((YearGridAdapter) this.yearSelector.getAdapter()).getPositionForYear(this.current.year));
|
|
this.yearFrame.setVisibility(0);
|
|
this.dayFrame.setVisibility(8);
|
|
this.monthPrev.setVisibility(8);
|
|
this.monthNext.setVisibility(8);
|
|
return;
|
|
}
|
|
if (calendarSelector == CalendarSelector.DAY) {
|
|
this.yearFrame.setVisibility(8);
|
|
this.dayFrame.setVisibility(0);
|
|
this.monthPrev.setVisibility(0);
|
|
this.monthNext.setVisibility(0);
|
|
setCurrentMonth(this.current);
|
|
}
|
|
}
|
|
|
|
void toggleVisibleSelector() {
|
|
if (this.calendarSelector == CalendarSelector.YEAR) {
|
|
setSelector(CalendarSelector.DAY);
|
|
} else if (this.calendarSelector == CalendarSelector.DAY) {
|
|
setSelector(CalendarSelector.YEAR);
|
|
}
|
|
}
|
|
|
|
private void addActionsToMonthNavigation(View view, final MonthsPagerAdapter monthsPagerAdapter) {
|
|
final MaterialButton materialButton = (MaterialButton) view.findViewById(R.id.month_navigation_fragment_toggle);
|
|
materialButton.setTag(SELECTOR_TOGGLE_TAG);
|
|
ViewCompat.setAccessibilityDelegate(materialButton, new AccessibilityDelegateCompat() { // from class: com.google.android.material.datepicker.MaterialCalendar.6
|
|
@Override // androidx.core.view.AccessibilityDelegateCompat
|
|
public void onInitializeAccessibilityNodeInfo(View view2, AccessibilityNodeInfoCompat accessibilityNodeInfoCompat) {
|
|
String string;
|
|
super.onInitializeAccessibilityNodeInfo(view2, accessibilityNodeInfoCompat);
|
|
if (MaterialCalendar.this.dayFrame.getVisibility() == 0) {
|
|
string = MaterialCalendar.this.getString(R.string.mtrl_picker_toggle_to_year_selection);
|
|
} else {
|
|
string = MaterialCalendar.this.getString(R.string.mtrl_picker_toggle_to_day_selection);
|
|
}
|
|
accessibilityNodeInfoCompat.setHintText(string);
|
|
}
|
|
});
|
|
View findViewById = view.findViewById(R.id.month_navigation_previous);
|
|
this.monthPrev = findViewById;
|
|
findViewById.setTag(NAVIGATION_PREV_TAG);
|
|
View findViewById2 = view.findViewById(R.id.month_navigation_next);
|
|
this.monthNext = findViewById2;
|
|
findViewById2.setTag(NAVIGATION_NEXT_TAG);
|
|
this.yearFrame = view.findViewById(R.id.mtrl_calendar_year_selector_frame);
|
|
this.dayFrame = view.findViewById(R.id.mtrl_calendar_day_selector_frame);
|
|
setSelector(CalendarSelector.DAY);
|
|
materialButton.setText(this.current.getLongName());
|
|
this.recyclerView.addOnScrollListener(new RecyclerView.OnScrollListener() { // from class: com.google.android.material.datepicker.MaterialCalendar.7
|
|
@Override // androidx.recyclerview.widget.RecyclerView.OnScrollListener
|
|
public void onScrolled(RecyclerView recyclerView, int i, int i2) {
|
|
int findLastVisibleItemPosition;
|
|
if (i < 0) {
|
|
findLastVisibleItemPosition = MaterialCalendar.this.getLayoutManager().findFirstVisibleItemPosition();
|
|
} else {
|
|
findLastVisibleItemPosition = MaterialCalendar.this.getLayoutManager().findLastVisibleItemPosition();
|
|
}
|
|
MaterialCalendar.this.current = monthsPagerAdapter.getPageMonth(findLastVisibleItemPosition);
|
|
materialButton.setText(monthsPagerAdapter.getPageTitle(findLastVisibleItemPosition));
|
|
}
|
|
|
|
@Override // androidx.recyclerview.widget.RecyclerView.OnScrollListener
|
|
public void onScrollStateChanged(RecyclerView recyclerView, int i) {
|
|
if (i == 0) {
|
|
recyclerView.announceForAccessibility(materialButton.getText());
|
|
}
|
|
}
|
|
});
|
|
materialButton.setOnClickListener(new View.OnClickListener() { // from class: com.google.android.material.datepicker.MaterialCalendar.8
|
|
@Override // android.view.View.OnClickListener
|
|
public void onClick(View view2) {
|
|
MaterialCalendar.this.toggleVisibleSelector();
|
|
}
|
|
});
|
|
this.monthNext.setOnClickListener(new View.OnClickListener() { // from class: com.google.android.material.datepicker.MaterialCalendar.9
|
|
@Override // android.view.View.OnClickListener
|
|
public void onClick(View view2) {
|
|
int findFirstVisibleItemPosition = MaterialCalendar.this.getLayoutManager().findFirstVisibleItemPosition() + 1;
|
|
if (findFirstVisibleItemPosition < MaterialCalendar.this.recyclerView.getAdapter().getItemCount()) {
|
|
MaterialCalendar.this.setCurrentMonth(monthsPagerAdapter.getPageMonth(findFirstVisibleItemPosition));
|
|
}
|
|
}
|
|
});
|
|
this.monthPrev.setOnClickListener(new View.OnClickListener() { // from class: com.google.android.material.datepicker.MaterialCalendar.10
|
|
@Override // android.view.View.OnClickListener
|
|
public void onClick(View view2) {
|
|
int findLastVisibleItemPosition = MaterialCalendar.this.getLayoutManager().findLastVisibleItemPosition() - 1;
|
|
if (findLastVisibleItemPosition >= 0) {
|
|
MaterialCalendar.this.setCurrentMonth(monthsPagerAdapter.getPageMonth(findLastVisibleItemPosition));
|
|
}
|
|
}
|
|
});
|
|
}
|
|
|
|
private void postSmoothRecyclerViewScroll(final int i) {
|
|
this.recyclerView.post(new Runnable() { // from class: com.google.android.material.datepicker.MaterialCalendar.11
|
|
@Override // java.lang.Runnable
|
|
public void run() {
|
|
MaterialCalendar.this.recyclerView.smoothScrollToPosition(i);
|
|
}
|
|
});
|
|
}
|
|
|
|
private static int getDialogPickerHeight(Context context) {
|
|
Resources resources = context.getResources();
|
|
return resources.getDimensionPixelSize(R.dimen.mtrl_calendar_navigation_height) + resources.getDimensionPixelOffset(R.dimen.mtrl_calendar_navigation_top_padding) + resources.getDimensionPixelOffset(R.dimen.mtrl_calendar_navigation_bottom_padding) + resources.getDimensionPixelSize(R.dimen.mtrl_calendar_days_of_week_height) + (MonthAdapter.MAXIMUM_WEEKS * resources.getDimensionPixelSize(R.dimen.mtrl_calendar_day_height)) + ((MonthAdapter.MAXIMUM_WEEKS - 1) * resources.getDimensionPixelOffset(R.dimen.mtrl_calendar_month_vertical_padding)) + resources.getDimensionPixelOffset(R.dimen.mtrl_calendar_bottom_padding);
|
|
}
|
|
|
|
LinearLayoutManager getLayoutManager() {
|
|
return (LinearLayoutManager) this.recyclerView.getLayoutManager();
|
|
}
|
|
|
|
@Override // com.google.android.material.datepicker.PickerFragment
|
|
public boolean addOnSelectionChangedListener(OnSelectionChangedListener<S> onSelectionChangedListener) {
|
|
return super.addOnSelectionChangedListener(onSelectionChangedListener);
|
|
}
|
|
}
|