MaterialCalendar.smali
.class public final Lcom/google/android/material/datepicker/MaterialCalendar;
.super Lcom/google/android/material/datepicker/PickerFragment;
.source "MaterialCalendar.java"
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lcom/google/android/material/datepicker/MaterialCalendar$OnDayClickListener;,
Lcom/google/android/material/datepicker/MaterialCalendar$CalendarSelector;
}
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"<S:",
"Ljava/lang/Object;",
">",
"Lcom/google/android/material/datepicker/PickerFragment<",
"TS;>;"
}
.end annotation
# static fields
.field private static final CALENDAR_CONSTRAINTS_KEY:Ljava/lang/String; = "CALENDAR_CONSTRAINTS_KEY"
.field private static final CURRENT_MONTH_KEY:Ljava/lang/String; = "CURRENT_MONTH_KEY"
.field private static final GRID_SELECTOR_KEY:Ljava/lang/String; = "GRID_SELECTOR_KEY"
.field static final MONTHS_VIEW_GROUP_TAG:Ljava/lang/Object;
.field static final NAVIGATION_NEXT_TAG:Ljava/lang/Object;
.field static final NAVIGATION_PREV_TAG:Ljava/lang/Object;
.field static final SELECTOR_TOGGLE_TAG:Ljava/lang/Object;
.field private static final SMOOTH_SCROLL_MAX:I = 0x3
.field private static final THEME_RES_ID_KEY:Ljava/lang/String; = "THEME_RES_ID_KEY"
# instance fields
.field private calendarConstraints:Lcom/google/android/material/datepicker/CalendarConstraints;
.field private calendarSelector:Lcom/google/android/material/datepicker/MaterialCalendar$CalendarSelector;
.field private calendarStyle:Lcom/google/android/material/datepicker/CalendarStyle;
.field private current:Lcom/google/android/material/datepicker/Month;
.field private dateSelector:Lcom/google/android/material/datepicker/DateSelector;
.annotation system Ldalvik/annotation/Signature;
value = {
"Lcom/google/android/material/datepicker/DateSelector<",
"TS;>;"
}
.end annotation
.end field
.field private dayFrame:Landroid/view/View;
.field private recyclerView:Landroidx/recyclerview/widget/RecyclerView;
.field private themeResId:I
.field private yearFrame:Landroid/view/View;
.field private yearSelector:Landroidx/recyclerview/widget/RecyclerView;
# direct methods
.method static constructor <clinit>()V
.registers 1
const-string v0, "MONTHS_VIEW_GROUP_TAG"
.line 74
sput-object v0, Lcom/google/android/material/datepicker/MaterialCalendar;->MONTHS_VIEW_GROUP_TAG:Ljava/lang/Object;
const-string v0, "NAVIGATION_PREV_TAG"
.line 76
sput-object v0, Lcom/google/android/material/datepicker/MaterialCalendar;->NAVIGATION_PREV_TAG:Ljava/lang/Object;
const-string v0, "NAVIGATION_NEXT_TAG"
.line 78
sput-object v0, Lcom/google/android/material/datepicker/MaterialCalendar;->NAVIGATION_NEXT_TAG:Ljava/lang/Object;
const-string v0, "SELECTOR_TOGGLE_TAG"
.line 80
sput-object v0, Lcom/google/android/material/datepicker/MaterialCalendar;->SELECTOR_TOGGLE_TAG:Ljava/lang/Object;
return-void
.end method
.method public constructor <init>()V
.registers 1
.line 60
invoke-direct {p0}, Lcom/google/android/material/datepicker/PickerFragment;-><init>()V
return-void
.end method
.method static synthetic access$000(Lcom/google/android/material/datepicker/MaterialCalendar;)Landroidx/recyclerview/widget/RecyclerView;
.registers 1
.line 60
iget-object p0, p0, Lcom/google/android/material/datepicker/MaterialCalendar;->recyclerView:Landroidx/recyclerview/widget/RecyclerView;
return-object p0
.end method
.method static synthetic access$100(Lcom/google/android/material/datepicker/MaterialCalendar;)Lcom/google/android/material/datepicker/CalendarConstraints;
.registers 1
.line 60
iget-object p0, p0, Lcom/google/android/material/datepicker/MaterialCalendar;->calendarConstraints:Lcom/google/android/material/datepicker/CalendarConstraints;
return-object p0
.end method
.method static synthetic access$200(Lcom/google/android/material/datepicker/MaterialCalendar;)Lcom/google/android/material/datepicker/DateSelector;
.registers 1
.line 60
iget-object p0, p0, Lcom/google/android/material/datepicker/MaterialCalendar;->dateSelector:Lcom/google/android/material/datepicker/DateSelector;
return-object p0
.end method
.method static synthetic access$300(Lcom/google/android/material/datepicker/MaterialCalendar;)Landroidx/recyclerview/widget/RecyclerView;
.registers 1
.line 60
iget-object p0, p0, Lcom/google/android/material/datepicker/MaterialCalendar;->yearSelector:Landroidx/recyclerview/widget/RecyclerView;
return-object p0
.end method
.method static synthetic access$400(Lcom/google/android/material/datepicker/MaterialCalendar;)Lcom/google/android/material/datepicker/CalendarStyle;
.registers 1
.line 60
iget-object p0, p0, Lcom/google/android/material/datepicker/MaterialCalendar;->calendarStyle:Lcom/google/android/material/datepicker/CalendarStyle;
return-object p0
.end method
.method static synthetic access$500(Lcom/google/android/material/datepicker/MaterialCalendar;)Landroid/view/View;
.registers 1
.line 60
iget-object p0, p0, Lcom/google/android/material/datepicker/MaterialCalendar;->dayFrame:Landroid/view/View;
return-object p0
.end method
.method static synthetic access$602(Lcom/google/android/material/datepicker/MaterialCalendar;Lcom/google/android/material/datepicker/Month;)Lcom/google/android/material/datepicker/Month;
.registers 2
.line 60
iput-object p1, p0, Lcom/google/android/material/datepicker/MaterialCalendar;->current:Lcom/google/android/material/datepicker/Month;
return-object p1
.end method
.method private addActionsToMonthNavigation(Landroid/view/View;Lcom/google/android/material/datepicker/MonthsPagerAdapter;)V
.registers 7
.line 366
sget v0, Lcom/google/android/material/R$id;->month_navigation_fragment_toggle:I
invoke-virtual {p1, v0}, Landroid/view/View;->findViewById(I)Landroid/view/View;
move-result-object v0
check-cast v0, Lcom/google/android/material/button/MaterialButton;
.line 367
sget-object v1, Lcom/google/android/material/datepicker/MaterialCalendar;->SELECTOR_TOGGLE_TAG:Ljava/lang/Object;
invoke-virtual {v0, v1}, Lcom/google/android/material/button/MaterialButton;->setTag(Ljava/lang/Object;)V
.line 368
new-instance v1, Lcom/google/android/material/datepicker/MaterialCalendar$5;
invoke-direct {v1, p0}, Lcom/google/android/material/datepicker/MaterialCalendar$5;-><init>(Lcom/google/android/material/datepicker/MaterialCalendar;)V
invoke-static {v0, v1}, Landroidx/core/view/ViewCompat;->setAccessibilityDelegate(Landroid/view/View;Landroidx/core/view/AccessibilityDelegateCompat;)V
.line 383
sget v1, Lcom/google/android/material/R$id;->month_navigation_previous:I
invoke-virtual {p1, v1}, Landroid/view/View;->findViewById(I)Landroid/view/View;
move-result-object v1
check-cast v1, Lcom/google/android/material/button/MaterialButton;
.line 384
sget-object v2, Lcom/google/android/material/datepicker/MaterialCalendar;->NAVIGATION_PREV_TAG:Ljava/lang/Object;
invoke-virtual {v1, v2}, Lcom/google/android/material/button/MaterialButton;->setTag(Ljava/lang/Object;)V
.line 385
sget v2, Lcom/google/android/material/R$id;->month_navigation_next:I
invoke-virtual {p1, v2}, Landroid/view/View;->findViewById(I)Landroid/view/View;
move-result-object v2
check-cast v2, Lcom/google/android/material/button/MaterialButton;
.line 386
sget-object v3, Lcom/google/android/material/datepicker/MaterialCalendar;->NAVIGATION_NEXT_TAG:Ljava/lang/Object;
invoke-virtual {v2, v3}, Lcom/google/android/material/button/MaterialButton;->setTag(Ljava/lang/Object;)V
.line 388
sget v3, Lcom/google/android/material/R$id;->mtrl_calendar_year_selector_frame:I
invoke-virtual {p1, v3}, Landroid/view/View;->findViewById(I)Landroid/view/View;
move-result-object v3
iput-object v3, p0, Lcom/google/android/material/datepicker/MaterialCalendar;->yearFrame:Landroid/view/View;
.line 389
sget v3, Lcom/google/android/material/R$id;->mtrl_calendar_day_selector_frame:I
invoke-virtual {p1, v3}, Landroid/view/View;->findViewById(I)Landroid/view/View;
move-result-object v3
iput-object v3, p0, Lcom/google/android/material/datepicker/MaterialCalendar;->dayFrame:Landroid/view/View;
.line 390
sget-object v3, Lcom/google/android/material/datepicker/MaterialCalendar$CalendarSelector;->DAY:Lcom/google/android/material/datepicker/MaterialCalendar$CalendarSelector;
invoke-virtual {p0, v3}, Lcom/google/android/material/datepicker/MaterialCalendar;->setSelector(Lcom/google/android/material/datepicker/MaterialCalendar$CalendarSelector;)V
.line 391
iget-object v3, p0, Lcom/google/android/material/datepicker/MaterialCalendar;->current:Lcom/google/android/material/datepicker/Month;
invoke-virtual {p1}, Landroid/view/View;->getContext()Landroid/content/Context;
move-result-object p1
invoke-virtual {v3, p1}, Lcom/google/android/material/datepicker/Month;->getLongName(Landroid/content/Context;)Ljava/lang/String;
move-result-object p1
invoke-virtual {v0, p1}, Lcom/google/android/material/button/MaterialButton;->setText(Ljava/lang/CharSequence;)V
.line 392
iget-object p1, p0, Lcom/google/android/material/datepicker/MaterialCalendar;->recyclerView:Landroidx/recyclerview/widget/RecyclerView;
new-instance v3, Lcom/google/android/material/datepicker/MaterialCalendar$6;
invoke-direct {v3, p0, p2, v0}, Lcom/google/android/material/datepicker/MaterialCalendar$6;-><init>(Lcom/google/android/material/datepicker/MaterialCalendar;Lcom/google/android/material/datepicker/MonthsPagerAdapter;Lcom/google/android/material/button/MaterialButton;)V
invoke-virtual {p1, v3}, Landroidx/recyclerview/widget/RecyclerView;->addOnScrollListener(Landroidx/recyclerview/widget/RecyclerView$OnScrollListener;)V
.line 419
new-instance p1, Lcom/google/android/material/datepicker/MaterialCalendar$7;
invoke-direct {p1, p0}, Lcom/google/android/material/datepicker/MaterialCalendar$7;-><init>(Lcom/google/android/material/datepicker/MaterialCalendar;)V
invoke-virtual {v0, p1}, Lcom/google/android/material/button/MaterialButton;->setOnClickListener(Landroid/view/View$OnClickListener;)V
.line 427
new-instance p1, Lcom/google/android/material/datepicker/MaterialCalendar$8;
invoke-direct {p1, p0, p2}, Lcom/google/android/material/datepicker/MaterialCalendar$8;-><init>(Lcom/google/android/material/datepicker/MaterialCalendar;Lcom/google/android/material/datepicker/MonthsPagerAdapter;)V
invoke-virtual {v2, p1}, Lcom/google/android/material/button/MaterialButton;->setOnClickListener(Landroid/view/View$OnClickListener;)V
.line 437
new-instance p1, Lcom/google/android/material/datepicker/MaterialCalendar$9;
invoke-direct {p1, p0, p2}, Lcom/google/android/material/datepicker/MaterialCalendar$9;-><init>(Lcom/google/android/material/datepicker/MaterialCalendar;Lcom/google/android/material/datepicker/MonthsPagerAdapter;)V
invoke-virtual {v1, p1}, Lcom/google/android/material/button/MaterialButton;->setOnClickListener(Landroid/view/View$OnClickListener;)V
return-void
.end method
.method private createItemDecoration()Landroidx/recyclerview/widget/RecyclerView$ItemDecoration;
.registers 2
.line 232
new-instance v0, Lcom/google/android/material/datepicker/MaterialCalendar$4;
invoke-direct {v0, p0}, Lcom/google/android/material/datepicker/MaterialCalendar$4;-><init>(Lcom/google/android/material/datepicker/MaterialCalendar;)V
return-object v0
.end method
.method static getDayHeight(Landroid/content/Context;)I
.registers 2
.line 335
invoke-virtual {p0}, Landroid/content/Context;->getResources()Landroid/content/res/Resources;
move-result-object p0
sget v0, Lcom/google/android/material/R$dimen;->mtrl_calendar_day_height:I
invoke-virtual {p0, v0}, Landroid/content/res/Resources;->getDimensionPixelSize(I)I
move-result p0
return p0
.end method
.method public static newInstance(Lcom/google/android/material/datepicker/DateSelector;ILcom/google/android/material/datepicker/CalendarConstraints;)Lcom/google/android/material/datepicker/MaterialCalendar;
.registers 6
.annotation system Ldalvik/annotation/Signature;
value = {
"<T:",
"Ljava/lang/Object;",
">(",
"Lcom/google/android/material/datepicker/DateSelector<",
"TT;>;I",
"Lcom/google/android/material/datepicker/CalendarConstraints;",
")",
"Lcom/google/android/material/datepicker/MaterialCalendar<",
"TT;>;"
}
.end annotation
.line 98
new-instance v0, Lcom/google/android/material/datepicker/MaterialCalendar;
invoke-direct {v0}, Lcom/google/android/material/datepicker/MaterialCalendar;-><init>()V
.line 99
new-instance v1, Landroid/os/Bundle;
invoke-direct {v1}, Landroid/os/Bundle;-><init>()V
const-string v2, "THEME_RES_ID_KEY"
.line 100
invoke-virtual {v1, v2, p1}, Landroid/os/Bundle;->putInt(Ljava/lang/String;I)V
const-string p1, "GRID_SELECTOR_KEY"
.line 101
invoke-virtual {v1, p1, p0}, Landroid/os/Bundle;->putParcelable(Ljava/lang/String;Landroid/os/Parcelable;)V
const-string p0, "CALENDAR_CONSTRAINTS_KEY"
.line 102
invoke-virtual {v1, p0, p2}, Landroid/os/Bundle;->putParcelable(Ljava/lang/String;Landroid/os/Parcelable;)V
.line 103
invoke-virtual {p2}, Lcom/google/android/material/datepicker/CalendarConstraints;->getOpenAt()Lcom/google/android/material/datepicker/Month;
move-result-object p0
const-string p1, "CURRENT_MONTH_KEY"
invoke-virtual {v1, p1, p0}, Landroid/os/Bundle;->putParcelable(Ljava/lang/String;Landroid/os/Parcelable;)V
.line 104
invoke-virtual {v0, v1}, Lcom/google/android/material/datepicker/MaterialCalendar;->setArguments(Landroid/os/Bundle;)V
return-object v0
.end method
.method private postSmoothRecyclerViewScroll(I)V
.registers 4
.line 450
iget-object v0, p0, Lcom/google/android/material/datepicker/MaterialCalendar;->recyclerView:Landroidx/recyclerview/widget/RecyclerView;
new-instance v1, Lcom/google/android/material/datepicker/MaterialCalendar$10;
invoke-direct {v1, p0, p1}, Lcom/google/android/material/datepicker/MaterialCalendar$10;-><init>(Lcom/google/android/material/datepicker/MaterialCalendar;I)V
invoke-virtual {v0, v1}, Landroidx/recyclerview/widget/RecyclerView;->post(Ljava/lang/Runnable;)Z
return-void
.end method
# virtual methods
.method public addOnSelectionChangedListener(Lcom/google/android/material/datepicker/OnSelectionChangedListener;)Z
.registers 2
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lcom/google/android/material/datepicker/OnSelectionChangedListener<",
"TS;>;)Z"
}
.end annotation
.line 466
invoke-super {p0, p1}, Lcom/google/android/material/datepicker/PickerFragment;->addOnSelectionChangedListener(Lcom/google/android/material/datepicker/OnSelectionChangedListener;)Z
move-result p1
return p1
.end method
.method getCalendarConstraints()Lcom/google/android/material/datepicker/CalendarConstraints;
.registers 2
.line 290
iget-object v0, p0, Lcom/google/android/material/datepicker/MaterialCalendar;->calendarConstraints:Lcom/google/android/material/datepicker/CalendarConstraints;
return-object v0
.end method
.method getCalendarStyle()Lcom/google/android/material/datepicker/CalendarStyle;
.registers 2
.line 324
iget-object v0, p0, Lcom/google/android/material/datepicker/MaterialCalendar;->calendarStyle:Lcom/google/android/material/datepicker/CalendarStyle;
return-object v0
.end method
.method getCurrentMonth()Lcom/google/android/material/datepicker/Month;
.registers 2
.line 284
iget-object v0, p0, Lcom/google/android/material/datepicker/MaterialCalendar;->current:Lcom/google/android/material/datepicker/Month;
return-object v0
.end method
.method public getDateSelector()Lcom/google/android/material/datepicker/DateSelector;
.registers 2
.annotation system Ldalvik/annotation/Signature;
value = {
"()",
"Lcom/google/android/material/datepicker/DateSelector<",
"TS;>;"
}
.end annotation
.line 320
iget-object v0, p0, Lcom/google/android/material/datepicker/MaterialCalendar;->dateSelector:Lcom/google/android/material/datepicker/DateSelector;
return-object v0
.end method
.method getLayoutManager()Landroidx/recyclerview/widget/LinearLayoutManager;
.registers 2
.line 461
iget-object v0, p0, Lcom/google/android/material/datepicker/MaterialCalendar;->recyclerView:Landroidx/recyclerview/widget/RecyclerView;
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView;->getLayoutManager()Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
move-result-object v0
check-cast v0, Landroidx/recyclerview/widget/LinearLayoutManager;
return-object v0
.end method
.method public onCreate(Landroid/os/Bundle;)V
.registers 3
.line 119
invoke-super {p0, p1}, Lcom/google/android/material/datepicker/PickerFragment;->onCreate(Landroid/os/Bundle;)V
if-nez p1, :cond_9
.line 120
invoke-virtual {p0}, Lcom/google/android/material/datepicker/MaterialCalendar;->getArguments()Landroid/os/Bundle;
move-result-object p1
:cond_9
const-string v0, "THEME_RES_ID_KEY"
.line 121
invoke-virtual {p1, v0}, Landroid/os/Bundle;->getInt(Ljava/lang/String;)I
move-result v0
iput v0, p0, Lcom/google/android/material/datepicker/MaterialCalendar;->themeResId:I
const-string v0, "GRID_SELECTOR_KEY"
.line 122
invoke-virtual {p1, v0}, Landroid/os/Bundle;->getParcelable(Ljava/lang/String;)Landroid/os/Parcelable;
move-result-object v0
check-cast v0, Lcom/google/android/material/datepicker/DateSelector;
iput-object v0, p0, Lcom/google/android/material/datepicker/MaterialCalendar;->dateSelector:Lcom/google/android/material/datepicker/DateSelector;
const-string v0, "CALENDAR_CONSTRAINTS_KEY"
.line 123
invoke-virtual {p1, v0}, Landroid/os/Bundle;->getParcelable(Ljava/lang/String;)Landroid/os/Parcelable;
move-result-object v0
check-cast v0, Lcom/google/android/material/datepicker/CalendarConstraints;
iput-object v0, p0, Lcom/google/android/material/datepicker/MaterialCalendar;->calendarConstraints:Lcom/google/android/material/datepicker/CalendarConstraints;
const-string v0, "CURRENT_MONTH_KEY"
.line 124
invoke-virtual {p1, v0}, Landroid/os/Bundle;->getParcelable(Ljava/lang/String;)Landroid/os/Parcelable;
move-result-object p1
check-cast p1, Lcom/google/android/material/datepicker/Month;
iput-object p1, p0, Lcom/google/android/material/datepicker/MaterialCalendar;->current:Lcom/google/android/material/datepicker/Month;
return-void
.end method
.method public onCreateView(Landroid/view/LayoutInflater;Landroid/view/ViewGroup;Landroid/os/Bundle;)Landroid/view/View;
.registers 14
.line 133
new-instance p3, Landroid/view/ContextThemeWrapper;
invoke-virtual {p0}, Lcom/google/android/material/datepicker/MaterialCalendar;->getContext()Landroid/content/Context;
move-result-object v0
iget v1, p0, Lcom/google/android/material/datepicker/MaterialCalendar;->themeResId:I
invoke-direct {p3, v0, v1}, Landroid/view/ContextThemeWrapper;-><init>(Landroid/content/Context;I)V
.line 134
new-instance v0, Lcom/google/android/material/datepicker/CalendarStyle;
invoke-direct {v0, p3}, Lcom/google/android/material/datepicker/CalendarStyle;-><init>(Landroid/content/Context;)V
iput-object v0, p0, Lcom/google/android/material/datepicker/MaterialCalendar;->calendarStyle:Lcom/google/android/material/datepicker/CalendarStyle;
.line 135
invoke-virtual {p1, p3}, Landroid/view/LayoutInflater;->cloneInContext(Landroid/content/Context;)Landroid/view/LayoutInflater;
move-result-object p1
.line 137
iget-object v0, p0, Lcom/google/android/material/datepicker/MaterialCalendar;->calendarConstraints:Lcom/google/android/material/datepicker/CalendarConstraints;
invoke-virtual {v0}, Lcom/google/android/material/datepicker/CalendarConstraints;->getStart()Lcom/google/android/material/datepicker/Month;
move-result-object v0
.line 141
invoke-static {p3}, Lcom/google/android/material/datepicker/MaterialDatePicker;->isFullscreen(Landroid/content/Context;)Z
move-result v1
const/4 v2, 0x1
const/4 v3, 0x0
if-eqz v1, :cond_28
.line 142
sget v1, Lcom/google/android/material/R$layout;->mtrl_calendar_vertical:I
move v9, v2
goto :goto_2b
.line 145
:cond_28
sget v1, Lcom/google/android/material/R$layout;->mtrl_calendar_horizontal:I
move v9, v3
.line 149
:goto_2b
invoke-virtual {p1, v1, p2, v3}, Landroid/view/LayoutInflater;->inflate(ILandroid/view/ViewGroup;Z)Landroid/view/View;
move-result-object p1
.line 150
sget p2, Lcom/google/android/material/R$id;->mtrl_calendar_days_of_week:I
invoke-virtual {p1, p2}, Landroid/view/View;->findViewById(I)Landroid/view/View;
move-result-object p2
check-cast p2, Landroid/widget/GridView;
.line 151
new-instance v1, Lcom/google/android/material/datepicker/MaterialCalendar$1;
invoke-direct {v1, p0}, Lcom/google/android/material/datepicker/MaterialCalendar$1;-><init>(Lcom/google/android/material/datepicker/MaterialCalendar;)V
invoke-static {p2, v1}, Landroidx/core/view/ViewCompat;->setAccessibilityDelegate(Landroid/view/View;Landroidx/core/view/AccessibilityDelegateCompat;)V
.line 162
new-instance v1, Lcom/google/android/material/datepicker/DaysOfWeekAdapter;
invoke-direct {v1}, Lcom/google/android/material/datepicker/DaysOfWeekAdapter;-><init>()V
invoke-virtual {p2, v1}, Landroid/widget/GridView;->setAdapter(Landroid/widget/ListAdapter;)V
.line 163
iget v0, v0, Lcom/google/android/material/datepicker/Month;->daysInWeek:I
invoke-virtual {p2, v0}, Landroid/widget/GridView;->setNumColumns(I)V
.line 164
invoke-virtual {p2, v3}, Landroid/widget/GridView;->setEnabled(Z)V
.line 166
sget p2, Lcom/google/android/material/R$id;->mtrl_calendar_months:I
invoke-virtual {p1, p2}, Landroid/view/View;->findViewById(I)Landroid/view/View;
move-result-object p2
check-cast p2, Landroidx/recyclerview/widget/RecyclerView;
iput-object p2, p0, Lcom/google/android/material/datepicker/MaterialCalendar;->recyclerView:Landroidx/recyclerview/widget/RecyclerView;
.line 168
new-instance p2, Lcom/google/android/material/datepicker/MaterialCalendar$2;
.line 169
invoke-virtual {p0}, Lcom/google/android/material/datepicker/MaterialCalendar;->getContext()Landroid/content/Context;
move-result-object v6
const/4 v8, 0x0
move-object v4, p2
move-object v5, p0
move v7, v9
invoke-direct/range {v4 .. v9}, Lcom/google/android/material/datepicker/MaterialCalendar$2;-><init>(Lcom/google/android/material/datepicker/MaterialCalendar;Landroid/content/Context;IZI)V
.line 181
iget-object v0, p0, Lcom/google/android/material/datepicker/MaterialCalendar;->recyclerView:Landroidx/recyclerview/widget/RecyclerView;
invoke-virtual {v0, p2}, Landroidx/recyclerview/widget/RecyclerView;->setLayoutManager(Landroidx/recyclerview/widget/RecyclerView$LayoutManager;)V
.line 182
iget-object p2, p0, Lcom/google/android/material/datepicker/MaterialCalendar;->recyclerView:Landroidx/recyclerview/widget/RecyclerView;
sget-object v0, Lcom/google/android/material/datepicker/MaterialCalendar;->MONTHS_VIEW_GROUP_TAG:Ljava/lang/Object;
invoke-virtual {p2, v0}, Landroidx/recyclerview/widget/RecyclerView;->setTag(Ljava/lang/Object;)V
.line 184
new-instance p2, Lcom/google/android/material/datepicker/MonthsPagerAdapter;
iget-object v0, p0, Lcom/google/android/material/datepicker/MaterialCalendar;->dateSelector:Lcom/google/android/material/datepicker/DateSelector;
iget-object v1, p0, Lcom/google/android/material/datepicker/MaterialCalendar;->calendarConstraints:Lcom/google/android/material/datepicker/CalendarConstraints;
new-instance v4, Lcom/google/android/material/datepicker/MaterialCalendar$3;
invoke-direct {v4, p0}, Lcom/google/android/material/datepicker/MaterialCalendar$3;-><init>(Lcom/google/android/material/datepicker/MaterialCalendar;)V
invoke-direct {p2, p3, v0, v1, v4}, Lcom/google/android/material/datepicker/MonthsPagerAdapter;-><init>(Landroid/content/Context;Lcom/google/android/material/datepicker/DateSelector;Lcom/google/android/material/datepicker/CalendarConstraints;Lcom/google/android/material/datepicker/MaterialCalendar$OnDayClickListener;)V
.line 206
iget-object v0, p0, Lcom/google/android/material/datepicker/MaterialCalendar;->recyclerView:Landroidx/recyclerview/widget/RecyclerView;
invoke-virtual {v0, p2}, Landroidx/recyclerview/widget/RecyclerView;->setAdapter(Landroidx/recyclerview/widget/RecyclerView$Adapter;)V
.line 209
invoke-virtual {p3}, Landroid/view/ContextThemeWrapper;->getResources()Landroid/content/res/Resources;
move-result-object v0
sget v1, Lcom/google/android/material/R$integer;->mtrl_calendar_year_selector_span:I
invoke-virtual {v0, v1}, Landroid/content/res/Resources;->getInteger(I)I
move-result v0
.line 210
sget v1, Lcom/google/android/material/R$id;->mtrl_calendar_year_selector_frame:I
invoke-virtual {p1, v1}, Landroid/view/View;->findViewById(I)Landroid/view/View;
move-result-object v1
check-cast v1, Landroidx/recyclerview/widget/RecyclerView;
iput-object v1, p0, Lcom/google/android/material/datepicker/MaterialCalendar;->yearSelector:Landroidx/recyclerview/widget/RecyclerView;
if-eqz v1, :cond_bb
.line 212
invoke-virtual {v1, v2}, Landroidx/recyclerview/widget/RecyclerView;->setHasFixedSize(Z)V
.line 213
iget-object v1, p0, Lcom/google/android/material/datepicker/MaterialCalendar;->yearSelector:Landroidx/recyclerview/widget/RecyclerView;
new-instance v4, Landroidx/recyclerview/widget/GridLayoutManager;
invoke-direct {v4, p3, v0, v2, v3}, Landroidx/recyclerview/widget/GridLayoutManager;-><init>(Landroid/content/Context;IIZ)V
invoke-virtual {v1, v4}, Landroidx/recyclerview/widget/RecyclerView;->setLayoutManager(Landroidx/recyclerview/widget/RecyclerView$LayoutManager;)V
.line 215
iget-object v0, p0, Lcom/google/android/material/datepicker/MaterialCalendar;->yearSelector:Landroidx/recyclerview/widget/RecyclerView;
new-instance v1, Lcom/google/android/material/datepicker/YearGridAdapter;
invoke-direct {v1, p0}, Lcom/google/android/material/datepicker/YearGridAdapter;-><init>(Lcom/google/android/material/datepicker/MaterialCalendar;)V
invoke-virtual {v0, v1}, Landroidx/recyclerview/widget/RecyclerView;->setAdapter(Landroidx/recyclerview/widget/RecyclerView$Adapter;)V
.line 216
iget-object v0, p0, Lcom/google/android/material/datepicker/MaterialCalendar;->yearSelector:Landroidx/recyclerview/widget/RecyclerView;
invoke-direct {p0}, Lcom/google/android/material/datepicker/MaterialCalendar;->createItemDecoration()Landroidx/recyclerview/widget/RecyclerView$ItemDecoration;
move-result-object v1
invoke-virtual {v0, v1}, Landroidx/recyclerview/widget/RecyclerView;->addItemDecoration(Landroidx/recyclerview/widget/RecyclerView$ItemDecoration;)V
.line 219
:cond_bb
sget v0, Lcom/google/android/material/R$id;->month_navigation_fragment_toggle:I
invoke-virtual {p1, v0}, Landroid/view/View;->findViewById(I)Landroid/view/View;
move-result-object v0
if-eqz v0, :cond_c6
.line 220
invoke-direct {p0, p1, p2}, Lcom/google/android/material/datepicker/MaterialCalendar;->addActionsToMonthNavigation(Landroid/view/View;Lcom/google/android/material/datepicker/MonthsPagerAdapter;)V
.line 223
:cond_c6
invoke-static {p3}, Lcom/google/android/material/datepicker/MaterialDatePicker;->isFullscreen(Landroid/content/Context;)Z
move-result p3
if-nez p3, :cond_d6
.line 224
new-instance p3, Landroidx/recyclerview/widget/PagerSnapHelper;
invoke-direct {p3}, Landroidx/recyclerview/widget/PagerSnapHelper;-><init>()V
iget-object v0, p0, Lcom/google/android/material/datepicker/MaterialCalendar;->recyclerView:Landroidx/recyclerview/widget/RecyclerView;
invoke-virtual {p3, v0}, Landroidx/recyclerview/widget/PagerSnapHelper;->attachToRecyclerView(Landroidx/recyclerview/widget/RecyclerView;)V
.line 226
:cond_d6
iget-object p3, p0, Lcom/google/android/material/datepicker/MaterialCalendar;->recyclerView:Landroidx/recyclerview/widget/RecyclerView;
iget-object v0, p0, Lcom/google/android/material/datepicker/MaterialCalendar;->current:Lcom/google/android/material/datepicker/Month;
invoke-virtual {p2, v0}, Lcom/google/android/material/datepicker/MonthsPagerAdapter;->getPosition(Lcom/google/android/material/datepicker/Month;)I
move-result p2
invoke-virtual {p3, p2}, Landroidx/recyclerview/widget/RecyclerView;->scrollToPosition(I)V
return-object p1
.end method
.method public onSaveInstanceState(Landroid/os/Bundle;)V
.registers 4
.line 110
invoke-super {p0, p1}, Lcom/google/android/material/datepicker/PickerFragment;->onSaveInstanceState(Landroid/os/Bundle;)V
.line 111
iget v0, p0, Lcom/google/android/material/datepicker/MaterialCalendar;->themeResId:I
const-string v1, "THEME_RES_ID_KEY"
invoke-virtual {p1, v1, v0}, Landroid/os/Bundle;->putInt(Ljava/lang/String;I)V
.line 112
iget-object v0, p0, Lcom/google/android/material/datepicker/MaterialCalendar;->dateSelector:Lcom/google/android/material/datepicker/DateSelector;
const-string v1, "GRID_SELECTOR_KEY"
invoke-virtual {p1, v1, v0}, Landroid/os/Bundle;->putParcelable(Ljava/lang/String;Landroid/os/Parcelable;)V
.line 113
iget-object v0, p0, Lcom/google/android/material/datepicker/MaterialCalendar;->calendarConstraints:Lcom/google/android/material/datepicker/CalendarConstraints;
const-string v1, "CALENDAR_CONSTRAINTS_KEY"
invoke-virtual {p1, v1, v0}, Landroid/os/Bundle;->putParcelable(Ljava/lang/String;Landroid/os/Parcelable;)V
.line 114
iget-object v0, p0, Lcom/google/android/material/datepicker/MaterialCalendar;->current:Lcom/google/android/material/datepicker/Month;
const-string v1, "CURRENT_MONTH_KEY"
invoke-virtual {p1, v1, v0}, Landroid/os/Bundle;->putParcelable(Ljava/lang/String;Landroid/os/Parcelable;)V
return-void
.end method
.method setCurrentMonth(Lcom/google/android/material/datepicker/Month;)V
.registers 8
.line 300
iget-object v0, p0, Lcom/google/android/material/datepicker/MaterialCalendar;->recyclerView:Landroidx/recyclerview/widget/RecyclerView;
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView;->getAdapter()Landroidx/recyclerview/widget/RecyclerView$Adapter;
move-result-object v0
check-cast v0, Lcom/google/android/material/datepicker/MonthsPagerAdapter;
.line 301
invoke-virtual {v0, p1}, Lcom/google/android/material/datepicker/MonthsPagerAdapter;->getPosition(Lcom/google/android/material/datepicker/Month;)I
move-result v1
.line 302
iget-object v2, p0, Lcom/google/android/material/datepicker/MaterialCalendar;->current:Lcom/google/android/material/datepicker/Month;
invoke-virtual {v0, v2}, Lcom/google/android/material/datepicker/MonthsPagerAdapter;->getPosition(Lcom/google/android/material/datepicker/Month;)I
move-result v0
sub-int v0, v1, v0
.line 303
invoke-static {v0}, Ljava/lang/Math;->abs(I)I
move-result v2
const/4 v3, 0x1
const/4 v4, 0x0
const/4 v5, 0x3
if-le v2, v5, :cond_1f
move v2, v3
goto :goto_20
:cond_1f
move v2, v4
:goto_20
if-lez v0, :cond_23
goto :goto_24
:cond_23
move v3, v4
.line 305
:goto_24
iput-object p1, p0, Lcom/google/android/material/datepicker/MaterialCalendar;->current:Lcom/google/android/material/datepicker/Month;
if-eqz v2, :cond_35
if-eqz v3, :cond_35
.line 307
iget-object p1, p0, Lcom/google/android/material/datepicker/MaterialCalendar;->recyclerView:Landroidx/recyclerview/widget/RecyclerView;
add-int/lit8 v0, v1, -0x3
invoke-virtual {p1, v0}, Landroidx/recyclerview/widget/RecyclerView;->scrollToPosition(I)V
.line 308
invoke-direct {p0, v1}, Lcom/google/android/material/datepicker/MaterialCalendar;->postSmoothRecyclerViewScroll(I)V
goto :goto_45
:cond_35
if-eqz v2, :cond_42
.line 310
iget-object p1, p0, Lcom/google/android/material/datepicker/MaterialCalendar;->recyclerView:Landroidx/recyclerview/widget/RecyclerView;
add-int/lit8 v0, v1, 0x3
invoke-virtual {p1, v0}, Landroidx/recyclerview/widget/RecyclerView;->scrollToPosition(I)V
.line 311
invoke-direct {p0, v1}, Lcom/google/android/material/datepicker/MaterialCalendar;->postSmoothRecyclerViewScroll(I)V
goto :goto_45
.line 313
:cond_42
invoke-direct {p0, v1}, Lcom/google/android/material/datepicker/MaterialCalendar;->postSmoothRecyclerViewScroll(I)V
:goto_45
return-void
.end method
.method setSelector(Lcom/google/android/material/datepicker/MaterialCalendar$CalendarSelector;)V
.registers 6
.line 339
iput-object p1, p0, Lcom/google/android/material/datepicker/MaterialCalendar;->calendarSelector:Lcom/google/android/material/datepicker/MaterialCalendar$CalendarSelector;
.line 340
sget-object v0, Lcom/google/android/material/datepicker/MaterialCalendar$CalendarSelector;->YEAR:Lcom/google/android/material/datepicker/MaterialCalendar$CalendarSelector;
const/16 v1, 0x8
const/4 v2, 0x0
if-ne p1, v0, :cond_2d
.line 341
iget-object p1, p0, Lcom/google/android/material/datepicker/MaterialCalendar;->yearSelector:Landroidx/recyclerview/widget/RecyclerView;
.line 342
invoke-virtual {p1}, Landroidx/recyclerview/widget/RecyclerView;->getLayoutManager()Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
move-result-object p1
iget-object v0, p0, Lcom/google/android/material/datepicker/MaterialCalendar;->yearSelector:Landroidx/recyclerview/widget/RecyclerView;
.line 344
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView;->getAdapter()Landroidx/recyclerview/widget/RecyclerView$Adapter;
move-result-object v0
check-cast v0, Lcom/google/android/material/datepicker/YearGridAdapter;
iget-object v3, p0, Lcom/google/android/material/datepicker/MaterialCalendar;->current:Lcom/google/android/material/datepicker/Month;
iget v3, v3, Lcom/google/android/material/datepicker/Month;->year:I
invoke-virtual {v0, v3}, Lcom/google/android/material/datepicker/YearGridAdapter;->getPositionForYear(I)I
move-result v0
.line 343
invoke-virtual {p1, v0}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->scrollToPosition(I)V
.line 345
iget-object p1, p0, Lcom/google/android/material/datepicker/MaterialCalendar;->yearFrame:Landroid/view/View;
invoke-virtual {p1, v2}, Landroid/view/View;->setVisibility(I)V
.line 346
iget-object p1, p0, Lcom/google/android/material/datepicker/MaterialCalendar;->dayFrame:Landroid/view/View;
invoke-virtual {p1, v1}, Landroid/view/View;->setVisibility(I)V
goto :goto_40
.line 347
:cond_2d
sget-object v0, Lcom/google/android/material/datepicker/MaterialCalendar$CalendarSelector;->DAY:Lcom/google/android/material/datepicker/MaterialCalendar$CalendarSelector;
if-ne p1, v0, :cond_40
.line 348
iget-object p1, p0, Lcom/google/android/material/datepicker/MaterialCalendar;->yearFrame:Landroid/view/View;
invoke-virtual {p1, v1}, Landroid/view/View;->setVisibility(I)V
.line 349
iget-object p1, p0, Lcom/google/android/material/datepicker/MaterialCalendar;->dayFrame:Landroid/view/View;
invoke-virtual {p1, v2}, Landroid/view/View;->setVisibility(I)V
.line 352
iget-object p1, p0, Lcom/google/android/material/datepicker/MaterialCalendar;->current:Lcom/google/android/material/datepicker/Month;
invoke-virtual {p0, p1}, Lcom/google/android/material/datepicker/MaterialCalendar;->setCurrentMonth(Lcom/google/android/material/datepicker/Month;)V
:cond_40
:goto_40
return-void
.end method
.method toggleVisibleSelector()V
.registers 3
.line 357
iget-object v0, p0, Lcom/google/android/material/datepicker/MaterialCalendar;->calendarSelector:Lcom/google/android/material/datepicker/MaterialCalendar$CalendarSelector;
sget-object v1, Lcom/google/android/material/datepicker/MaterialCalendar$CalendarSelector;->YEAR:Lcom/google/android/material/datepicker/MaterialCalendar$CalendarSelector;
if-ne v0, v1, :cond_c
.line 358
sget-object v0, Lcom/google/android/material/datepicker/MaterialCalendar$CalendarSelector;->DAY:Lcom/google/android/material/datepicker/MaterialCalendar$CalendarSelector;
invoke-virtual {p0, v0}, Lcom/google/android/material/datepicker/MaterialCalendar;->setSelector(Lcom/google/android/material/datepicker/MaterialCalendar$CalendarSelector;)V
goto :goto_17
.line 359
:cond_c
iget-object v0, p0, Lcom/google/android/material/datepicker/MaterialCalendar;->calendarSelector:Lcom/google/android/material/datepicker/MaterialCalendar$CalendarSelector;
sget-object v1, Lcom/google/android/material/datepicker/MaterialCalendar$CalendarSelector;->DAY:Lcom/google/android/material/datepicker/MaterialCalendar$CalendarSelector;
if-ne v0, v1, :cond_17
.line 360
sget-object v0, Lcom/google/android/material/datepicker/MaterialCalendar$CalendarSelector;->YEAR:Lcom/google/android/material/datepicker/MaterialCalendar$CalendarSelector;
invoke-virtual {p0, v0}, Lcom/google/android/material/datepicker/MaterialCalendar;->setSelector(Lcom/google/android/material/datepicker/MaterialCalendar$CalendarSelector;)V
:cond_17
:goto_17
return-void
.end method