.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 = { "", "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 ()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 ()V .locals 0 .line 1 invoke-direct {p0}, Lcom/google/android/material/datepicker/PickerFragment;->()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;->(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;->(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;->(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;->(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;->(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;->(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 = { "(", "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;->()V .line 2 new-instance v1, Landroid/os/Bundle; invoke-direct {v1}, Landroid/os/Bundle;->()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;->(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;->(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;->(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;->(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;->()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;->(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;->(Lcom/google/android/material/datepicker/MaterialCalendar;)V invoke-direct {p2, p3, v0, v1, v4}, Lcom/google/android/material/datepicker/MonthsPagerAdapter;->(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;->(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;->(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;->()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