a.smali
.class public final Lcom/imo/android/imoim/feeds/ui/views/a;
.super Landroid/text/method/ScrollingMovementMethod;
.source "SourceFile"
# instance fields
.field a:Landroid/text/style/ClickableSpan;
.field b:I
.field c:I
.field d:I
# direct methods
.method public constructor <init>()V
.registers 2
.line 18
invoke-direct {p0}, Landroid/text/method/ScrollingMovementMethod;-><init>()V
const/16 v0, 0xf
.line 27
invoke-static {v0}, Lcom/masala/share/utils/l;->a(I)I
move-result v0
iput v0, p0, Lcom/imo/android/imoim/feeds/ui/views/a;->d:I
return-void
.end method
# virtual methods
.method public final onTouchEvent(Landroid/widget/TextView;Landroid/text/Spannable;Landroid/view/MotionEvent;)Z
.registers 20
move-object/from16 v0, p0
move-object/from16 v1, p2
.line 31
invoke-virtual/range {p3 .. p3}, Landroid/view/MotionEvent;->getAction()I
move-result v2
.line 33
invoke-virtual/range {p3 .. p3}, Landroid/view/MotionEvent;->getX()F
move-result v3
float-to-int v3, v3
.line 34
invoke-virtual/range {p3 .. p3}, Landroid/view/MotionEvent;->getY()F
move-result v4
float-to-int v4, v4
if-nez v2, :cond_18
.line 38
iput v3, v0, Lcom/imo/android/imoim/feeds/ui/views/a;->b:I
.line 39
iput v4, v0, Lcom/imo/android/imoim/feeds/ui/views/a;->c:I
:cond_18
const/4 v5, 0x2
const/4 v6, 0x0
const/4 v7, 0x1
const/4 v8, 0x0
if-ne v2, v5, :cond_2e
.line 43
iget v9, v0, Lcom/imo/android/imoim/feeds/ui/views/a;->c:I
sub-int v9, v4, v9
invoke-static {v9}, Ljava/lang/Math;->abs(I)I
move-result v9
.line 44
iget v10, v0, Lcom/imo/android/imoim/feeds/ui/views/a;->d:I
if-le v9, v10, :cond_2e
.line 45
iput-object v6, v0, Lcom/imo/android/imoim/feeds/ui/views/a;->a:Landroid/text/style/ClickableSpan;
const/4 v9, 0x1
goto :goto_2f
:cond_2e
const/4 v9, 0x0
.line 56
:goto_2f
invoke-virtual/range {p1 .. p1}, Landroid/widget/TextView;->getTotalPaddingLeft()I
move-result v10
sub-int v10, v3, v10
.line 57
invoke-virtual/range {p1 .. p1}, Landroid/widget/TextView;->getTotalPaddingTop()I
move-result v11
sub-int v11, v4, v11
.line 59
invoke-virtual/range {p1 .. p1}, Landroid/widget/TextView;->getScrollX()I
move-result v12
add-int/2addr v10, v12
.line 60
invoke-virtual/range {p1 .. p1}, Landroid/widget/TextView;->getScrollY()I
move-result v12
add-int/2addr v11, v12
.line 62
invoke-virtual/range {p1 .. p1}, Landroid/widget/TextView;->getLayout()Landroid/text/Layout;
move-result-object v12
.line 63
invoke-virtual {v12, v11}, Landroid/text/Layout;->getLineForVertical(I)I
move-result v11
int-to-float v10, v10
.line 64
invoke-virtual {v12, v11, v10}, Landroid/text/Layout;->getOffsetForHorizontal(IF)I
move-result v13
.line 66
const-class v14, Landroid/text/style/ClickableSpan;
invoke-interface {v1, v13, v13, v14}, Landroid/text/Spannable;->getSpans(IILjava/lang/Class;)[Ljava/lang/Object;
move-result-object v14
check-cast v14, [Landroid/text/style/ClickableSpan;
if-lez v3, :cond_6c
if-lez v4, :cond_6c
.line 69
invoke-virtual/range {p1 .. p1}, Landroid/widget/TextView;->getWidth()I
move-result v15
if-ge v3, v15, :cond_6c
invoke-virtual/range {p1 .. p1}, Landroid/widget/TextView;->getHeight()I
move-result v3
if-ge v4, v3, :cond_6c
const/4 v3, 0x1
goto :goto_6d
:cond_6c
const/4 v3, 0x0
:goto_6d
if-eqz v3, :cond_e3
.line 71
array-length v3, v14
if-eqz v3, :cond_e3
invoke-virtual {v12, v11}, Landroid/text/Layout;->getLineVisibleEnd(I)I
move-result v3
if-ge v13, v3, :cond_e3
.line 74
const-class v3, Lcom/imo/android/imoim/feeds/ui/detail/e/a;
invoke-interface {v1, v13, v13, v3}, Landroid/text/Spannable;->getSpans(IILjava/lang/Class;)[Ljava/lang/Object;
move-result-object v3
check-cast v3, [Lcom/imo/android/imoim/feeds/ui/detail/e/a;
if-eqz v3, :cond_ab
.line 79
array-length v4, v3
if-lez v4, :cond_ab
.line 81
array-length v4, v3
const/4 v11, 0x0
const/4 v12, 0x0
:goto_88
if-ge v11, v4, :cond_a9
aget-object v13, v3, v11
.line 1206
iget-object v15, v13, Lcom/imo/android/imoim/feeds/ui/detail/e/a;->d:Landroid/graphics/RectF;
iget v15, v15, Landroid/graphics/RectF;->left:F
cmpl-float v15, v10, v15
if-ltz v15, :cond_9e
iget-object v13, v13, Lcom/imo/android/imoim/feeds/ui/detail/e/a;->d:Landroid/graphics/RectF;
iget v13, v13, Landroid/graphics/RectF;->right:F
cmpg-float v13, v10, v13
if-gtz v13, :cond_9e
const/4 v13, 0x1
goto :goto_9f
:cond_9e
const/4 v13, 0x0
:goto_9f
if-eqz v13, :cond_a4
.line 83
aget-object v3, v14, v12
goto :goto_ad
:cond_a4
add-int/lit8 v12, v12, 0x1
add-int/lit8 v11, v11, 0x1
goto :goto_88
:cond_a9
move-object v3, v6
goto :goto_ad
.line 90
:cond_ab
aget-object v3, v14, v8
:goto_ad
if-ne v2, v5, :cond_bf
.line 95
iget-object v2, v0, Lcom/imo/android/imoim/feeds/ui/views/a;->a:Landroid/text/style/ClickableSpan;
if-eq v3, v2, :cond_b6
.line 96
iput-object v6, v0, Lcom/imo/android/imoim/feeds/ui/views/a;->a:Landroid/text/style/ClickableSpan;
goto :goto_b7
:cond_b6
move v7, v9
:goto_b7
if-eqz v7, :cond_bc
.line 100
invoke-static/range {p2 .. p2}, Landroid/text/Selection;->removeSelection(Landroid/text/Spannable;)V
:cond_bc
move-object/from16 v4, p1
goto :goto_ea
:cond_bf
if-ne v2, v7, :cond_cd
.line 103
iget-object v2, v0, Lcom/imo/android/imoim/feeds/ui/views/a;->a:Landroid/text/style/ClickableSpan;
move-object/from16 v4, p1
if-eqz v2, :cond_ca
.line 104
invoke-virtual {v2, v4}, Landroid/text/style/ClickableSpan;->onClick(Landroid/view/View;)V
.line 106
:cond_ca
iput-object v6, v0, Lcom/imo/android/imoim/feeds/ui/views/a;->a:Landroid/text/style/ClickableSpan;
goto :goto_ea
:cond_cd
move-object/from16 v4, p1
if-nez v2, :cond_ea
.line 108
iput-object v3, v0, Lcom/imo/android/imoim/feeds/ui/views/a;->a:Landroid/text/style/ClickableSpan;
.line 109
aget-object v2, v14, v8
.line 110
invoke-interface {v1, v2}, Landroid/text/Spannable;->getSpanStart(Ljava/lang/Object;)I
move-result v2
aget-object v3, v14, v8
.line 111
invoke-interface {v1, v3}, Landroid/text/Spannable;->getSpanEnd(Ljava/lang/Object;)I
move-result v3
.line 109
invoke-static {v1, v2, v3}, Landroid/text/Selection;->setSelection(Landroid/text/Spannable;II)V
goto :goto_ea
:cond_e3
move-object/from16 v4, p1
.line 114
iput-object v6, v0, Lcom/imo/android/imoim/feeds/ui/views/a;->a:Landroid/text/style/ClickableSpan;
.line 115
invoke-static/range {p2 .. p2}, Landroid/text/Selection;->removeSelection(Landroid/text/Spannable;)V
.line 118
:cond_ea
:goto_ea
invoke-super/range {p0 .. p3}, Landroid/text/method/ScrollingMovementMethod;->onTouchEvent(Landroid/widget/TextView;Landroid/text/Spannable;Landroid/view/MotionEvent;)Z
move-result v1
return v1
.end method