ControlClickSpanTextView.smali
.class public Lim/tpelyyftgw/ui/hui/friendscircle_v1/view/ControlClickSpanTextView;
.super Landroidx/appcompat/widget/AppCompatTextView;
.source "ControlClickSpanTextView.java"
# instance fields
.field private downTime:J
# direct methods
.method static constructor <clinit>()V
.registers 1
return-void
.end method
.method public constructor <init>(Landroid/content/Context;)V
.registers 2
.param p1, "context" # Landroid/content/Context;
.line 17
invoke-direct {p0, p1}, Landroidx/appcompat/widget/AppCompatTextView;-><init>(Landroid/content/Context;)V
.line 18
return-void
.end method
.method public constructor <init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
.registers 3
.param p1, "context" # Landroid/content/Context;
.param p2, "attrs" # Landroid/util/AttributeSet;
.line 21
invoke-direct {p0, p1, p2}, Landroidx/appcompat/widget/AppCompatTextView;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
.line 22
return-void
.end method
.method public constructor <init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V
.registers 4
.param p1, "context" # Landroid/content/Context;
.param p2, "attrs" # Landroid/util/AttributeSet;
.param p3, "defStyleAttr" # I
.line 25
invoke-direct {p0, p1, p2, p3}, Landroidx/appcompat/widget/AppCompatTextView;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V
.line 26
return-void
.end method
# virtual methods
.method public onTouchEvent(Landroid/view/MotionEvent;)Z
.registers 19
.param p1, "event" # Landroid/view/MotionEvent;
.line 31
move-object/from16 v0, p0
invoke-virtual/range {p1 .. p1}, Landroid/view/MotionEvent;->getAction()I
move-result v1
.line 32
.local v1, "action":I
if-nez v1, :cond_e
.line 33
invoke-static {}, Ljava/lang/System;->currentTimeMillis()J
move-result-wide v2
iput-wide v2, v0, Lim/tpelyyftgw/ui/hui/friendscircle_v1/view/ControlClickSpanTextView;->downTime:J
.line 35
:cond_e
const/4 v2, 0x1
if-ne v1, v2, :cond_99
.line 36
invoke-static {}, Ljava/lang/System;->currentTimeMillis()J
move-result-wide v3
iget-wide v5, v0, Lim/tpelyyftgw/ui/hui/friendscircle_v1/view/ControlClickSpanTextView;->downTime:J
sub-long/2addr v3, v5
.line 37
.local v3, "interval":J
invoke-virtual/range {p1 .. p1}, Landroid/view/MotionEvent;->getX()F
move-result v5
float-to-int v5, v5
.line 38
.local v5, "x":I
invoke-virtual/range {p1 .. p1}, Landroid/view/MotionEvent;->getY()F
move-result v6
float-to-int v6, v6
.line 40
.local v6, "y":I
invoke-virtual/range {p0 .. p0}, Lim/tpelyyftgw/ui/hui/friendscircle_v1/view/ControlClickSpanTextView;->getTotalPaddingLeft()I
move-result v7
sub-int/2addr v5, v7
.line 41
invoke-virtual/range {p0 .. p0}, Lim/tpelyyftgw/ui/hui/friendscircle_v1/view/ControlClickSpanTextView;->getTotalPaddingTop()I
move-result v7
sub-int/2addr v6, v7
.line 43
invoke-virtual/range {p0 .. p0}, Lim/tpelyyftgw/ui/hui/friendscircle_v1/view/ControlClickSpanTextView;->getScrollX()I
move-result v7
add-int/2addr v5, v7
.line 44
invoke-virtual/range {p0 .. p0}, Lim/tpelyyftgw/ui/hui/friendscircle_v1/view/ControlClickSpanTextView;->getScrollY()I
move-result v7
add-int/2addr v6, v7
.line 46
invoke-virtual/range {p0 .. p0}, Lim/tpelyyftgw/ui/hui/friendscircle_v1/view/ControlClickSpanTextView;->getLayout()Landroid/text/Layout;
move-result-object v7
.line 47
.local v7, "layout":Landroid/text/Layout;
invoke-virtual {v7, v6}, Landroid/text/Layout;->getLineForVertical(I)I
move-result v8
.line 48
.local v8, "line":I
int-to-float v9, v5
invoke-virtual {v7, v8, v9}, Landroid/text/Layout;->getOffsetForHorizontal(IF)I
move-result v9
.line 50
.local v9, "off":I
invoke-virtual/range {p0 .. p0}, Lim/tpelyyftgw/ui/hui/friendscircle_v1/view/ControlClickSpanTextView;->getText()Ljava/lang/CharSequence;
move-result-object v10
instance-of v10, v10, Landroid/text/Spannable;
if-eqz v10, :cond_96
.line 51
invoke-virtual/range {p0 .. p0}, Lim/tpelyyftgw/ui/hui/friendscircle_v1/view/ControlClickSpanTextView;->getText()Ljava/lang/CharSequence;
move-result-object v10
check-cast v10, Landroid/text/Spannable;
.line 52
.local v10, "buffer":Landroid/text/Spannable;
const-class v11, Landroid/text/style/ClickableSpan;
invoke-interface {v10, v9, v9, v11}, Landroid/text/Spannable;->getSpans(IILjava/lang/Class;)[Ljava/lang/Object;
move-result-object v11
check-cast v11, [Landroid/text/style/ClickableSpan;
.line 53
.local v11, "link":[Landroid/text/style/ClickableSpan;
array-length v12, v11
if-eqz v12, :cond_93
.line 54
invoke-static {}, Landroid/view/ViewConfiguration;->getLongPressTimeout()I
move-result v12
int-to-long v12, v12
cmp-long v14, v3, v12
if-gez v14, :cond_90
.line 56
invoke-virtual/range {p0 .. p0}, Lim/tpelyyftgw/ui/hui/friendscircle_v1/view/ControlClickSpanTextView;->getPaint()Landroid/text/TextPaint;
move-result-object v12
.line 57
.local v12, "paint":Landroid/text/TextPaint;
invoke-virtual {v7, v8}, Landroid/text/Layout;->getLineStart(I)I
move-result v13
.line 58
.local v13, "lineStart":I
invoke-virtual {v7, v8}, Landroid/text/Layout;->getLineEnd(I)I
move-result v14
.line 59
.local v14, "lineEnd":I
invoke-virtual/range {p0 .. p0}, Lim/tpelyyftgw/ui/hui/friendscircle_v1/view/ControlClickSpanTextView;->getText()Ljava/lang/CharSequence;
move-result-object v15
invoke-interface {v15, v13, v14}, Ljava/lang/CharSequence;->subSequence(II)Ljava/lang/CharSequence;
move-result-object v15
.line 60
.local v15, "charSequence":Ljava/lang/CharSequence;
invoke-interface {v15}, Ljava/lang/CharSequence;->toString()Ljava/lang/String;
move-result-object v2
invoke-virtual {v12, v2}, Landroid/text/TextPaint;->measureText(Ljava/lang/String;)F
move-result v2
.line 61
.local v2, "v":F
move/from16 v16, v1
.end local v1 # "action":I
.local v16, "action":I
int-to-float v1, v5
cmpg-float v1, v1, v2
if-gtz v1, :cond_9b
.line 62
const/4 v1, 0x0
aget-object v1, v11, v1
invoke-virtual {v1, v0}, Landroid/text/style/ClickableSpan;->onClick(Landroid/view/View;)V
.line 66
const/4 v1, 0x1
return v1
.line 54
.end local v2 # "v":F
.end local v12 # "paint":Landroid/text/TextPaint;
.end local v13 # "lineStart":I
.end local v14 # "lineEnd":I
.end local v15 # "charSequence":Ljava/lang/CharSequence;
.end local v16 # "action":I
.restart local v1 # "action":I
:cond_90
move/from16 v16, v1
.end local v1 # "action":I
.restart local v16 # "action":I
goto :goto_9b
.line 53
.end local v16 # "action":I
.restart local v1 # "action":I
:cond_93
move/from16 v16, v1
.end local v1 # "action":I
.restart local v16 # "action":I
goto :goto_9b
.line 50
.end local v10 # "buffer":Landroid/text/Spannable;
.end local v11 # "link":[Landroid/text/style/ClickableSpan;
.end local v16 # "action":I
.restart local v1 # "action":I
:cond_96
move/from16 v16, v1
.end local v1 # "action":I
.restart local v16 # "action":I
goto :goto_9b
.line 35
.end local v3 # "interval":J
.end local v5 # "x":I
.end local v6 # "y":I
.end local v7 # "layout":Landroid/text/Layout;
.end local v8 # "line":I
.end local v9 # "off":I
.end local v16 # "action":I
.restart local v1 # "action":I
:cond_99
move/from16 v16, v1
.line 72
.end local v1 # "action":I
.restart local v16 # "action":I
:cond_9b
:goto_9b
invoke-super/range {p0 .. p1}, Landroidx/appcompat/widget/AppCompatTextView;->onTouchEvent(Landroid/view/MotionEvent;)Z
move-result v1
return v1
.end method