.class public abstract Lcom/google/android/material/transformation/ExpandableBehavior; .super Landroidx/coordinatorlayout/widget/CoordinatorLayout$Behavior; .source "ExpandableBehavior.java" # annotations .annotation system Ldalvik/annotation/Signature; value = { "Landroidx/coordinatorlayout/widget/CoordinatorLayout$Behavior<", "Landroid/view/View;", ">;" } .end annotation # static fields .field private static final STATE_COLLAPSED:I = 0x2 .field private static final STATE_EXPANDED:I = 0x1 .field private static final STATE_UNINITIALIZED:I # instance fields .field private currentState:I # direct methods .method public constructor ()V .registers 2 .line 61 invoke-direct {p0}, Landroidx/coordinatorlayout/widget/CoordinatorLayout$Behavior;->()V const/4 v0, 0x0 .line 59 iput v0, p0, Lcom/google/android/material/transformation/ExpandableBehavior;->currentState:I return-void .end method .method public constructor (Landroid/content/Context;Landroid/util/AttributeSet;)V .registers 3 .line 64 invoke-direct {p0, p1, p2}, Landroidx/coordinatorlayout/widget/CoordinatorLayout$Behavior;->(Landroid/content/Context;Landroid/util/AttributeSet;)V const/4 p1, 0x0 .line 59 iput p1, p0, Lcom/google/android/material/transformation/ExpandableBehavior;->currentState:I return-void .end method .method static synthetic access$000(Lcom/google/android/material/transformation/ExpandableBehavior;)I .registers 1 .line 38 iget p0, p0, Lcom/google/android/material/transformation/ExpandableBehavior;->currentState:I return p0 .end method .method private didStateChange(Z)Z .registers 5 const/4 v0, 0x0 const/4 v1, 0x1 if-eqz p1, :cond_d .line 141 iget p1, p0, Lcom/google/android/material/transformation/ExpandableBehavior;->currentState:I if-eqz p1, :cond_b const/4 v2, 0x2 if-ne p1, v2, :cond_c :cond_b move v0, v1 :cond_c return v0 .line 144 :cond_d iget p1, p0, Lcom/google/android/material/transformation/ExpandableBehavior;->currentState:I if-ne p1, v1, :cond_12 move v0, v1 :cond_12 return v0 .end method .method public static from(Landroid/view/View;Ljava/lang/Class;)Lcom/google/android/material/transformation/ExpandableBehavior; .registers 3 .annotation system Ldalvik/annotation/Signature; value = { "(", "Landroid/view/View;", "Ljava/lang/Class<", "TT;>;)TT;" } .end annotation .line 156 invoke-virtual {p0}, Landroid/view/View;->getLayoutParams()Landroid/view/ViewGroup$LayoutParams; move-result-object p0 .line 157 instance-of v0, p0, Landroidx/coordinatorlayout/widget/CoordinatorLayout$LayoutParams; if-eqz v0, :cond_21 .line 160 check-cast p0, Landroidx/coordinatorlayout/widget/CoordinatorLayout$LayoutParams; .line 161 invoke-virtual {p0}, Landroidx/coordinatorlayout/widget/CoordinatorLayout$LayoutParams;->getBehavior()Landroidx/coordinatorlayout/widget/CoordinatorLayout$Behavior; move-result-object p0 .line 162 instance-of v0, p0, Lcom/google/android/material/transformation/ExpandableBehavior; if-eqz v0, :cond_19 .line 165 invoke-virtual {p1, p0}, Ljava/lang/Class;->cast(Ljava/lang/Object;)Ljava/lang/Object; move-result-object p0 check-cast p0, Lcom/google/android/material/transformation/ExpandableBehavior; return-object p0 .line 163 :cond_19 new-instance p0, Ljava/lang/IllegalArgumentException; const-string p1, "The view is not associated with ExpandableBehavior" invoke-direct {p0, p1}, Ljava/lang/IllegalArgumentException;->(Ljava/lang/String;)V throw p0 .line 158 :cond_21 new-instance p0, Ljava/lang/IllegalArgumentException; const-string p1, "The view is not a child of CoordinatorLayout" invoke-direct {p0, p1}, Ljava/lang/IllegalArgumentException;->(Ljava/lang/String;)V throw p0 .end method # virtual methods .method protected findExpandableWidget(Landroidx/coordinatorlayout/widget/CoordinatorLayout;Landroid/view/View;)Lcom/google/android/material/expandable/ExpandableWidget; .registers 8 .line 128 invoke-virtual {p1, p2}, Landroidx/coordinatorlayout/widget/CoordinatorLayout;->getDependencies(Landroid/view/View;)Ljava/util/List; move-result-object v0 .line 129 invoke-interface {v0}, Ljava/util/List;->size()I move-result v1 const/4 v2, 0x0 :goto_9 if-ge v2, v1, :cond_1d .line 130 invoke-interface {v0, v2}, Ljava/util/List;->get(I)Ljava/lang/Object; move-result-object v3 check-cast v3, Landroid/view/View; .line 131 invoke-virtual {p0, p1, p2, v3}, Lcom/google/android/material/transformation/ExpandableBehavior;->layoutDependsOn(Landroidx/coordinatorlayout/widget/CoordinatorLayout;Landroid/view/View;Landroid/view/View;)Z move-result v4 if-eqz v4, :cond_1a .line 132 check-cast v3, Lcom/google/android/material/expandable/ExpandableWidget; return-object v3 :cond_1a add-int/lit8 v2, v2, 0x1 goto :goto_9 :cond_1d const/4 p1, 0x0 return-object p1 .end method .method public abstract layoutDependsOn(Landroidx/coordinatorlayout/widget/CoordinatorLayout;Landroid/view/View;Landroid/view/View;)Z .end method .method public onDependentViewChanged(Landroidx/coordinatorlayout/widget/CoordinatorLayout;Landroid/view/View;Landroid/view/View;)Z .registers 5 .line 116 check-cast p3, Lcom/google/android/material/expandable/ExpandableWidget; .line 117 invoke-interface {p3}, Lcom/google/android/material/expandable/ExpandableWidget;->isExpanded()Z move-result p1 .line 118 invoke-direct {p0, p1}, Lcom/google/android/material/transformation/ExpandableBehavior;->didStateChange(Z)Z move-result p1 if-eqz p1, :cond_24 .line 119 invoke-interface {p3}, Lcom/google/android/material/expandable/ExpandableWidget;->isExpanded()Z move-result p1 const/4 v0, 0x1 if-eqz p1, :cond_15 move p1, v0 goto :goto_16 :cond_15 const/4 p1, 0x2 :goto_16 iput p1, p0, Lcom/google/android/material/transformation/ExpandableBehavior;->currentState:I .line 120 move-object p1, p3 check-cast p1, Landroid/view/View; invoke-interface {p3}, Lcom/google/android/material/expandable/ExpandableWidget;->isExpanded()Z move-result p3 invoke-virtual {p0, p1, p2, p3, v0}, Lcom/google/android/material/transformation/ExpandableBehavior;->onExpandedStateChange(Landroid/view/View;Landroid/view/View;ZZ)Z move-result p1 return p1 :cond_24 const/4 p1, 0x0 return p1 .end method .method protected abstract onExpandedStateChange(Landroid/view/View;Landroid/view/View;ZZ)Z .end method .method public onLayoutChild(Landroidx/coordinatorlayout/widget/CoordinatorLayout;Landroid/view/View;I)Z .registers 6 .line 88 invoke-static {p2}, Landroidx/core/view/ViewCompat;->isLaidOut(Landroid/view/View;)Z move-result p3 if-nez p3, :cond_2d .line 89 invoke-virtual {p0, p1, p2}, Lcom/google/android/material/transformation/ExpandableBehavior;->findExpandableWidget(Landroidx/coordinatorlayout/widget/CoordinatorLayout;Landroid/view/View;)Lcom/google/android/material/expandable/ExpandableWidget; move-result-object p1 if-eqz p1, :cond_2d .line 90 invoke-interface {p1}, Lcom/google/android/material/expandable/ExpandableWidget;->isExpanded()Z move-result p3 invoke-direct {p0, p3}, Lcom/google/android/material/transformation/ExpandableBehavior;->didStateChange(Z)Z move-result p3 if-eqz p3, :cond_2d .line 91 invoke-interface {p1}, Lcom/google/android/material/expandable/ExpandableWidget;->isExpanded()Z move-result p3 if-eqz p3, :cond_1e const/4 p3, 0x1 goto :goto_1f :cond_1e const/4 p3, 0x2 :goto_1f iput p3, p0, Lcom/google/android/material/transformation/ExpandableBehavior;->currentState:I .line 94 invoke-virtual {p2}, Landroid/view/View;->getViewTreeObserver()Landroid/view/ViewTreeObserver; move-result-object v0 new-instance v1, Lcom/google/android/material/transformation/ExpandableBehavior$1; invoke-direct {v1, p0, p2, p3, p1}, Lcom/google/android/material/transformation/ExpandableBehavior$1;->(Lcom/google/android/material/transformation/ExpandableBehavior;Landroid/view/View;ILcom/google/android/material/expandable/ExpandableWidget;)V .line 95 invoke-virtual {v0, v1}, Landroid/view/ViewTreeObserver;->addOnPreDrawListener(Landroid/view/ViewTreeObserver$OnPreDrawListener;)V :cond_2d const/4 p1, 0x0 return p1 .end method