ToastFloatingWindow.smali

.class public Lcom/cleanmaster/hpsharelib/base/widget/ToastFloatingWindow;
.super Ljava/lang/Object;
.source "ToastFloatingWindow.java"


# static fields
.field public static final LENGTH_ALWAYS:I = 0x0

.field public static final LENGTH_LONG:I = 0x4

.field public static final LENGTH_SHORT:I = 0x2

.field private static final TAG:Ljava/lang/String; = "ExToast"


# instance fields
.field private hide:Ljava/lang/reflect/Method;

.field private isShow:Z

.field private mContext:Landroid/content/Context;

.field private mDuration:I

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

.field private mParamsFlags:I

.field private mTN:Ljava/lang/Object;

.field private mView:Landroid/view/View;

.field private mWM:Landroid/view/WindowManager;

.field private mWindowHeight:I

.field private mWindowWidth:I

.field private show:Ljava/lang/reflect/Method;

.field private toast:Landroid/widget/Toast;


# direct methods
.method public constructor <init>(Landroid/content/Context;Landroid/view/View;)V
    .registers 5

    .prologue
    const/4 v1, -0x2

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

    .line 27
    const/4 v0, 0x2

    iput v0, p0, Lcom/cleanmaster/hpsharelib/base/widget/ToastFloatingWindow;->mDuration:I

    .line 28
    const/4 v0, 0x0

    iput-boolean v0, p0, Lcom/cleanmaster/hpsharelib/base/widget/ToastFloatingWindow;->isShow:Z

    .line 29
    const v0, 0x10000b8

    iput v0, p0, Lcom/cleanmaster/hpsharelib/base/widget/ToastFloatingWindow;->mParamsFlags:I

    .line 34
    iput v1, p0, Lcom/cleanmaster/hpsharelib/base/widget/ToastFloatingWindow;->mWindowHeight:I

    .line 35
    iput v1, p0, Lcom/cleanmaster/hpsharelib/base/widget/ToastFloatingWindow;->mWindowWidth:I

    .line 44
    iput-object p1, p0, Lcom/cleanmaster/hpsharelib/base/widget/ToastFloatingWindow;->mContext:Landroid/content/Context;

    .line 45
    iget-object v0, p0, Lcom/cleanmaster/hpsharelib/base/widget/ToastFloatingWindow;->toast:Landroid/widget/Toast;

    if-nez v0, :cond_22

    .line 46
    new-instance v0, Landroid/widget/Toast;

    iget-object v1, p0, Lcom/cleanmaster/hpsharelib/base/widget/ToastFloatingWindow;->mContext:Landroid/content/Context;

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

    iput-object v0, p0, Lcom/cleanmaster/hpsharelib/base/widget/ToastFloatingWindow;->toast:Landroid/widget/Toast;

    .line 48
    :cond_22
    iput-object p2, p0, Lcom/cleanmaster/hpsharelib/base/widget/ToastFloatingWindow;->mView:Landroid/view/View;

    .line 49
    return-void
.end method

