SafeToast$TN.smali

.class Lcom/cleanmaster/util/SafeToast$TN;
.super Ljava/lang/Object;
.source "SafeToast.java"

# interfaces
.implements Lcom/cleanmaster/util/IToastCallback;


# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
    value = Lcom/cleanmaster/util/SafeToast;
.end annotation

.annotation system Ldalvik/annotation/InnerClass;
    accessFlags = 0xa
    name = "TN"
.end annotation


# instance fields
.field mGravity:I

.field final mHandler:Landroid/os/Handler;

.field final mHide:Ljava/lang/Runnable;

.field mHorizontalMargin:F

.field mNextView:Landroid/view/View;

.field private final mParams:Landroid/view/WindowManager$LayoutParams;

.field final mShow:Ljava/lang/Runnable;

.field mVerticalMargin:F

.field mView:Landroid/view/View;

.field mWM:Landroid/view/WindowManager;

.field mX:I

.field mY:I


# direct methods
.method constructor <init>()V
    .registers 3

    .prologue
    const/4 v1, -0x2

    .line 302
    invoke-direct {p0}, Ljava/lang/Object;-><init>()V

    .line 272
    new-instance v0, Lcom/cleanmaster/util/SafeToast$TN$1;

    invoke-direct {v0, p0}, Lcom/cleanmaster/util/SafeToast$TN$1;-><init>(Lcom/cleanmaster/util/SafeToast$TN;)V

    iput-object v0, p0, Lcom/cleanmaster/util/SafeToast$TN;->mShow:Ljava/lang/Runnable;

    .line 279
    new-instance v0, Lcom/cleanmaster/util/SafeToast$TN$2;

    invoke-direct {v0, p0}, Lcom/cleanmaster/util/SafeToast$TN$2;-><init>(Lcom/cleanmaster/util/SafeToast$TN;)V

    iput-object v0, p0, Lcom/cleanmaster/util/SafeToast$TN;->mHide:Ljava/lang/Runnable;

    .line 288
    new-instance v0, Landroid/view/WindowManager$LayoutParams;

    invoke-direct {v0}, Landroid/view/WindowManager$LayoutParams;-><init>()V

    iput-object v0, p0, Lcom/cleanmaster/util/SafeToast$TN;->mParams:Landroid/view/WindowManager$LayoutParams;

    .line 289
    new-instance v0, Landroid/os/Handler;

    invoke-direct {v0}, Landroid/os/Handler;-><init>()V

    iput-object v0, p0, Lcom/cleanmaster/util/SafeToast$TN;->mHandler:Landroid/os/Handler;

    .line 305
    iget-object v0, p0, Lcom/cleanmaster/util/SafeToast$TN;->mParams:Landroid/view/WindowManager$LayoutParams;

    .line 306
    iput v1, v0, Landroid/view/WindowManager$LayoutParams;->height:I

    .line 307
    iput v1, v0, Landroid/view/WindowManager$LayoutParams;->width:I

    .line 308
    const/4 v1, -0x3

    iput v1, v0, Landroid/view/WindowManager$LayoutParams;->format:I

    .line 309
    const v1, 0x1030004

    iput v1, v0, Landroid/view/WindowManager$LayoutParams;->windowAnimations:I

    .line 310
    const/16 v1, 0x7d5

    iput v1, v0, Landroid/view/WindowManager$LayoutParams;->type:I

    .line 311
    const-string v1, "Toast"

    invoke-virtual {v0, v1}, Landroid/view/WindowManager$LayoutParams;->setTitle(Ljava/lang/CharSequence;)V

    .line 312
    const/16 v1, 0x98

    iput v1, v0, Landroid/view/WindowManager$LayoutParams;->flags:I

    .line 315
    return-void
.end method

