2022-06-10 21:38:30 +09:00

1123 lines
40 KiB
Smali

.class public final Lcom/google/android/material/datepicker/MaterialCalendar;
.super Lcom/google/android/material/datepicker/PickerFragment;
.source "MaterialCalendar.java"
# annotations
.annotation build Landroidx/annotation/RestrictTo;
value = {
.enum Landroidx/annotation/RestrictTo$Scope;->LIBRARY_GROUP:Landroidx/annotation/RestrictTo$Scope;
}
.end annotation
.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 public static final MONTHS_VIEW_GROUP_TAG:Ljava/lang/Object;
.annotation build Landroidx/annotation/VisibleForTesting;
.end annotation
.end field
.field public static final NAVIGATION_NEXT_TAG:Ljava/lang/Object;
.annotation build Landroidx/annotation/VisibleForTesting;
.end annotation
.end field
.field public static final NAVIGATION_PREV_TAG:Ljava/lang/Object;
.annotation build Landroidx/annotation/VisibleForTesting;
.end annotation
.end field
.field public static final SELECTOR_TOGGLE_TAG:Ljava/lang/Object;
.annotation build Landroidx/annotation/VisibleForTesting;
.end annotation
.end field
.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;
.annotation build Landroidx/annotation/Nullable;
.end annotation
.end field
.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;
.annotation build Landroidx/annotation/Nullable;
.end annotation
.end field
.field private dateSelector:Lcom/google/android/material/datepicker/DateSelector;
.annotation build Landroidx/annotation/Nullable;
.end annotation
.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
.annotation build Landroidx/annotation/StyleRes;
.end annotation
.end field
.field private yearFrame:Landroid/view/View;
.field private yearSelector:Landroidx/recyclerview/widget/RecyclerView;
# direct methods
.method public static constructor <clinit>()V
.locals 1
const-string v0, "MONTHS_VIEW_GROUP_TAG"
.line 1
sput-object v0, Lcom/google/android/material/datepicker/MaterialCalendar;->MONTHS_VIEW_GROUP_TAG:Ljava/lang/Object;
const-string v0, "NAVIGATION_PREV_TAG"
.line 2
sput-object v0, Lcom/google/android/material/datepicker/MaterialCalendar;->NAVIGATION_PREV_TAG:Ljava/lang/Object;
const-string v0, "NAVIGATION_NEXT_TAG"
.line 3
sput-object v0, Lcom/google/android/material/datepicker/MaterialCalendar;->NAVIGATION_NEXT_TAG:Ljava/lang/Object;
const-string v0, "SELECTOR_TOGGLE_TAG"
.line 4
sput-object v0, Lcom/google/android/material/datepicker/MaterialCalendar;->SELECTOR_TOGGLE_TAG:Ljava/lang/Object;
return-void
.end method
.method public constructor <init>()V
.locals 0
.line 1
invoke-direct {p0}, Lcom/google/android/material/datepicker/PickerFragment;-><init>()V
return-void
.end method
.method public static synthetic access$000(Lcom/google/android/material/datepicker/MaterialCalendar;)Landroidx/recyclerview/widget/RecyclerView;
.locals 0
.line 1
iget-object p0, p0, Lcom/google/android/material/datepicker/MaterialCalendar;->recyclerView:Landroidx/recyclerview/widget/RecyclerView;
return-object p0
.end method
.method public static synthetic access$100(Lcom/google/android/material/datepicker/MaterialCalendar;)Lcom/google/android/material/datepicker/CalendarConstraints;
.locals 0
.line 1
iget-object p0, p0, Lcom/google/android/material/datepicker/MaterialCalendar;->calendarConstraints:Lcom/google/android/material/datepicker/CalendarConstraints;
return-object p0
.end method
.method public static synthetic access$200(Lcom/google/android/material/datepicker/MaterialCalendar;)Lcom/google/android/material/datepicker/DateSelector;
.locals 0
.line 1
iget-object p0, p0, Lcom/google/android/material/datepicker/MaterialCalendar;->dateSelector:Lcom/google/android/material/datepicker/DateSelector;
return-object p0
.end method
.method public static synthetic access$300(Lcom/google/android/material/datepicker/MaterialCalendar;)Landroidx/recyclerview/widget/RecyclerView;
.locals 0
.line 1
iget-object p0, p0, Lcom/google/android/material/datepicker/MaterialCalendar;->yearSelector:Landroidx/recyclerview/widget/RecyclerView;
return-object p0
.end method
.method public static synthetic access$400(Lcom/google/android/material/datepicker/MaterialCalendar;)Lcom/google/android/material/datepicker/CalendarStyle;
.locals 0
.line 1
iget-object p0, p0, Lcom/google/android/material/datepicker/MaterialCalendar;->calendarStyle:Lcom/google/android/material/datepicker/CalendarStyle;
return-object p0
.end method
.method public static synthetic access$500(Lcom/google/android/material/datepicker/MaterialCalendar;)Landroid/view/View;
.locals 0
.line 1
iget-object p0, p0, Lcom/google/android/material/datepicker/MaterialCalendar;->dayFrame:Landroid/view/View;
return-object p0
.end method
.method public static synthetic access$602(Lcom/google/android/material/datepicker/MaterialCalendar;Lcom/google/android/material/datepicker/Month;)Lcom/google/android/material/datepicker/Month;
.locals 0
.line 1
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
.locals 4
.param p1 # Landroid/view/View;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.param p2 # Lcom/google/android/material/datepicker/MonthsPagerAdapter;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.line 1
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 2
sget-object v1, Lcom/google/android/material/datepicker/MaterialCalendar;->SELECTOR_TOGGLE_TAG:Ljava/lang/Object;
invoke-virtual {v0, v1}, Landroid/widget/Button;->setTag(Ljava/lang/Object;)V
.line 3
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;->B1(Landroid/view/View;Landroidx/core/view/a;)V
.line 4
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 5
sget-object v2, Lcom/google/android/material/datepicker/MaterialCalendar;->NAVIGATION_PREV_TAG:Ljava/lang/Object;
invoke-virtual {v1, v2}, Landroid/widget/Button;->setTag(Ljava/lang/Object;)V
.line 6
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 7
sget-object v3, Lcom/google/android/material/datepicker/MaterialCalendar;->NAVIGATION_NEXT_TAG:Ljava/lang/Object;
invoke-virtual {v2, v3}, Landroid/widget/Button;->setTag(Ljava/lang/Object;)V
.line 8
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 9
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 10
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 11
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}, Landroid/widget/Button;->setText(Ljava/lang/CharSequence;)V
.line 12
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$q;)V
.line 13
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}, Landroid/widget/Button;->setOnClickListener(Landroid/view/View$OnClickListener;)V
.line 14
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}, Landroid/widget/Button;->setOnClickListener(Landroid/view/View$OnClickListener;)V
.line 15
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}, Landroid/widget/Button;->setOnClickListener(Landroid/view/View$OnClickListener;)V
return-void
.end method
.method private createItemDecoration()Landroidx/recyclerview/widget/RecyclerView$l;
.locals 1
.annotation build Landroidx/annotation/NonNull;
.end annotation
.line 1
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 public static getDayHeight(Landroid/content/Context;)I
.locals 1
.param p0 # Landroid/content/Context;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.annotation build Landroidx/annotation/Px;
.end annotation
.line 1
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;
.locals 3
.param p0 # Lcom/google/android/material/datepicker/DateSelector;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.param p1 # I
.annotation build Landroidx/annotation/StyleRes;
.end annotation
.end param
.param p2 # Lcom/google/android/material/datepicker/CalendarConstraints;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.annotation build Landroidx/annotation/NonNull;
.end annotation
.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 1
new-instance v0, Lcom/google/android/material/datepicker/MaterialCalendar;
invoke-direct {v0}, Lcom/google/android/material/datepicker/MaterialCalendar;-><init>()V
.line 2
new-instance v1, Landroid/os/Bundle;
invoke-direct {v1}, Landroid/os/Bundle;-><init>()V
const-string v2, "THEME_RES_ID_KEY"
.line 3
invoke-virtual {v1, v2, p1}, Landroid/os/Bundle;->putInt(Ljava/lang/String;I)V
const-string p1, "GRID_SELECTOR_KEY"
.line 4
invoke-virtual {v1, p1, p0}, Landroid/os/Bundle;->putParcelable(Ljava/lang/String;Landroid/os/Parcelable;)V
const-string p0, "CALENDAR_CONSTRAINTS_KEY"
.line 5
invoke-virtual {v1, p0, p2}, Landroid/os/Bundle;->putParcelable(Ljava/lang/String;Landroid/os/Parcelable;)V
.line 6
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 7
invoke-virtual {v0, v1}, Landroidx/fragment/app/Fragment;->setArguments(Landroid/os/Bundle;)V
return-object v0
.end method
.method private postSmoothRecyclerViewScroll(I)V
.locals 2
.line 1
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}, Landroid/view/ViewGroup;->post(Ljava/lang/Runnable;)Z
return-void
.end method
# virtual methods
.method public addOnSelectionChangedListener(Lcom/google/android/material/datepicker/OnSelectionChangedListener;)Z
.locals 0
.param p1 # Lcom/google/android/material/datepicker/OnSelectionChangedListener;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lcom/google/android/material/datepicker/OnSelectionChangedListener<",
"TS;>;)Z"
}
.end annotation
.line 1
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 public getCalendarConstraints()Lcom/google/android/material/datepicker/CalendarConstraints;
.locals 1
.annotation build Landroidx/annotation/Nullable;
.end annotation
.line 1
iget-object v0, p0, Lcom/google/android/material/datepicker/MaterialCalendar;->calendarConstraints:Lcom/google/android/material/datepicker/CalendarConstraints;
return-object v0
.end method
.method public getCalendarStyle()Lcom/google/android/material/datepicker/CalendarStyle;
.locals 1
.line 1
iget-object v0, p0, Lcom/google/android/material/datepicker/MaterialCalendar;->calendarStyle:Lcom/google/android/material/datepicker/CalendarStyle;
return-object v0
.end method
.method public getCurrentMonth()Lcom/google/android/material/datepicker/Month;
.locals 1
.annotation build Landroidx/annotation/Nullable;
.end annotation
.line 1
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;
.locals 1
.annotation build Landroidx/annotation/Nullable;
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"()",
"Lcom/google/android/material/datepicker/DateSelector<",
"TS;>;"
}
.end annotation
.line 1
iget-object v0, p0, Lcom/google/android/material/datepicker/MaterialCalendar;->dateSelector:Lcom/google/android/material/datepicker/DateSelector;
return-object v0
.end method
.method public getLayoutManager()Landroidx/recyclerview/widget/LinearLayoutManager;
.locals 1
.annotation build Landroidx/annotation/NonNull;
.end annotation
.line 1
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$m;
move-result-object v0
check-cast v0, Landroidx/recyclerview/widget/LinearLayoutManager;
return-object v0
.end method
.method public onCreate(Landroid/os/Bundle;)V
.locals 1
.param p1 # Landroid/os/Bundle;
.annotation build Landroidx/annotation/Nullable;
.end annotation
.end param
.line 1
invoke-super {p0, p1}, Landroidx/fragment/app/Fragment;->onCreate(Landroid/os/Bundle;)V
if-nez p1, :cond_0
.line 2
invoke-virtual {p0}, Landroidx/fragment/app/Fragment;->getArguments()Landroid/os/Bundle;
move-result-object p1
:cond_0
const-string v0, "THEME_RES_ID_KEY"
.line 3
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 4
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 5
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 6
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;
.locals 10
.param p1 # Landroid/view/LayoutInflater;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.param p2 # Landroid/view/ViewGroup;
.annotation build Landroidx/annotation/Nullable;
.end annotation
.end param
.param p3 # Landroid/os/Bundle;
.annotation build Landroidx/annotation/Nullable;
.end annotation
.end param
.annotation build Landroidx/annotation/NonNull;
.end annotation
.line 1
new-instance p3, Landroid/view/ContextThemeWrapper;
invoke-virtual {p0}, Landroidx/fragment/app/Fragment;->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 2
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 3
invoke-virtual {p1, p3}, Landroid/view/LayoutInflater;->cloneInContext(Landroid/content/Context;)Landroid/view/LayoutInflater;
move-result-object p1
.line 4
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 5
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_0
.line 6
sget v1, Lcom/google/android/material/R$layout;->mtrl_calendar_vertical:I
move v9, v2
goto :goto_0
.line 7
:cond_0
sget v1, Lcom/google/android/material/R$layout;->mtrl_calendar_horizontal:I
move v9, v3
.line 8
:goto_0
invoke-virtual {p1, v1, p2, v3}, Landroid/view/LayoutInflater;->inflate(ILandroid/view/ViewGroup;Z)Landroid/view/View;
move-result-object p1
.line 9
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 10
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;->B1(Landroid/view/View;Landroidx/core/view/a;)V
.line 11
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 12
iget v0, v0, Lcom/google/android/material/datepicker/Month;->daysInWeek:I
invoke-virtual {p2, v0}, Landroid/widget/GridView;->setNumColumns(I)V
.line 13
invoke-virtual {p2, v3}, Landroid/widget/GridView;->setEnabled(Z)V
.line 14
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 15
new-instance p2, Lcom/google/android/material/datepicker/MaterialCalendar$2;
.line 16
invoke-virtual {p0}, Landroidx/fragment/app/Fragment;->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 17
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$m;)V
.line 18
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}, Landroid/view/ViewGroup;->setTag(Ljava/lang/Object;)V
.line 19
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 20
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 21
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 22
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_1
.line 23
invoke-virtual {v1, v2}, Landroidx/recyclerview/widget/RecyclerView;->setHasFixedSize(Z)V
.line 24
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$m;)V
.line 25
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 26
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$l;
move-result-object v1
invoke-virtual {v0, v1}, Landroidx/recyclerview/widget/RecyclerView;->addItemDecoration(Landroidx/recyclerview/widget/RecyclerView$l;)V
.line 27
:cond_1
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_2
.line 28
invoke-direct {p0, p1, p2}, Lcom/google/android/material/datepicker/MaterialCalendar;->addActionsToMonthNavigation(Landroid/view/View;Lcom/google/android/material/datepicker/MonthsPagerAdapter;)V
.line 29
:cond_2
invoke-static {p3}, Lcom/google/android/material/datepicker/MaterialDatePicker;->isFullscreen(Landroid/content/Context;)Z
move-result p3
if-nez p3, :cond_3
.line 30
new-instance p3, Landroidx/recyclerview/widget/a0;
invoke-direct {p3}, Landroidx/recyclerview/widget/a0;-><init>()V
iget-object v0, p0, Lcom/google/android/material/datepicker/MaterialCalendar;->recyclerView:Landroidx/recyclerview/widget/RecyclerView;
invoke-virtual {p3, v0}, Landroidx/recyclerview/widget/f0;->b(Landroidx/recyclerview/widget/RecyclerView;)V
.line 31
:cond_3
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
.locals 2
.param p1 # Landroid/os/Bundle;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.line 1
invoke-super {p0, p1}, Landroidx/fragment/app/Fragment;->onSaveInstanceState(Landroid/os/Bundle;)V
.line 2
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 3
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 4
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 5
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 public setCurrentMonth(Lcom/google/android/material/datepicker/Month;)V
.locals 6
.line 1
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 2
invoke-virtual {v0, p1}, Lcom/google/android/material/datepicker/MonthsPagerAdapter;->getPosition(Lcom/google/android/material/datepicker/Month;)I
move-result v1
.line 3
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 4
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_0
move v2, v3
goto :goto_0
:cond_0
move v2, v4
:goto_0
if-lez v0, :cond_1
goto :goto_1
:cond_1
move v3, v4
.line 5
:goto_1
iput-object p1, p0, Lcom/google/android/material/datepicker/MaterialCalendar;->current:Lcom/google/android/material/datepicker/Month;
if-eqz v2, :cond_2
if-eqz v3, :cond_2
.line 6
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 7
invoke-direct {p0, v1}, Lcom/google/android/material/datepicker/MaterialCalendar;->postSmoothRecyclerViewScroll(I)V
goto :goto_2
:cond_2
if-eqz v2, :cond_3
.line 8
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 9
invoke-direct {p0, v1}, Lcom/google/android/material/datepicker/MaterialCalendar;->postSmoothRecyclerViewScroll(I)V
goto :goto_2
.line 10
:cond_3
invoke-direct {p0, v1}, Lcom/google/android/material/datepicker/MaterialCalendar;->postSmoothRecyclerViewScroll(I)V
:goto_2
return-void
.end method
.method public setSelector(Lcom/google/android/material/datepicker/MaterialCalendar$CalendarSelector;)V
.locals 4
.line 1
iput-object p1, p0, Lcom/google/android/material/datepicker/MaterialCalendar;->calendarSelector:Lcom/google/android/material/datepicker/MaterialCalendar$CalendarSelector;
.line 2
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_0
.line 3
iget-object p1, p0, Lcom/google/android/material/datepicker/MaterialCalendar;->yearSelector:Landroidx/recyclerview/widget/RecyclerView;
.line 4
invoke-virtual {p1}, Landroidx/recyclerview/widget/RecyclerView;->getLayoutManager()Landroidx/recyclerview/widget/RecyclerView$m;
move-result-object p1
iget-object v0, p0, Lcom/google/android/material/datepicker/MaterialCalendar;->yearSelector:Landroidx/recyclerview/widget/RecyclerView;
.line 5
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 6
invoke-virtual {p1, v0}, Landroidx/recyclerview/widget/RecyclerView$m;->scrollToPosition(I)V
.line 7
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 8
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_0
.line 9
:cond_0
sget-object v0, Lcom/google/android/material/datepicker/MaterialCalendar$CalendarSelector;->DAY:Lcom/google/android/material/datepicker/MaterialCalendar$CalendarSelector;
if-ne p1, v0, :cond_1
.line 10
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 11
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 12
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_1
:goto_0
return-void
.end method
.method public toggleVisibleSelector()V
.locals 3
.line 1
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_0
.line 2
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_0
.line 3
:cond_0
sget-object v2, Lcom/google/android/material/datepicker/MaterialCalendar$CalendarSelector;->DAY:Lcom/google/android/material/datepicker/MaterialCalendar$CalendarSelector;
if-ne v0, v2, :cond_1
.line 4
invoke-virtual {p0, v1}, Lcom/google/android/material/datepicker/MaterialCalendar;->setSelector(Lcom/google/android/material/datepicker/MaterialCalendar$CalendarSelector;)V
:cond_1
:goto_0
return-void
.end method