豆虫 发表于 2019-10-28 20:52

小白求大神过来看下代码

本帖最后由 豆虫 于 2019-10-28 20:57 编辑

.class final Lcom/tomkey/commons/tools/MaxClickObservable$a;
.super Lio/reactivex/android/MainThreadDisposable;
.source "MaxClickObservable.java"

# interfaces
.implements Landroid/view/View$OnClickListener;
.implements Landroid/view/View$OnTouchListener;


# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
    value = Lcom/tomkey/commons/tools/MaxClickObservable;
.end annotation

.annotation system Ldalvik/annotation/InnerClass;
    accessFlags = 0x18
    name = "a"
.end annotation


# instance fields
.field volatile a:Z

.field volatile b:Z

.field volatile c:Z

.field volatile d:Z

.field e:Landroid/view/View;

.field private final f:Landroid/view/View;

.field private final g:Lio/reactivex/Observer;
    .annotation system Ldalvik/annotation/Signature;
      value = {
            "Lio/reactivex/Observer",
            "<-",
            "Ljava/lang/Object;",
            ">;"
      }
    .end annotation
.end field

.field private h:Lio/reactivex/Scheduler$Worker;

.field private i:I

.field private j:I

.field private k:I

.field private l:I

.field private m:Ljava/lang/String;


# direct methods
.method constructor <init>(Landroid/view/View;Lio/reactivex/Observer;II)V
    .locals 2
    .annotation system Ldalvik/annotation/Signature;
      value = {
            "(",
            "Landroid/view/View;",
            "Lio/reactivex/Observer",
            "<-",
            "Ljava/lang/Object;",
            ">;II)V"
      }
    .end annotation

    .prologue
    .line 117
    invoke-direct {p0}, Lio/reactivex/android/MainThreadDisposable;-><init>()V

    .line 118
    iput-object p1, p0, Lcom/tomkey/commons/tools/MaxClickObservable$a;->f:Landroid/view/View;

    .line 119
    iput-object p2, p0, Lcom/tomkey/commons/tools/MaxClickObservable$a;->g:Lio/reactivex/Observer;

    .line 121
    invoke-static {}, Lio/reactivex/schedulers/Schedulers;->computation()Lio/reactivex/Scheduler;

    move-result-object v0

    invoke-virtual {v0}, Lio/reactivex/Scheduler;->createWorker()Lio/reactivex/Scheduler$Worker;

    move-result-object v0

    iput-object v0, p0, Lcom/tomkey/commons/tools/MaxClickObservable$a;->h:Lio/reactivex/Scheduler$Worker;

    .line 123
    invoke-direct {p0}, Lcom/tomkey/commons/tools/MaxClickObservable$a;->d()V

    .line 124
    if-lez p4, :cond_0

    .line 125
    iput p4, p0, Lcom/tomkey/commons/tools/MaxClickObservable$a;->i:I

    .line 127
    :cond_0
    if-lez p3, :cond_1

    .line 128
    iput p3, p0, Lcom/tomkey/commons/tools/MaxClickObservable$a;->j:I

    .line 131
    :cond_1
    new-instance v0, Landroid/widget/FrameLayout;

    invoke-virtual {p1}, Landroid/view/View;->getContext()Landroid/content/Context;

    move-result-object v1

    invoke-direct {v0, v1}, Landroid/widget/FrameLayout;-><init>(Landroid/content/Context;)V

    iput-object v0, p0, Lcom/tomkey/commons/tools/MaxClickObservable$a;->e:Landroid/view/View;

    .line 132
    iget-object v0, p0, Lcom/tomkey/commons/tools/MaxClickObservable$a;->e:Landroid/view/View;

    new-instance v1, Lcom/tomkey/commons/tools/MaxClickObservable$a$1;

    invoke-direct {v1, p0}, Lcom/tomkey/commons/tools/MaxClickObservable$a$1;-><init>(Lcom/tomkey/commons/tools/MaxClickObservable$a;)V

    invoke-virtual {v0, v1}, Landroid/view/View;->setOnClickListener(Landroid/view/View$OnClickListener;)V

    .line 149
    return-void
.end method

.method static synthetic a(Lcom/tomkey/commons/tools/MaxClickObservable$a;I)I
    .locals 0

    .prologue
    .line 64
    iput p1, p0, Lcom/tomkey/commons/tools/MaxClickObservable$a;->k:I

    return p1
.end method

.method static synthetic a(Lcom/tomkey/commons/tools/MaxClickObservable$a;)Lio/reactivex/Scheduler$Worker;
    .locals 1

    .prologue
    .line 64
    iget-object v0, p0, Lcom/tomkey/commons/tools/MaxClickObservable$a;->h:Lio/reactivex/Scheduler$Worker;

    return-object v0