.method private trySendAccessibilityEvent()V
    .registers 4

    .prologue
    .line 380
    iget-object v0, p0, Lcom/cleanmaster/util/SafeToast$TN;->mView:Landroid/view/View;

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

    move-result-object v0

    const-string v1, "accessibility"

    invoke-virtual {v0, v1}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;

    move-result-object v0

    check-cast v0, Landroid/view/accessibility/AccessibilityManager;

    .line 381
    invoke-virtual {v0}, Landroid/view/accessibility/AccessibilityManager;->isEnabled()Z

    move-result v1

    if-nez v1, :cond_15

    .line 392
    :goto_14
    return-void

    .line 386
    :cond_15
    const/16 v1, 0x40

    invoke-static {v1}, Landroid/view/accessibility/AccessibilityEvent;->obtain(I)Landroid/view/accessibility/AccessibilityEvent;

    move-result-object v1

    .line 388
    invoke-virtual {p0}, Ljava/lang/Object;->getClass()Ljava/lang/Class;

    move-result-object v2

    invoke-virtual {v2}, Ljava/lang/Class;->getName()Ljava/lang/String;

    move-result-object v2

    invoke-virtual {v1, v2}, Landroid/view/accessibility/AccessibilityEvent;->setClassName(Ljava/lang/CharSequence;)V

    .line 389
    iget-object v2, p0, Lcom/cleanmaster/util/SafeToast$TN;->mView:Landroid/view/View;

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

    move-result-object v2

    invoke-virtual {v2}, Landroid/content/Context;->getPackageName()Ljava/lang/String;

    move-result-object v2

    invoke-virtual {v1, v2}, Landroid/view/accessibility/AccessibilityEvent;->setPackageName(Ljava/lang/CharSequence;)V

    .line 390
    iget-object v2, p0, Lcom/cleanmaster/util/SafeToast$TN;->mView:Landroid/view/View;

    invoke-virtual {v2, v1}, Landroid/view/View;->dispatchPopulateAccessibilityEvent(Landroid/view/accessibility/AccessibilityEvent;)Z

    .line 391
    invoke-virtual {v0, v1}, Landroid/view/accessibility/AccessibilityManager;->sendAccessibilityEvent(Landroid/view/accessibility/AccessibilityEvent;)V

    goto :goto_14
.end method


