ToastUtils$ToastWithoutNotification.smali
.class Lcom/blankj/utilcode/util/ToastUtils$ToastWithoutNotification;
.super Lcom/blankj/utilcode/util/ToastUtils$AbsToast;
.source "ToastUtils.java"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/blankj/utilcode/util/ToastUtils;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x8
name = "ToastWithoutNotification"
.end annotation
# static fields
.field private static final LISTENER:Lcom/blankj/utilcode/util/Utils$OnActivityDestroyedListener;
# instance fields
.field private mParams:Landroid/view/WindowManager$LayoutParams;
.field private mView:Landroid/view/View;
.field private mWM:Landroid/view/WindowManager;
# direct methods
.method static constructor <clinit>()V
.registers 1
.line 429
new-instance v0, Lcom/blankj/utilcode/util/ToastUtils$ToastWithoutNotification$1;
invoke-direct {v0}, Lcom/blankj/utilcode/util/ToastUtils$ToastWithoutNotification$1;-><init>()V
sput-object v0, Lcom/blankj/utilcode/util/ToastUtils$ToastWithoutNotification;->LISTENER:Lcom/blankj/utilcode/util/Utils$OnActivityDestroyedListener;
return-void
.end method
.method constructor <init>(Landroid/widget/Toast;)V
.registers 3
.param p1, "toast" # Landroid/widget/Toast;
.line 440
invoke-direct {p0, p1}, Lcom/blankj/utilcode/util/ToastUtils$AbsToast;-><init>(Landroid/widget/Toast;)V
.line 427
new-instance v0, Landroid/view/WindowManager$LayoutParams;
invoke-direct {v0}, Landroid/view/WindowManager$LayoutParams;-><init>()V
iput-object v0, p0, Lcom/blankj/utilcode/util/ToastUtils$ToastWithoutNotification;->mParams:Landroid/view/WindowManager$LayoutParams;
.line 441
return-void
.end method
.method static synthetic access$800(Lcom/blankj/utilcode/util/ToastUtils$ToastWithoutNotification;)V
.registers 1
.param p0, "x0" # Lcom/blankj/utilcode/util/ToastUtils$ToastWithoutNotification;
.line 422
invoke-direct {p0}, Lcom/blankj/utilcode/util/ToastUtils$ToastWithoutNotification;->realShow()V
return-void
.end method
.method private realShow()V
.registers 7
.line 454
iget-object v0, p0, Lcom/blankj/utilcode/util/ToastUtils$ToastWithoutNotification;->mToast:Landroid/widget/Toast;
if-nez v0, :cond_5
return-void
.line 455
:cond_5
iget-object v0, p0, Lcom/blankj/utilcode/util/ToastUtils$ToastWithoutNotification;->mToast:Landroid/widget/Toast;
invoke-virtual {v0}, Landroid/widget/Toast;->getView()Landroid/view/View;
move-result-object v0
iput-object v0, p0, Lcom/blankj/utilcode/util/ToastUtils$ToastWithoutNotification;->mView:Landroid/view/View;
.line 456
if-nez v0, :cond_10
return-void
.line 457
:cond_10
iget-object v0, p0, Lcom/blankj/utilcode/util/ToastUtils$ToastWithoutNotification;->mToast:Landroid/widget/Toast;
invoke-virtual {v0}, Landroid/widget/Toast;->getView()Landroid/view/View;
move-result-object v0
invoke-virtual {v0}, Landroid/view/View;->getContext()Landroid/content/Context;
move-result-object v0
.line 458
.local v0, "context":Landroid/content/Context;
sget v1, Landroid/os/Build$VERSION;->SDK_INT:I
const/16 v2, 0x19
if-ge v1, v2, :cond_32
.line 459
const-string/jumbo v1, "window"
invoke-virtual {v0, v1}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;
move-result-object v1
check-cast v1, Landroid/view/WindowManager;
iput-object v1, p0, Lcom/blankj/utilcode/util/ToastUtils$ToastWithoutNotification;->mWM:Landroid/view/WindowManager;
.line 460
iget-object v1, p0, Lcom/blankj/utilcode/util/ToastUtils$ToastWithoutNotification;->mParams:Landroid/view/WindowManager$LayoutParams;
const/16 v2, 0x7d5
iput v2, v1, Landroid/view/WindowManager$LayoutParams;->type:I
goto :goto_68
.line 462
:cond_32
invoke-static {}, Lcom/blankj/utilcode/util/Utils;->getTopActivityOrApp()Landroid/content/Context;
move-result-object v1
.line 463
.local v1, "topActivityOrApp":Landroid/content/Context;
instance-of v2, v1, Landroid/app/Activity;
const-string v3, "ToastUtils"
if-nez v2, :cond_42
.line 464
const-string v2, "Couldn\'t get top Activity."
invoke-static {v3, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
.line 465
return-void
.line 467
:cond_42
move-object v2, v1
check-cast v2, Landroid/app/Activity;
.line 468
.local v2, "topActivity":Landroid/app/Activity;
invoke-virtual {v2}, Landroid/app/Activity;->isFinishing()Z
move-result v4
if-nez v4, :cond_109
invoke-virtual {v2}, Landroid/app/Activity;->isDestroyed()Z
move-result v4
if-eqz v4, :cond_53
goto/16 :goto_109
.line 472
:cond_53
invoke-virtual {v2}, Landroid/app/Activity;->getWindowManager()Landroid/view/WindowManager;
move-result-object v3
iput-object v3, p0, Lcom/blankj/utilcode/util/ToastUtils$ToastWithoutNotification;->mWM:Landroid/view/WindowManager;
.line 473
iget-object v3, p0, Lcom/blankj/utilcode/util/ToastUtils$ToastWithoutNotification;->mParams:Landroid/view/WindowManager$LayoutParams;
const/16 v4, 0x63
iput v4, v3, Landroid/view/WindowManager$LayoutParams;->type:I
.line 474
invoke-static {}, Lcom/blankj/utilcode/util/Utils;->getActivityLifecycle()Lcom/blankj/utilcode/util/Utils$ActivityLifecycleImpl;
move-result-object v3
sget-object v4, Lcom/blankj/utilcode/util/ToastUtils$ToastWithoutNotification;->LISTENER:Lcom/blankj/utilcode/util/Utils$OnActivityDestroyedListener;
invoke-virtual {v3, v2, v4}, Lcom/blankj/utilcode/util/Utils$ActivityLifecycleImpl;->addOnActivityDestroyedListener(Landroid/app/Activity;Lcom/blankj/utilcode/util/Utils$OnActivityDestroyedListener;)V
.line 477
.end local v1 # "topActivityOrApp":Landroid/content/Context;
.end local v2 # "topActivity":Landroid/app/Activity;
:goto_68
iget-object v1, p0, Lcom/blankj/utilcode/util/ToastUtils$ToastWithoutNotification;->mParams:Landroid/view/WindowManager$LayoutParams;
const/4 v2, -0x2
iput v2, v1, Landroid/view/WindowManager$LayoutParams;->height:I
.line 478
iget-object v1, p0, Lcom/blankj/utilcode/util/ToastUtils$ToastWithoutNotification;->mParams:Landroid/view/WindowManager$LayoutParams;
iput v2, v1, Landroid/view/WindowManager$LayoutParams;->width:I
.line 479
iget-object v1, p0, Lcom/blankj/utilcode/util/ToastUtils$ToastWithoutNotification;->mParams:Landroid/view/WindowManager$LayoutParams;
const/4 v2, -0x3
iput v2, v1, Landroid/view/WindowManager$LayoutParams;->format:I
.line 480
iget-object v1, p0, Lcom/blankj/utilcode/util/ToastUtils$ToastWithoutNotification;->mParams:Landroid/view/WindowManager$LayoutParams;
const v2, 0x1030004
iput v2, v1, Landroid/view/WindowManager$LayoutParams;->windowAnimations:I
.line 481
iget-object v1, p0, Lcom/blankj/utilcode/util/ToastUtils$ToastWithoutNotification;->mParams:Landroid/view/WindowManager$LayoutParams;
const-string v2, "ToastWithoutNotification"
invoke-virtual {v1, v2}, Landroid/view/WindowManager$LayoutParams;->setTitle(Ljava/lang/CharSequence;)V
.line 482
iget-object v1, p0, Lcom/blankj/utilcode/util/ToastUtils$ToastWithoutNotification;->mParams:Landroid/view/WindowManager$LayoutParams;
const/16 v2, 0x98
iput v2, v1, Landroid/view/WindowManager$LayoutParams;->flags:I
.line 485
iget-object v1, p0, Lcom/blankj/utilcode/util/ToastUtils$ToastWithoutNotification;->mParams:Landroid/view/WindowManager$LayoutParams;
invoke-static {}, Lcom/blankj/utilcode/util/Utils;->getApp()Landroid/app/Application;
move-result-object v2
invoke-virtual {v2}, Landroid/app/Application;->getPackageName()Ljava/lang/String;
move-result-object v2
iput-object v2, v1, Landroid/view/WindowManager$LayoutParams;->packageName:Ljava/lang/String;
.line 487
iget-object v1, p0, Lcom/blankj/utilcode/util/ToastUtils$ToastWithoutNotification;->mParams:Landroid/view/WindowManager$LayoutParams;
iget-object v2, p0, Lcom/blankj/utilcode/util/ToastUtils$ToastWithoutNotification;->mToast:Landroid/widget/Toast;
invoke-virtual {v2}, Landroid/widget/Toast;->getGravity()I
move-result v2
iput v2, v1, Landroid/view/WindowManager$LayoutParams;->gravity:I
.line 488
iget-object v1, p0, Lcom/blankj/utilcode/util/ToastUtils$ToastWithoutNotification;->mParams:Landroid/view/WindowManager$LayoutParams;
iget v1, v1, Landroid/view/WindowManager$LayoutParams;->gravity:I
const/4 v2, 0x7
and-int/2addr v1, v2
const/high16 v3, 0x3f800000 # 1.0f
if-ne v1, v2, :cond_ae
.line 489
iget-object v1, p0, Lcom/blankj/utilcode/util/ToastUtils$ToastWithoutNotification;->mParams:Landroid/view/WindowManager$LayoutParams;
iput v3, v1, Landroid/view/WindowManager$LayoutParams;->horizontalWeight:F
.line 491
:cond_ae
iget-object v1, p0, Lcom/blankj/utilcode/util/ToastUtils$ToastWithoutNotification;->mParams:Landroid/view/WindowManager$LayoutParams;
iget v1, v1, Landroid/view/WindowManager$LayoutParams;->gravity:I
const/16 v2, 0x70
and-int/2addr v1, v2
if-ne v1, v2, :cond_bb
.line 492
iget-object v1, p0, Lcom/blankj/utilcode/util/ToastUtils$ToastWithoutNotification;->mParams:Landroid/view/WindowManager$LayoutParams;
iput v3, v1, Landroid/view/WindowManager$LayoutParams;->verticalWeight:F
.line 495
:cond_bb
iget-object v1, p0, Lcom/blankj/utilcode/util/ToastUtils$ToastWithoutNotification;->mParams:Landroid/view/WindowManager$LayoutParams;
iget-object v2, p0, Lcom/blankj/utilcode/util/ToastUtils$ToastWithoutNotification;->mToast:Landroid/widget/Toast;
invoke-virtual {v2}, Landroid/widget/Toast;->getXOffset()I
move-result v2
iput v2, v1, Landroid/view/WindowManager$LayoutParams;->x:I
.line 496
iget-object v1, p0, Lcom/blankj/utilcode/util/ToastUtils$ToastWithoutNotification;->mParams:Landroid/view/WindowManager$LayoutParams;
iget-object v2, p0, Lcom/blankj/utilcode/util/ToastUtils$ToastWithoutNotification;->mToast:Landroid/widget/Toast;
invoke-virtual {v2}, Landroid/widget/Toast;->getYOffset()I
move-result v2
iput v2, v1, Landroid/view/WindowManager$LayoutParams;->y:I
.line 497
iget-object v1, p0, Lcom/blankj/utilcode/util/ToastUtils$ToastWithoutNotification;->mParams:Landroid/view/WindowManager$LayoutParams;
iget-object v2, p0, Lcom/blankj/utilcode/util/ToastUtils$ToastWithoutNotification;->mToast:Landroid/widget/Toast;
invoke-virtual {v2}, Landroid/widget/Toast;->getHorizontalMargin()F
move-result v2
iput v2, v1, Landroid/view/WindowManager$LayoutParams;->horizontalMargin:F
.line 498
iget-object v1, p0, Lcom/blankj/utilcode/util/ToastUtils$ToastWithoutNotification;->mParams:Landroid/view/WindowManager$LayoutParams;
iget-object v2, p0, Lcom/blankj/utilcode/util/ToastUtils$ToastWithoutNotification;->mToast:Landroid/widget/Toast;
invoke-virtual {v2}, Landroid/widget/Toast;->getVerticalMargin()F
move-result v2
iput v2, v1, Landroid/view/WindowManager$LayoutParams;->verticalMargin:F
.line 501
:try_start_e3
iget-object v1, p0, Lcom/blankj/utilcode/util/ToastUtils$ToastWithoutNotification;->mWM:Landroid/view/WindowManager;
if-eqz v1, :cond_f2
.line 502
iget-object v1, p0, Lcom/blankj/utilcode/util/ToastUtils$ToastWithoutNotification;->mWM:Landroid/view/WindowManager;
iget-object v2, p0, Lcom/blankj/utilcode/util/ToastUtils$ToastWithoutNotification;->mView:Landroid/view/View;
iget-object v3, p0, Lcom/blankj/utilcode/util/ToastUtils$ToastWithoutNotification;->mParams:Landroid/view/WindowManager$LayoutParams;
invoke-interface {v1, v2, v3}, Landroid/view/WindowManager;->addView(Landroid/view/View;Landroid/view/ViewGroup$LayoutParams;)V
:try_end_f0
.catch Ljava/lang/Exception; {:try_start_e3 .. :try_end_f0} :catch_f1
goto :goto_f2
.line 504
:catch_f1
move-exception v1
:cond_f2
:goto_f2
nop
.line 506
new-instance v1, Lcom/blankj/utilcode/util/ToastUtils$ToastWithoutNotification$3;
invoke-direct {v1, p0}, Lcom/blankj/utilcode/util/ToastUtils$ToastWithoutNotification$3;-><init>(Lcom/blankj/utilcode/util/ToastUtils$ToastWithoutNotification;)V
iget-object v2, p0, Lcom/blankj/utilcode/util/ToastUtils$ToastWithoutNotification;->mToast:Landroid/widget/Toast;
.line 511
invoke-virtual {v2}, Landroid/widget/Toast;->getDuration()I
move-result v2
if-nez v2, :cond_103
const-wide/16 v2, 0x7d0
goto :goto_105
:cond_103
const-wide/16 v2, 0xdac
.line 506
:goto_105
invoke-static {v1, v2, v3}, Lcom/blankj/utilcode/util/Utils;->runOnUiThreadDelayed(Ljava/lang/Runnable;J)V
.line 512
return-void
.line 469
.restart local v1 # "topActivityOrApp":Landroid/content/Context;
.restart local v2 # "topActivity":Landroid/app/Activity;
:cond_109
:goto_109
new-instance v4, Ljava/lang/StringBuilder;
invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {v4, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
const-string v5, " is useless"
invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v4
invoke-static {v3, v4}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
.line 470
return-void
.end method
# virtual methods
.method public cancel()V
.registers 3
.line 517
:try_start_0
iget-object v0, p0, Lcom/blankj/utilcode/util/ToastUtils$ToastWithoutNotification;->mWM:Landroid/view/WindowManager;
if-eqz v0, :cond_d
.line 518
iget-object v0, p0, Lcom/blankj/utilcode/util/ToastUtils$ToastWithoutNotification;->mWM:Landroid/view/WindowManager;
iget-object v1, p0, Lcom/blankj/utilcode/util/ToastUtils$ToastWithoutNotification;->mView:Landroid/view/View;
invoke-interface {v0, v1}, Landroid/view/WindowManager;->removeViewImmediate(Landroid/view/View;)V
:try_end_b
.catch Ljava/lang/Exception; {:try_start_0 .. :try_end_b} :catch_c
goto :goto_d
.line 520
:catch_c
move-exception v0
:cond_d
:goto_d
nop
.line 521
const/4 v0, 0x0
iput-object v0, p0, Lcom/blankj/utilcode/util/ToastUtils$ToastWithoutNotification;->mView:Landroid/view/View;
.line 522
iput-object v0, p0, Lcom/blankj/utilcode/util/ToastUtils$ToastWithoutNotification;->mWM:Landroid/view/WindowManager;
.line 523
iput-object v0, p0, Lcom/blankj/utilcode/util/ToastUtils$ToastWithoutNotification;->mToast:Landroid/widget/Toast;
.line 524
return-void
.end method
.method public show()V
.registers 4
.line 445
new-instance v0, Lcom/blankj/utilcode/util/ToastUtils$ToastWithoutNotification$2;
invoke-direct {v0, p0}, Lcom/blankj/utilcode/util/ToastUtils$ToastWithoutNotification$2;-><init>(Lcom/blankj/utilcode/util/ToastUtils$ToastWithoutNotification;)V
const-wide/16 v1, 0x12c
invoke-static {v0, v1, v2}, Lcom/blankj/utilcode/util/Utils;->runOnUiThreadDelayed(Ljava/lang/Runnable;J)V
.line 451
return-void
.end method