.method private initTN()V
    .registers 4

    .prologue
    .line 106
    :try_start_0
    iget-object v0, p0, Lcom/cleanmaster/hpsharelib/base/widget/ToastFloatingWindow;->toast:Landroid/widget/Toast;

    invoke-virtual {v0}, Ljava/lang/Object;->getClass()Ljava/lang/Class;

    move-result-object v0

    const-string v1, "mTN"

    invoke-virtual {v0, v1}, Ljava/lang/Class;->getDeclaredField(Ljava/lang/String;)Ljava/lang/reflect/Field;

    move-result-object v0

    .line 107
    const/4 v1, 0x1

    invoke-virtual {v0, v1}, Ljava/lang/reflect/Field;->setAccessible(Z)V

    .line 108
    iget-object v1, p0, Lcom/cleanmaster/hpsharelib/base/widget/ToastFloatingWindow;->toast:Landroid/widget/Toast;

    invoke-virtual {v0, v1}, Ljava/lang/reflect/Field;->get(Ljava/lang/Object;)Ljava/lang/Object;

    move-result-object v0

    iput-object v0, p0, Lcom/cleanmaster/hpsharelib/base/widget/ToastFloatingWindow;->mTN:Ljava/lang/Object;

    .line 109
    iget-object v0, p0, Lcom/cleanmaster/hpsharelib/base/widget/ToastFloatingWindow;->mTN:Ljava/lang/Object;

    invoke-virtual {v0}, Ljava/lang/Object;->getClass()Ljava/lang/Class;

    move-result-object v0

    const-string v1, "show"

    const/4 v2, 0x0

    new-array v2, v2, [Ljava/lang/Class;

    invoke-virtual {v0, v1, v2}, Ljava/lang/Class;->getMethod(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;

    move-result-object v0

    iput-object v0, p0, Lcom/cleanmaster/hpsharelib/base/widget/ToastFloatingWindow;->show:Ljava/lang/reflect/Method;

    .line 110
    iget-object v0, p0, Lcom/cleanmaster/hpsharelib/base/widget/ToastFloatingWindow;->mTN:Ljava/lang/Object;

    invoke-virtual {v0}, Ljava/lang/Object;->getClass()Ljava/lang/Class;

    move-result-object v0

    const-string v1, "hide"

    const/4 v2, 0x0

    new-array v2, v2, [Ljava/lang/Class;

    invoke-virtual {v0, v1, v2}, Ljava/lang/Class;->getMethod(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;

    move-result-object v0

    iput-object v0, p0, Lcom/cleanmaster/hpsharelib/base/widget/ToastFloatingWindow;->hide:Ljava/lang/reflect/Method;

    .line 112
    iget-object v0, p0, Lcom/cleanmaster/hpsharelib/base/widget/ToastFloatingWindow;->mTN:Ljava/lang/Object;

    invoke-virtual {v0}, Ljava/lang/Object;->getClass()Ljava/lang/Class;

    move-result-object v0

    const-string v1, "mParams"

    invoke-virtual {v0, v1}, Ljava/lang/Class;->getDeclaredField(Ljava/lang/String;)Ljava/lang/reflect/Field;

    move-result-object v0

    .line 113
    const/4 v1, 0x1

    invoke-virtual {v0, v1}, Ljava/lang/reflect/Field;->setAccessible(Z)V

    .line 115
    iget-object v1, p0, Lcom/cleanmaster/hpsharelib/base/widget/ToastFloatingWindow;->mTN:Ljava/lang/Object;

    invoke-virtual {v0, v1}, Ljava/lang/reflect/Field;->get(Ljava/lang/Object;)Ljava/lang/Object;

    move-result-object v0

    check-cast v0, Landroid/view/WindowManager$LayoutParams;

    iput-object v0, p0, Lcom/cleanmaster/hpsharelib/base/widget/ToastFloatingWindow;->mParams:Landroid/view/WindowManager$LayoutParams;

    .line 116
    iget-object v0, p0, Lcom/cleanmaster/hpsharelib/base/widget/ToastFloatingWindow;->mParams:Landroid/view/WindowManager$LayoutParams;

    iget v1, p0, Lcom/cleanmaster/hpsharelib/base/widget/ToastFloatingWindow;->mParamsFlags:I

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

    .line 117
    iget-object v0, p0, Lcom/cleanmaster/hpsharelib/base/widget/ToastFloatingWindow;->mParams:Landroid/view/WindowManager$LayoutParams;

    const/16 v1, 0x7d5

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

    .line 118
    iget-object v1, p0, Lcom/cleanmaster/hpsharelib/base/widget/ToastFloatingWindow;->mParams:Landroid/view/WindowManager$LayoutParams;

    sget v0, Landroid/os/Build$VERSION;->SDK_INT:I

    const/16 v2, 0x13

    if-lt v0, v2, :cond_af

    const/16 v0, 0x1606

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

    .line 119
    iget-object v0, p0, Lcom/cleanmaster/hpsharelib/base/widget/ToastFloatingWindow;->mParams:Landroid/view/WindowManager$LayoutParams;

    const/4 v1, -0x2

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

    .line 120
    iget-object v0, p0, Lcom/cleanmaster/hpsharelib/base/widget/ToastFloatingWindow;->mParams:Landroid/view/WindowManager$LayoutParams;

    const/4 v1, 0x1

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

    .line 121
    iget-object v0, p0, Lcom/cleanmaster/hpsharelib/base/widget/ToastFloatingWindow;->mParams:Landroid/view/WindowManager$LayoutParams;

    iget v1, p0, Lcom/cleanmaster/hpsharelib/base/widget/ToastFloatingWindow;->mWindowHeight:I

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

    .line 122
    iget-object v0, p0, Lcom/cleanmaster/hpsharelib/base/widget/ToastFloatingWindow;->mParams:Landroid/view/WindowManager$LayoutParams;

    iget v1, p0, Lcom/cleanmaster/hpsharelib/base/widget/ToastFloatingWindow;->mWindowWidth:I

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

    .line 125
    iget-object v0, p0, Lcom/cleanmaster/hpsharelib/base/widget/ToastFloatingWindow;->mTN:Ljava/lang/Object;

    invoke-virtual {v0}, Ljava/lang/Object;->getClass()Ljava/lang/Class;

    move-result-object v0

    const-string v1, "mNextView"

    invoke-virtual {v0, v1}, Ljava/lang/Class;->getDeclaredField(Ljava/lang/String;)Ljava/lang/reflect/Field;

    move-result-object v0

    .line 126
    const/4 v1, 0x1

    invoke-virtual {v0, v1}, Ljava/lang/reflect/Field;->setAccessible(Z)V

    .line 127
    iget-object v1, p0, Lcom/cleanmaster/hpsharelib/base/widget/ToastFloatingWindow;->mTN:Ljava/lang/Object;

    iget-object v2, p0, Lcom/cleanmaster/hpsharelib/base/widget/ToastFloatingWindow;->toast:Landroid/widget/Toast;

    invoke-virtual {v2}, Landroid/widget/Toast;->getView()Landroid/view/View;

    move-result-object v2

    invoke-virtual {v0, v1, v2}, Ljava/lang/reflect/Field;->set(Ljava/lang/Object;Ljava/lang/Object;)V

    .line 129
    iget-object v0, p0, Lcom/cleanmaster/hpsharelib/base/widget/ToastFloatingWindow;->mContext:Landroid/content/Context;

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

    move-result-object v0

    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/hpsharelib/base/widget/ToastFloatingWindow;->mWM:Landroid/view/WindowManager;
    :try_end_ae
    .catch Ljava/lang/Exception; {:try_start_0 .. :try_end_ae} :catch_b2

    .line 133
    :goto_ae
    return-void

    .line 118
    :cond_af
    const/16 v0, 0x1604

    goto :goto_6a

    .line 130
    :catch_b2
    move-exception v0

    .line 131
    invoke-virtual {v0}, Ljava/lang/Exception;->printStackTrace()V

    goto :goto_ae
.end method


# virtual methods
.method public getDuration()I
    .registers 2

    .prologue
    .line 97
    iget v0, p0, Lcom/cleanmaster/hpsharelib/base/widget/ToastFloatingWindow;->mDuration:I

    return v0
.end method

.method public getGravity()I
    .registers 2

    .prologue
    .line 145
    iget-object v0, p0, Lcom/cleanmaster/hpsharelib/base/widget/ToastFloatingWindow;->toast:Landroid/widget/Toast;

    invoke-virtual {v0}, Landroid/widget/Toast;->getGravity()I

    move-result v0

    return v0
.end method

.method public getView()Landroid/view/View;
    .registers 2

    .prologue
    .line 89
    iget-object v0, p0, Lcom/cleanmaster/hpsharelib/base/widget/ToastFloatingWindow;->toast:Landroid/widget/Toast;

    invoke-virtual {v0}, Landroid/widget/Toast;->getView()Landroid/view/View;

    move-result-object v0

    return-object v0
.end method

.method public getWindowLayoutParams()Landroid/view/WindowManager$LayoutParams;
    .registers 2

    .prologue
    .line 149
    iget-object v0, p0, Lcom/cleanmaster/hpsharelib/base/widget/ToastFloatingWindow;->mParams:Landroid/view/WindowManager$LayoutParams;

    return-object v0
.end method

.method public hide()V
    .registers 5

    .prologue
    const/4 v3, 0x0

    .line 68
    iget-boolean v0, p0, Lcom/cleanmaster/hpsharelib/base/widget/ToastFloatingWindow;->isShow:Z

    if-nez v0, :cond_6

    .line 79
    :goto_5
    return-void

    .line 70
    :cond_6
    :try_start_6
    iget-object v0, p0, Lcom/cleanmaster/hpsharelib/base/widget/ToastFloatingWindow;->hide:Ljava/lang/reflect/Method;

    iget-object v1, p0, Lcom/cleanmaster/hpsharelib/base/widget/ToastFloatingWindow;->mTN:Ljava/lang/Object;

    const/4 v2, 0x0

    new-array v2, v2, [Ljava/lang/Object;

    invoke-virtual {v0, v1, v2}, Ljava/lang/reflect/Method;->invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
    :try_end_10
    .catch Ljava/lang/reflect/InvocationTargetException; {:try_start_6 .. :try_end_10} :catch_13
    .catch Ljava/lang/IllegalAccessException; {:try_start_6 .. :try_end_10} :catch_18
    .catch Ljava/lang/Exception; {:try_start_6 .. :try_end_10} :catch_1d

    .line 78
    :goto_10
    iput-boolean v3, p0, Lcom/cleanmaster/hpsharelib/base/widget/ToastFloatingWindow;->isShow:Z

    goto :goto_5

    .line 71
    :catch_13
    move-exception v0

    .line 72
    invoke-virtual {v0}, Ljava/lang/reflect/InvocationTargetException;->printStackTrace()V

    goto :goto_10

    .line 73
    :catch_18
    move-exception v0

    .line 74
    invoke-virtual {v0}, Ljava/lang/IllegalAccessException;->printStackTrace()V

    goto :goto_10

    .line 75
    :catch_1d
    move-exception v0

    .line 76
    invoke-virtual {v0}, Ljava/lang/Exception;->printStackTrace()V

    goto :goto_10
.end method

.method public setDuration(I)V
    .registers 2

    .prologue
    .line 93
    iput p1, p0, Lcom/cleanmaster/hpsharelib/base/widget/ToastFloatingWindow;->mDuration:I

    .line 94
    return-void
.end method

.method public setGravity(III)V
    .registers 5

    .prologue
    .line 136
    iget-object v0, p0, Lcom/cleanmaster/hpsharelib/base/widget/ToastFloatingWindow;->toast:Landroid/widget/Toast;

    invoke-virtual {v0, p1, p2, p3}, Landroid/widget/Toast;->setGravity(III)V

    .line 137
    return-void
.end method

.method public setView(Landroid/view/View;)V
    .registers 3

    .prologue
    .line 82
    if-eqz p1, :cond_9

    .line 83
    iput-object p1, p0, Lcom/cleanmaster/hpsharelib/base/widget/ToastFloatingWindow;->mView:Landroid/view/View;

    .line 84
    iget-object v0, p0, Lcom/cleanmaster/hpsharelib/base/widget/ToastFloatingWindow;->toast:Landroid/widget/Toast;

    invoke-virtual {v0, p1}, Landroid/widget/Toast;->setView(Landroid/view/View;)V

    .line 86
    :cond_9
    return-void
.end method

.method public setWindowLayoutParamsFlag(I)V
    .registers 2

    .prologue
    .line 101
    iput p1, p0, Lcom/cleanmaster/hpsharelib/base/widget/ToastFloatingWindow;->mParamsFlags:I

    .line 102
    return-void
.end method

.method public setWindowSize(II)V
    .registers 3

    .prologue
    .line 140
    iput p1, p0, Lcom/cleanmaster/hpsharelib/base/widget/ToastFloatingWindow;->mWindowHeight:I

    .line 141
    iput p2, p0, Lcom/cleanmaster/hpsharelib/base/widget/ToastFloatingWindow;->mWindowWidth:I

    .line 142
    return-void
.end method

.method public show()V
    .registers 4

    .prologue
    .line 52
    iget-boolean v0, p0, Lcom/cleanmaster/hpsharelib/base/widget/ToastFloatingWindow;->isShow:Z

    if-eqz v0, :cond_5

    .line 65
    :goto_4
    return-void

    .line 53
    :cond_5
    iget-object v0, p0, Lcom/cleanmaster/hpsharelib/base/widget/ToastFloatingWindow;->toast:Landroid/widget/Toast;

    iget-object v1, p0, Lcom/cleanmaster/hpsharelib/base/widget/ToastFloatingWindow;->mView:Landroid/view/View;

    invoke-virtual {v0, v1}, Landroid/widget/Toast;->setView(Landroid/view/View;)V

    .line 54
    invoke-direct {p0}, Lcom/cleanmaster/hpsharelib/base/widget/ToastFloatingWindow;->initTN()V

    .line 56
    :try_start_f
    iget-object v0, p0, Lcom/cleanmaster/hpsharelib/base/widget/ToastFloatingWindow;->show:Ljava/lang/reflect/Method;

    iget-object v1, p0, Lcom/cleanmaster/hpsharelib/base/widget/ToastFloatingWindow;->mTN:Ljava/lang/Object;

    const/4 v2, 0x0

    new-array v2, v2, [Ljava/lang/Object;

    invoke-virtual {v0, v1, v2}, Ljava/lang/reflect/Method;->invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
    :try_end_19
    .catch Ljava/lang/reflect/InvocationTargetException; {:try_start_f .. :try_end_19} :catch_1d
    .catch Ljava/lang/IllegalAccessException; {:try_start_f .. :try_end_19} :catch_22
    .catch Ljava/lang/Exception; {:try_start_f .. :try_end_19} :catch_27

    .line 64
    :goto_19
    const/4 v0, 0x1

    iput-boolean v0, p0, Lcom/cleanmaster/hpsharelib/base/widget/ToastFloatingWindow;->isShow:Z

    goto :goto_4

    .line 57
    :catch_1d
    move-exception v0

    .line 58
    invoke-virtual {v0}, Ljava/lang/reflect/InvocationTargetException;->printStackTrace()V

    goto :goto_19

    .line 59
    :catch_22
    move-exception v0

    .line 60
    invoke-virtual {v0}, Ljava/lang/IllegalAccessException;->printStackTrace()V

    goto :goto_19

    .line 61
    :catch_27
    move-exception v0

    .line 62
    invoke-virtual {v0}, Ljava/lang/Exception;->printStackTrace()V

    goto :goto_19
.end method