# virtual methods
.method public handleHide()V
    .registers 5

    .prologue
    .line 395
    iget-object v0, p0, Lcom/cleanmaster/util/SafeToast$TN;->mView:Landroid/view/View;

    if-eqz v0, :cond_16

    .line 399
    iget-object v0, p0, Lcom/cleanmaster/util/SafeToast$TN;->mView:Landroid/view/View;

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

    move-result-object v0

    if-eqz v0, :cond_13

    .line 401
    :try_start_c
    iget-object v0, p0, Lcom/cleanmaster/util/SafeToast$TN;->mWM:Landroid/view/WindowManager;

    iget-object v1, p0, Lcom/cleanmaster/util/SafeToast$TN;->mView:Landroid/view/View;

    invoke-interface {v0, v1}, Landroid/view/WindowManager;->removeView(Landroid/view/View;)V
    :try_end_13
    .catch Ljava/lang/Exception; {:try_start_c .. :try_end_13} :catch_17

    .line 407
    :cond_13
    :goto_13
    const/4 v0, 0x0

    iput-object v0, p0, Lcom/cleanmaster/util/SafeToast$TN;->mView:Landroid/view/View;

    .line 409
    :cond_16
    return-void

    .line 402
    :catch_17
    move-exception v0

    .line 403
    const-string v1, "SafeToast"

    new-instance v2, Ljava/lang/StringBuilder;

    invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V

    const-string v3, "Failed to hide safe toast, exception:"

    invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v2

    invoke-virtual {v0}, Ljava/lang/Exception;->getLocalizedMessage()Ljava/lang/String;

    move-result-object v0

    invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v0

    invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v0

    invoke-static {v1, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I

    goto :goto_13
.end method

.method public handleShow()V
    .registers 5

    .prologue
    const/high16 v3, 0x3f800000    # 1.0f

    .line 334
    iget-object v0, p0, Lcom/cleanmaster/util/SafeToast$TN;->mView:Landroid/view/View;

    iget-object v1, p0, Lcom/cleanmaster/util/SafeToast$TN;->mNextView:Landroid/view/View;

    if-eq v0, v1, :cond_94

    .line 336
    invoke-virtual {p0}, Lcom/cleanmaster/util/SafeToast$TN;->handleHide()V

    .line 337
    iget-object v0, p0, Lcom/cleanmaster/util/SafeToast$TN;->mNextView:Landroid/view/View;

    iput-object v0, p0, Lcom/cleanmaster/util/SafeToast$TN;->mView:Landroid/view/View;

    .line 338
    iget-object v0, p0, Lcom/cleanmaster/util/SafeToast$TN;->mView:Landroid/view/View;

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

    move-result-object v0

    invoke-virtual {v0}, Landroid/content/Context;->getApplicationContext()Landroid/content/Context;

    move-result-object v0

    .line 340
    if-nez v0, :cond_21

    .line 341
    iget-object v0, p0, Lcom/cleanmaster/util/SafeToast$TN;->mView:Landroid/view/View;

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

    move-result-object v0

    .line 343
    :cond_21
    const-string/jumbo v1, "window"

    invoke-virtual {v0, v1}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;

    move-result-object v0

    check-cast v0, Landroid/view/WindowManager;

    iput-object v0, p0, Lcom/cleanmaster/util/SafeToast$TN;->mWM:Landroid/view/WindowManager;

    .line 346
    iget-object v0, p0, Lcom/cleanmaster/util/SafeToast$TN;->mView:Landroid/view/View;

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

    move-result-object v0

    invoke-virtual {v0}, Landroid/content/Context;->getResources()Landroid/content/res/Resources;

    move-result-object v0

    invoke-virtual {v0}, Landroid/content/res/Resources;->getConfiguration()Landroid/content/res/Configuration;

    move-result-object v0

    .line 349
    sget v1, Landroid/os/Build$VERSION;->SDK_INT:I

    const/16 v2, 0x11

    if-lt v1, v2, :cond_95

    .line 350
    iget v1, p0, Lcom/cleanmaster/util/SafeToast$TN;->mGravity:I

    invoke-virtual {v0}, Landroid/content/res/Configuration;->getLayoutDirection()I

    move-result v0

    invoke-static {v1, v0}, Landroid/view/Gravity;->getAbsoluteGravity(II)I

    move-result v0

    .line 355
    :goto_4a
    iget-object v1, p0, Lcom/cleanmaster/util/SafeToast$TN;->mParams:Landroid/view/WindowManager$LayoutParams;

    iput v0, v1, Landroid/view/WindowManager$LayoutParams;->gravity:I

    .line 356
    and-int/lit8 v1, v0, 0x7

    const/4 v2, 0x7

    if-ne v1, v2, :cond_57

    .line 357
    iget-object v1, p0, Lcom/cleanmaster/util/SafeToast$TN;->mParams:Landroid/view/WindowManager$LayoutParams;

    iput v3, v1, Landroid/view/WindowManager$LayoutParams;->horizontalWeight:F

    .line 359
    :cond_57
    and-int/lit8 v0, v0, 0x70

    const/16 v1, 0x70

    if-ne v0, v1, :cond_61

    .line 360
    iget-object v0, p0, Lcom/cleanmaster/util/SafeToast$TN;->mParams:Landroid/view/WindowManager$LayoutParams;

    iput v3, v0, Landroid/view/WindowManager$LayoutParams;->verticalWeight:F

    .line 362
    :cond_61
    iget-object v0, p0, Lcom/cleanmaster/util/SafeToast$TN;->mParams:Landroid/view/WindowManager$LayoutParams;

    iget v1, p0, Lcom/cleanmaster/util/SafeToast$TN;->mX:I

    iput v1, v0, Landroid/view/WindowManager$LayoutParams;->x:I

    .line 363
    iget-object v0, p0, Lcom/cleanmaster/util/SafeToast$TN;->mParams:Landroid/view/WindowManager$LayoutParams;

    iget v1, p0, Lcom/cleanmaster/util/SafeToast$TN;->mY:I

    iput v1, v0, Landroid/view/WindowManager$LayoutParams;->y:I

    .line 364
    iget-object v0, p0, Lcom/cleanmaster/util/SafeToast$TN;->mParams:Landroid/view/WindowManager$LayoutParams;

    iget v1, p0, Lcom/cleanmaster/util/SafeToast$TN;->mVerticalMargin:F

    iput v1, v0, Landroid/view/WindowManager$LayoutParams;->verticalMargin:F

    .line 365
    iget-object v0, p0, Lcom/cleanmaster/util/SafeToast$TN;->mParams:Landroid/view/WindowManager$LayoutParams;

    iget v1, p0, Lcom/cleanmaster/util/SafeToast$TN;->mHorizontalMargin:F

    iput v1, v0, Landroid/view/WindowManager$LayoutParams;->horizontalMargin:F

    .line 367
    iget-object v0, p0, Lcom/cleanmaster/util/SafeToast$TN;->mView:Landroid/view/View;

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

    move-result-object v0

    if-eqz v0, :cond_88

    .line 368
    iget-object v0, p0, Lcom/cleanmaster/util/SafeToast$TN;->mWM:Landroid/view/WindowManager;

    iget-object v1, p0, Lcom/cleanmaster/util/SafeToast$TN;->mView:Landroid/view/View;

    invoke-interface {v0, v1}, Landroid/view/WindowManager;->removeView(Landroid/view/View;)V

    .line 371
    :cond_88
    :try_start_88
    iget-object v0, p0, Lcom/cleanmaster/util/SafeToast$TN;->mWM:Landroid/view/WindowManager;

    iget-object v1, p0, Lcom/cleanmaster/util/SafeToast$TN;->mView:Landroid/view/View;

    iget-object v2, p0, Lcom/cleanmaster/util/SafeToast$TN;->mParams:Landroid/view/WindowManager$LayoutParams;

    invoke-interface {v0, v1, v2}, Landroid/view/WindowManager;->addView(Landroid/view/View;Landroid/view/ViewGroup$LayoutParams;)V

    .line 372
    invoke-direct {p0}, Lcom/cleanmaster/util/SafeToast$TN;->trySendAccessibilityEvent()V
    :try_end_94
    .catch Ljava/lang/Exception; {:try_start_88 .. :try_end_94} :catch_98

    .line 377
    :cond_94
    :goto_94
    return-void

    .line 352
    :cond_95
    iget v0, p0, Lcom/cleanmaster/util/SafeToast$TN;->mGravity:I

    goto :goto_4a

    .line 373
    :catch_98
    move-exception v0

    .line 374
    const-string v1, "SafeToast"

    new-instance v2, Ljava/lang/StringBuilder;

    invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V

    const-string v3, "Failed to show safe toast, exception:"

    invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v2

    invoke-virtual {v0}, Ljava/lang/Exception;->getLocalizedMessage()Ljava/lang/String;

    move-result-object v0

    invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v0

    invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v0

    invoke-static {v1, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I

    goto :goto_94
.end method

.method public hide()V
    .registers 3

    .prologue
    .line 330
    iget-object v0, p0, Lcom/cleanmaster/util/SafeToast$TN;->mHandler:Landroid/os/Handler;

    iget-object v1, p0, Lcom/cleanmaster/util/SafeToast$TN;->mHide:Ljava/lang/Runnable;

    invoke-virtual {v0, v1}, Landroid/os/Handler;->post(Ljava/lang/Runnable;)Z

    .line 331
    return-void
.end method

.method public show()V
    .registers 3

    .prologue
    .line 322
    iget-object v0, p0, Lcom/cleanmaster/util/SafeToast$TN;->mHandler:Landroid/os/Handler;

    iget-object v1, p0, Lcom/cleanmaster/util/SafeToast$TN;->mShow:Ljava/lang/Runnable;

    invoke-virtual {v0, v1}, Landroid/os/Handler;->post(Ljava/lang/Runnable;)Z

    .line 323
    return-void
.end method