.end method

.method private a()V
    .locals 5

    .prologue
    const/4 v2, 0x1

    .line 167
    invoke-virtual {p0}, Lcom/tomkey/commons/tools/MaxClickObservable$a;->isDisposed()Z

    move-result v0

    if-eqz v0, :cond_1

    .line 205
    :cond_0
    :goto_0
    return-void

    .line 171
    :cond_1
    iget-boolean v0, p0, Lcom/tomkey/commons/tools/MaxClickObservable$a;->b:Z

    if-nez v0, :cond_2

    .line 172
    iget-object v0, p0, Lcom/tomkey/commons/tools/MaxClickObservable$a;->g:Lio/reactivex/Observer;

    sget-object v1, Lcom/tomkey/commons/tools/MaxClickObservable$Notification;->INSTANCE:Lcom/tomkey/commons/tools/MaxClickObservable$Notification;

    invoke-interface {v0, v1}, Lio/reactivex/Observer;->onNext(Ljava/lang/Object;)V

    .line 173
    iget v0, p0, Lcom/tomkey/commons/tools/MaxClickObservable$a;->k:I

    add-int/lit8 v0, v0, 0x1

    iput v0, p0, Lcom/tomkey/commons/tools/MaxClickObservable$a;->k:I

    .line 174
    iget-boolean v0, p0, Lcom/tomkey/commons/tools/MaxClickObservable$a;->a:Z

    if-nez v0, :cond_0

    .line 175
    iput-boolean v2, p0, Lcom/tomkey/commons/tools/MaxClickObservable$a;->a:Z

    .line 176
    iget-object v0, p0, Lcom/tomkey/commons/tools/MaxClickObservable$a;->h:Lio/reactivex/Scheduler$Worker;

    new-instance v1, Lcom/tomkey/commons/tools/MaxClickObservable$a$2;

    invoke-direct {v1, p0}, Lcom/tomkey/commons/tools/MaxClickObservable$a$2;-><init>(Lcom/tomkey/commons/tools/MaxClickObservable$a;)V

    iget v2, p0, Lcom/tomkey/commons/tools/MaxClickObservable$a;->i:I

    int-to-long v2, v2

    sget-object v4, Ljava/util/concurrent/TimeUnit;->SECONDS:Ljava/util/concurrent/TimeUnit;

    invoke-virtual {v0, v1, v2, v3, v4}, Lio/reactivex/Scheduler$Worker;->schedule(Ljava/lang/Runnable;JLjava/util/concurrent/TimeUnit;)Lio/reactivex/disposables/Disposable;

    goto :goto_0

    .line 189
    :cond_2
    iget-boolean v0, p0, Lcom/tomkey/commons/tools/MaxClickObservable$a;->b:Z

    if-eqz v0, :cond_0

    iget-boolean v0, p0, Lcom/tomkey/commons/tools/MaxClickObservable$a;->c:Z

    if-nez v0, :cond_0

    .line 190
    invoke-direct {p0}, Lcom/tomkey/commons/tools/MaxClickObservable$a;->b()V

    .line 192
    iput-boolean v2, p0, Lcom/tomkey/commons/tools/MaxClickObservable$a;->c:Z

    .line 194
    invoke-static {}, Lio/reactivex/android/schedulers/AndroidSchedulers;->mainThread()Lio/reactivex/Scheduler;

    move-result-object v0

    invoke-virtual {v0}, Lio/reactivex/Scheduler;->createWorker()Lio/reactivex/Scheduler$Worker;

    move-result-object v0

    new-instance v1, Lcom/tomkey/commons/tools/MaxClickObservable$a$3;

    invoke-direct {v1, p0}, Lcom/tomkey/commons/tools/MaxClickObservable$a$3;-><init>(Lcom/tomkey/commons/tools/MaxClickObservable$a;)V

    iget v2, p0, Lcom/tomkey/commons/tools/MaxClickObservable$a;->l:I

    int-to-long v2, v2

    sget-object v4, Ljava/util/concurrent/TimeUnit;->SECONDS:Ljava/util/concurrent/TimeUnit;

    invoke-virtual {v0, v1, v2, v3, v4}, Lio/reactivex/Scheduler$Worker;->schedule(Ljava/lang/Runnable;JLjava/util/concurrent/TimeUnit;)Lio/reactivex/disposables/Disposable;

    goto :goto_0
.end method

