Path: blob/master/Compiled_apk/smali/androidx/customview/widget/FocusStrategy$SequentialComparator.smali
2463 views
.class Landroidx/customview/widget/FocusStrategy$SequentialComparator; .super Ljava/lang/Object; .source "FocusStrategy.java" # interfaces .implements Ljava/util/Comparator; # annotations .annotation system Ldalvik/annotation/EnclosingClass; value = Landroidx/customview/widget/FocusStrategy; .end annotation .annotation system Ldalvik/annotation/InnerClass; accessFlags = 0xa name = "SequentialComparator" .end annotation .annotation system Ldalvik/annotation/Signature; value = { "<T:", "Ljava/lang/Object;", ">", "Ljava/lang/Object;", "Ljava/util/Comparator<", "TT;>;" } .end annotation # instance fields .field private final mAdapter:Landroidx/customview/widget/FocusStrategy$BoundsAdapter; .annotation system Ldalvik/annotation/Signature; value = { "Landroidx/customview/widget/FocusStrategy$BoundsAdapter<", "TT;>;" } .end annotation .end field .field private final mIsLayoutRtl:Z .field private final mTemp1:Landroid/graphics/Rect; .field private final mTemp2:Landroid/graphics/Rect; # direct methods .method constructor <init>(ZLandroidx/customview/widget/FocusStrategy$BoundsAdapter;)V .locals 1 .param p1, "isLayoutRtl" # Z .annotation system Ldalvik/annotation/Signature; value = { "(Z", "Landroidx/customview/widget/FocusStrategy$BoundsAdapter<", "TT;>;)V" } .end annotation .line 101 .local p0, "this":Landroidx/customview/widget/FocusStrategy$SequentialComparator;, "Landroidx/customview/widget/FocusStrategy$SequentialComparator<TT;>;" .local p2, "adapter":Landroidx/customview/widget/FocusStrategy$BoundsAdapter;, "Landroidx/customview/widget/FocusStrategy$BoundsAdapter<TT;>;" invoke-direct {p0}, Ljava/lang/Object;-><init>()V .line 95 new-instance v0, Landroid/graphics/Rect; invoke-direct {v0}, Landroid/graphics/Rect;-><init>()V iput-object v0, p0, Landroidx/customview/widget/FocusStrategy$SequentialComparator;->mTemp1:Landroid/graphics/Rect; .line 96 new-instance v0, Landroid/graphics/Rect; invoke-direct {v0}, Landroid/graphics/Rect;-><init>()V iput-object v0, p0, Landroidx/customview/widget/FocusStrategy$SequentialComparator;->mTemp2:Landroid/graphics/Rect; .line 102 iput-boolean p1, p0, Landroidx/customview/widget/FocusStrategy$SequentialComparator;->mIsLayoutRtl:Z .line 103 iput-object p2, p0, Landroidx/customview/widget/FocusStrategy$SequentialComparator;->mAdapter:Landroidx/customview/widget/FocusStrategy$BoundsAdapter; .line 104 return-void .end method # virtual methods .method public compare(Ljava/lang/Object;Ljava/lang/Object;)I .locals 6 .annotation system Ldalvik/annotation/Signature; value = { "(TT;TT;)I" } .end annotation .line 108 .local p0, "this":Landroidx/customview/widget/FocusStrategy$SequentialComparator;, "Landroidx/customview/widget/FocusStrategy$SequentialComparator<TT;>;" .local p1, "first":Ljava/lang/Object;, "TT;" .local p2, "second":Ljava/lang/Object;, "TT;" iget-object v0, p0, Landroidx/customview/widget/FocusStrategy$SequentialComparator;->mTemp1:Landroid/graphics/Rect; .line 109 .local v0, "firstRect":Landroid/graphics/Rect; iget-object v1, p0, Landroidx/customview/widget/FocusStrategy$SequentialComparator;->mTemp2:Landroid/graphics/Rect; .line 111 .local v1, "secondRect":Landroid/graphics/Rect; iget-object v2, p0, Landroidx/customview/widget/FocusStrategy$SequentialComparator;->mAdapter:Landroidx/customview/widget/FocusStrategy$BoundsAdapter; invoke-interface {v2, p1, v0}, Landroidx/customview/widget/FocusStrategy$BoundsAdapter;->obtainBounds(Ljava/lang/Object;Landroid/graphics/Rect;)V .line 112 iget-object v2, p0, Landroidx/customview/widget/FocusStrategy$SequentialComparator;->mAdapter:Landroidx/customview/widget/FocusStrategy$BoundsAdapter; invoke-interface {v2, p2, v1}, Landroidx/customview/widget/FocusStrategy$BoundsAdapter;->obtainBounds(Ljava/lang/Object;Landroid/graphics/Rect;)V .line 114 iget v2, v0, Landroid/graphics/Rect;->top:I iget v3, v1, Landroid/graphics/Rect;->top:I const/4 v4, -0x1 if-ge v2, v3, :cond_0 .line 115 return v4 .line 116 :cond_0 iget v2, v0, Landroid/graphics/Rect;->top:I iget v3, v1, Landroid/graphics/Rect;->top:I const/4 v5, 0x1 if-le v2, v3, :cond_1 .line 117 return v5 .line 118 :cond_1 iget v2, v0, Landroid/graphics/Rect;->left:I iget v3, v1, Landroid/graphics/Rect;->left:I if-ge v2, v3, :cond_3 .line 119 iget-boolean v2, p0, Landroidx/customview/widget/FocusStrategy$SequentialComparator;->mIsLayoutRtl:Z if-eqz v2, :cond_2 const/4 v4, 0x1 :cond_2 return v4 .line 120 :cond_3 iget v2, v0, Landroid/graphics/Rect;->left:I iget v3, v1, Landroid/graphics/Rect;->left:I if-le v2, v3, :cond_5 .line 121 iget-boolean v2, p0, Landroidx/customview/widget/FocusStrategy$SequentialComparator;->mIsLayoutRtl:Z if-eqz v2, :cond_4 goto :goto_0 :cond_4 const/4 v4, 0x1 :goto_0 return v4 .line 122 :cond_5 iget v2, v0, Landroid/graphics/Rect;->bottom:I iget v3, v1, Landroid/graphics/Rect;->bottom:I if-ge v2, v3, :cond_6 .line 123 return v4 .line 124 :cond_6 iget v2, v0, Landroid/graphics/Rect;->bottom:I iget v3, v1, Landroid/graphics/Rect;->bottom:I if-le v2, v3, :cond_7 .line 125 return v5 .line 126 :cond_7 iget v2, v0, Landroid/graphics/Rect;->right:I iget v3, v1, Landroid/graphics/Rect;->right:I if-ge v2, v3, :cond_9 .line 127 iget-boolean v2, p0, Landroidx/customview/widget/FocusStrategy$SequentialComparator;->mIsLayoutRtl:Z if-eqz v2, :cond_8 const/4 v4, 0x1 :cond_8 return v4 .line 128 :cond_9 iget v2, v0, Landroid/graphics/Rect;->right:I iget v3, v1, Landroid/graphics/Rect;->right:I if-le v2, v3, :cond_b .line 129 iget-boolean v2, p0, Landroidx/customview/widget/FocusStrategy$SequentialComparator;->mIsLayoutRtl:Z if-eqz v2, :cond_a goto :goto_1 :cond_a const/4 v4, 0x1 :goto_1 return v4 .line 135 :cond_b const/4 v2, 0x0 return v2 .end method