.class public Lcom/forum/im/widget/pulltorefresh/WrapContentLinearLayoutManager; .super Landroidx/recyclerview/widget/LinearLayoutManager; .source "WrapContentLinearLayoutManager.java" # instance fields .field private mMeasuredDimension:[I .field private recycler:Landroidx/recyclerview/widget/RecyclerView$Recycler; .field private recyclerHeight:I # direct methods .method public constructor (Landroid/content/Context;IZ)V .registers 4 .line 20 invoke-direct {p0, p1, p2, p3}, Landroidx/recyclerview/widget/LinearLayoutManager;->(Landroid/content/Context;IZ)V const/4 p1, 0x2 .line 15 new-array p1, p1, [I iput-object p1, p0, Lcom/forum/im/widget/pulltorefresh/WrapContentLinearLayoutManager;->mMeasuredDimension:[I const/4 p1, 0x0 .line 16 iput p1, p0, Lcom/forum/im/widget/pulltorefresh/WrapContentLinearLayoutManager;->recyclerHeight:I return-void .end method .method private measureScrapChild(Landroidx/recyclerview/widget/RecyclerView$Recycler;III[I)V .registers 10 const/4 p2, 0x0 .line 60 :try_start_1 invoke-virtual {p1, p2}, Landroidx/recyclerview/widget/RecyclerView$Recycler;->getViewForPosition(I)Landroid/view/View; move-result-object v0 if-eqz v0, :cond_51 .line 63 invoke-virtual {v0}, Landroid/view/View;->getLayoutParams()Landroid/view/ViewGroup$LayoutParams; move-result-object v1 check-cast v1, Landroidx/recyclerview/widget/RecyclerView$LayoutParams; .line 66 invoke-virtual {p0}, Lcom/forum/im/widget/pulltorefresh/WrapContentLinearLayoutManager;->getPaddingLeft()I move-result v2 invoke-virtual {p0}, Lcom/forum/im/widget/pulltorefresh/WrapContentLinearLayoutManager;->getPaddingRight()I move-result v3 add-int/2addr v2, v3 iget v3, v1, Landroidx/recyclerview/widget/RecyclerView$LayoutParams;->width:I .line 65 invoke-static {p3, v2, v3}, Landroid/view/ViewGroup;->getChildMeasureSpec(III)I move-result p3 .line 69 invoke-virtual {p0}, Lcom/forum/im/widget/pulltorefresh/WrapContentLinearLayoutManager;->getPaddingTop()I move-result v2 invoke-virtual {p0}, Lcom/forum/im/widget/pulltorefresh/WrapContentLinearLayoutManager;->getPaddingBottom()I move-result v3 add-int/2addr v2, v3 iget v3, v1, Landroidx/recyclerview/widget/RecyclerView$LayoutParams;->height:I .line 68 invoke-static {p4, v2, v3}, Landroid/view/ViewGroup;->getChildMeasureSpec(III)I move-result p4 .line 71 invoke-virtual {v0, p3, p4}, Landroid/view/View;->measure(II)V .line 72 invoke-virtual {v0}, Landroid/view/View;->getMeasuredWidth()I move-result p3 iget p4, v1, Landroidx/recyclerview/widget/RecyclerView$LayoutParams;->leftMargin:I add-int/2addr p3, p4 iget p4, v1, Landroidx/recyclerview/widget/RecyclerView$LayoutParams;->rightMargin:I add-int/2addr p3, p4 aput p3, p5, p2 .line 73 invoke-virtual {v0}, Landroid/view/View;->getMeasuredHeight()I move-result p2 iget p3, v1, Landroidx/recyclerview/widget/RecyclerView$LayoutParams;->bottomMargin:I add-int/2addr p2, p3 iget p3, v1, Landroidx/recyclerview/widget/RecyclerView$LayoutParams;->topMargin:I add-int/2addr p2, p3 const/4 p3, 0x1 aput p2, p5, p3 .line 74 invoke-virtual {p1, v0}, Landroidx/recyclerview/widget/RecyclerView$Recycler;->recycleView(Landroid/view/View;)V :try_end_4a .catch Ljava/lang/Exception; {:try_start_1 .. :try_end_4a} :catch_4d .catchall {:try_start_1 .. :try_end_4a} :catchall_4b goto :goto_51 :catchall_4b move-exception p1 .line 79 throw p1 :catch_4d move-exception p1 .line 77 invoke-virtual {p1}, Ljava/lang/Exception;->printStackTrace()V :cond_51 :goto_51 return-void .end method # virtual methods .method public getRecyclerHeight()I .registers 10 .line 35 iget-object v0, p0, Lcom/forum/im/widget/pulltorefresh/WrapContentLinearLayoutManager;->recycler:Landroidx/recyclerview/widget/RecyclerView$Recycler; const/4 v1, 0x0 if-nez v0, :cond_6 return v1 :cond_6 move v0, v1 move v8, v0 .line 39 :goto_8 invoke-virtual {p0}, Lcom/forum/im/widget/pulltorefresh/WrapContentLinearLayoutManager;->getItemCount()I move-result v2 if-ge v0, v2, :cond_35 .line 40 iget-object v3, p0, Lcom/forum/im/widget/pulltorefresh/WrapContentLinearLayoutManager;->recycler:Landroidx/recyclerview/widget/RecyclerView$Recycler; .line 41 invoke-static {v0, v1}, Landroid/view/View$MeasureSpec;->makeMeasureSpec(II)I move-result v5 .line 42 invoke-static {v0, v1}, Landroid/view/View$MeasureSpec;->makeMeasureSpec(II)I move-result v6 iget-object v7, p0, Lcom/forum/im/widget/pulltorefresh/WrapContentLinearLayoutManager;->mMeasuredDimension:[I move-object v2, p0 move v4, v0 .line 40 invoke-direct/range {v2 .. v7}, Lcom/forum/im/widget/pulltorefresh/WrapContentLinearLayoutManager;->measureScrapChild(Landroidx/recyclerview/widget/RecyclerView$Recycler;III[I)V .line 45 invoke-virtual {p0}, Lcom/forum/im/widget/pulltorefresh/WrapContentLinearLayoutManager;->getOrientation()I move-result v2 const/4 v3, 0x1 if-nez v2, :cond_2d if-nez v0, :cond_32 .line 47 iget-object v2, p0, Lcom/forum/im/widget/pulltorefresh/WrapContentLinearLayoutManager;->mMeasuredDimension:[I aget v8, v2, v3 goto :goto_32 .line 50 :cond_2d iget-object v2, p0, Lcom/forum/im/widget/pulltorefresh/WrapContentLinearLayoutManager;->mMeasuredDimension:[I aget v2, v2, v3 add-int/2addr v8, v2 :cond_32 :goto_32 add-int/lit8 v0, v0, 0x1 goto :goto_8 .line 53 :cond_35 iput v8, p0, Lcom/forum/im/widget/pulltorefresh/WrapContentLinearLayoutManager;->recyclerHeight:I return v8 .end method .method public onLayoutChildren(Landroidx/recyclerview/widget/RecyclerView$Recycler;Landroidx/recyclerview/widget/RecyclerView$State;)V .registers 4 .line 27 :try_start_0 iput-object p1, p0, Lcom/forum/im/widget/pulltorefresh/WrapContentLinearLayoutManager;->recycler:Landroidx/recyclerview/widget/RecyclerView$Recycler; .line 28 invoke-super {p0, p1, p2}, Landroidx/recyclerview/widget/LinearLayoutManager;->onLayoutChildren(Landroidx/recyclerview/widget/RecyclerView$Recycler;Landroidx/recyclerview/widget/RecyclerView$State;)V :try_end_5 .catch Ljava/lang/IndexOutOfBoundsException; {:try_start_0 .. :try_end_5} :catch_6 goto :goto_1f :catch_6 move-exception p1 .line 30 new-instance p2, Ljava/lang/StringBuilder; const-string v0, "ERROR = " invoke-direct {p2, v0}, Ljava/lang/StringBuilder;->(Ljava/lang/String;)V invoke-virtual {p1}, Ljava/lang/IndexOutOfBoundsException;->getMessage()Ljava/lang/String; move-result-object p1 invoke-virtual {p2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object p1 invoke-virtual {p1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object p1 const-string p2, "probe" invoke-static {p2, p1}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I :goto_1f return-void .end method