.method static synthetic b(Lcom/tomkey/commons/tools/MaxClickObservable$a;)Ljava/lang/String;
    .locals 1

    .prologue
    .line 64
    iget-object v0, p0, Lcom/tomkey/commons/tools/MaxClickObservable$a;->m:Ljava/lang/String;

    return-object v0
.end method

.method private b()V
    .locals 5

    .prologue
    .line 218
    :try_start_0
    iget-object v0, p0, Lcom/tomkey/commons/tools/MaxClickObservable$a;->f:Landroid/view/View;

    invoke-virtual {v0}, Landroid/view/View;->getRootView()Landroid/view/View;

    move-result-object v0

    check-cast v0, Landroid/view/ViewGroup;

    iget-object v1, p0, Lcom/tomkey/commons/tools/MaxClickObservable$a;->e:Landroid/view/View;

    new-instance v2, Landroid/view/ViewGroup$LayoutParams;

    const/4 v3, -0x1

    const/4 v4, -0x1

    invoke-direct {v2, v3, v4}, Landroid/view/ViewGroup$LayoutParams;-><init>(II)V

    invoke-virtual {v0, v1, v2}, Landroid/view/ViewGroup;->addView(Landroid/view/View;Landroid/view/ViewGroup$LayoutParams;)V
    :try_end_0
    .catch Ljava/lang/ClassCastException; {:try_start_0 .. :try_end_0} :catch_0

    .line 222
    :goto_0
    return-void

    .line 219
    :catch_0
    move-exception v0

    goto :goto_0
.end method

.method static synthetic c(Lcom/tomkey/commons/tools/MaxClickObservable$a;)I
    .locals 1

    .prologue
    .line 64
    iget v0, p0, Lcom/tomkey/commons/tools/MaxClickObservable$a;->k:I

    return v0
.end method

.method private c()V
    .locals 2

    .prologue
    .line 229
    :try_start_0
    iget-object v0, p0, Lcom/tomkey/commons/tools/MaxClickObservable$a;->f:Landroid/view/View;

    invoke-virtual {v0}, Landroid/view/View;->getRootView()Landroid/view/View;

    move-result-object v0

    check-cast v0, Landroid/view/ViewGroup;

    iget-object v1, p0, Lcom/tomkey/commons/tools/MaxClickObservable$a;->e:Landroid/view/View;

    invoke-virtual {v0, v1}, Landroid/view/ViewGroup;->removeView(Landroid/view/View;)V
    :try_end_0
    .catch Ljava/lang/ClassCastException; {:try_start_0 .. :try_end_0} :catch_0

    .line 233
    :goto_0
    return-void

    .line 230
    :catch_0
    move-exception v0

    goto :goto_0
.end method

.method static synthetic d(Lcom/tomkey/commons/tools/MaxClickObservable$a;)I
    .locals 1

    .prologue
    .line 64
    iget v0, p0, Lcom/tomkey/commons/tools/MaxClickObservable$a;->j:I

    return v0
.end method

