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