.method private d()V
    .locals 3

    .prologue
    const/4 v2, 0x2

    .line 239
    const-string/jumbo v0, "a_max_click_pref"

    invoke-static {v0}, Lcom/tomkey/commons/tools/f;->b(Ljava/lang/String;)Ljava/lang/String;

    move-result-object v0

    .line 240
    invoke-static {v0}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z

    move-result v1

    if-nez v1, :cond_0

    .line 242
    :try_start_0
    const-string/jumbo v1, "_"

    invoke-virtual {v0, v1}, Ljava/lang/String;->split(Ljava/lang/String;)[Ljava/lang/String;

    move-result-object v0

    .line 243
    const/4 v1, 0x0

    aget-object v1, v0, v1

    invoke-static {v1}, Ljava/lang/Integer;->valueOf(Ljava/lang/String;)Ljava/lang/Integer;

    move-result-object v1

    invoke-virtual {v1}, Ljava/lang/Integer;->intValue()I

    move-result v1

    iput v1, p0, Lcom/tomkey/commons/tools/MaxClickObservable$a;->i:I

    .line 244
    const/4 v1, 0x1

    aget-object v1, v0, v1

    invoke-static {v1}, Ljava/lang/Integer;->valueOf(Ljava/lang/String;)Ljava/lang/Integer;

    move-result-object v1

    invoke-virtual {v1}, Ljava/lang/Integer;->intValue()I

    move-result v1

    iput v1, p0, Lcom/tomkey/commons/tools/MaxClickObservable$a;->j:I

    .line 245
    const/4 v1, 0x2

    aget-object v1, v0, v1

    invoke-static {v1}, Ljava/lang/Integer;->valueOf(Ljava/lang/String;)Ljava/lang/Integer;

    move-result-object v1

    invoke-virtual {v1}, Ljava/lang/Integer;->intValue()I

    move-result v1

    iput v1, p0, Lcom/tomkey/commons/tools/MaxClickObservable$a;->l:I

    .line 246
    const/4 v1, 0x3

    aget-object v0, v0, v1

    iput-object v0, p0, Lcom/tomkey/commons/tools/MaxClickObservable$a;->m:Ljava/lang/String;
    :try_end_0
    .catch Ljava/lang/Exception; {:try_start_0 .. :try_end_0} :catch_0

    .line 250
    :cond_0
    :goto_0
    iget v0, p0, Lcom/tomkey/commons/tools/MaxClickObservable$a;->i:I

    if-nez v0, :cond_1

    .line 251
    iput v2, p0, Lcom/tomkey/commons/tools/MaxClickObservable$a;->i:I

    .line 253
    :cond_1
    iget v0, p0, Lcom/tomkey/commons/tools/MaxClickObservable$a;->j:I

    if-nez v0, :cond_2

    .line 254
    const/16 v0, 0x12

    iput v0, p0, Lcom/tomkey/commons/tools/MaxClickObservable$a;->j:I

    .line 256
    :cond_2
    iget v0, p0, Lcom/tomkey/commons/tools/MaxClickObservable$a;->l:I

    if-nez v0, :cond_3

    .line 257
    const/16 v0, 0x1e

    iput v0, p0, Lcom/tomkey/commons/tools/MaxClickObservable$a;->l:I

    .line 259
    :cond_3
    iget-object v0, p0, Lcom/tomkey/commons/tools/MaxClickObservable$a;->m:Ljava/lang/String;

    invoke-static {v0}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z

    move-result v0

    if-eqz v0, :cond_4

    .line 260
    const-string v0, "so name"
   
    const-string v0, "so name"
   
    const-string/jumbo v0, "\u68c0\u6d4b\u5230\u60a8\u7684\u64cd\u4f5c\u5b58\u5728\u5f02\u5e38\uff0c\u8bf7\u7a0d\u540e\u91cd\u8bd5\u3002"

    iput-object v0, p0, Lcom/tomkey/commons/tools/MaxClickObservable$a;->m:Ljava/lang/String;

    .line 262
    :cond_4
    return-void

    .line 247
    :catch_0
    move-exception v0

    goto :goto_0
.end method

.method static synthetic e(Lcom/tomkey/commons/tools/MaxClickObservable$a;)V
    .locals 0

    .prologue
    .line 64
    invoke-direct {p0}, Lcom/tomkey/commons/tools/MaxClickObservable$a;->c()V

    return-void
.end method


# virtual methods
.method public onClick(Landroid/view/View;)V
    .locals 0

    .prologue
    .line 153
    invoke-direct {p0}, Lcom/tomkey/commons/tools/MaxClickObservable$a;->a()V

    .line 154
    return-void
.end method

.method protected onDispose()V
    .locals 2

    .prologue
    .line 210
    iget-object v0, p0, Lcom/tomkey/commons/tools/MaxClickObservable$a;->f:Landroid/view/View;

    const/4 v1, 0x0

    invoke-virtual {v0, v1}, Landroid/view/View;->setOnClickListener(Landroid/view/View$OnClickListener;)V

    .line 211
    return-void
.end method

.method public onTouch(Landroid/view/View;Landroid/view/MotionEvent;)Z
    .locals 2

    .prologue
    .line 159
    invoke-virtual {p2}, Landroid/view/MotionEvent;->getAction()I

    move-result v0

    const/4 v1, 0x1

    if-ne v0, v1, :cond_0

    .line 160
    invoke-direct {p0}, Lcom/tomkey/commons/tools/MaxClickObservable$a;->a()V

    .line 162
    :cond_0
    const/4 v0, 0x0

    return v0
.end method



其中这一行(在第486 行)

const-string/jumbo v0, "\u68c0\u6d4b\u5230\u60a8\u7684\u64cd\u4f5c\u5b58\u5728\u5f02\u5e38\uff0c\u8bf7\u7a0d\u540e\u91cd\u8bd5\u3002"
"检查到您的操作异常,请稍后重试“
==这个是检测点击频率出现的提示(每秒点击次数太快会出现这个提示,少于106毫秒每次点击会出现提示),能不能更改?==== (因为在上一个旧版本中,可以把点击频率调更快,但不能使用旧版了)
const-string/jumbo v0, "a_max_click_pref"

页: [1]
查看完整版本: 小白求大神过来看下代码