WindowManagerHelper.smali

.class public Lcom/cleanmaster/util/WindowManagerHelper;
.super Ljava/lang/Object;
.source "WindowManagerHelper.java"


# annotations
.annotation system Ldalvik/annotation/MemberClasses;
    value = {
        Lcom/cleanmaster/util/WindowManagerHelper$OnOperateListener;,
        Lcom/cleanmaster/util/WindowManagerHelper$WindowManagerLogger;,
        Lcom/cleanmaster/util/WindowManagerHelper$WindowManagerOperation;
    }
.end annotation


# instance fields
.field mLogger:Lcom/cleanmaster/util/WindowManagerHelper$WindowManagerLogger;

.field mName:Ljava/lang/String;

.field mOnOperateListener:Lcom/cleanmaster/util/WindowManagerHelper$OnOperateListener;


# direct methods
.method public constructor <init>(Ljava/lang/String;)V
    .registers 3

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

    .line 81
    new-instance v0, Lcom/cleanmaster/util/WindowManagerHelper$WindowManagerLogger;

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

    iput-object v0, p0, Lcom/cleanmaster/util/WindowManagerHelper;->mLogger:Lcom/cleanmaster/util/WindowManagerHelper$WindowManagerLogger;

    .line 20
    iput-object p1, p0, Lcom/cleanmaster/util/WindowManagerHelper;->mName:Ljava/lang/String;

    .line 21
    return-void
.end method


# virtual methods
.method public addView(Landroid/view/WindowManager;Landroid/view/View;Landroid/view/ViewGroup$LayoutParams;Ljava/lang/String;)Z
    .registers 10

    .prologue
    const/4 v1, 0x0

    .line 103
    if-eqz p1, :cond_7

    if-eqz p2, :cond_7

    if-nez p3, :cond_9

    :cond_7
    move v0, v1

    .line 122
    :cond_8
    :goto_8
    return v0

    .line 106
    :cond_9
    const/4 v2, 0x0

    .line 109
    :try_start_a
    invoke-interface {p1, p2, p3}, Landroid/view/WindowManager;->addView(Landroid/view/View;Landroid/view/ViewGroup$LayoutParams;)V
    :try_end_d
    .catch Ljava/lang/Exception; {:try_start_a .. :try_end_d} :catch_27

    .line 110
    const/4 v0, 0x1

    .line 115
    :goto_e
    iget-object v3, p0, Lcom/cleanmaster/util/WindowManagerHelper;->mLogger:Lcom/cleanmaster/util/WindowManagerHelper$WindowManagerLogger;

    new-instance v4, Lcom/cleanmaster/util/WindowManagerHelper$WindowManagerOperation;

    invoke-direct {v4, p0, v1, v0, p4}, Lcom/cleanmaster/util/WindowManagerHelper$WindowManagerOperation;-><init>(Lcom/cleanmaster/util/WindowManagerHelper;IZLjava/lang/String;)V

    invoke-virtual {v3, v4}, Lcom/cleanmaster/util/WindowManagerHelper$WindowManagerLogger;->add(Lcom/cleanmaster/util/WindowManagerHelper$WindowManagerOperation;)V

    .line 117
    if-nez v0, :cond_8

    iget-object v1, p0, Lcom/cleanmaster/util/WindowManagerHelper;->mOnOperateListener:Lcom/cleanmaster/util/WindowManagerHelper$OnOperateListener;

    if-eqz v1, :cond_8

    .line 118
    invoke-virtual {p0, v2}, Lcom/cleanmaster/util/WindowManagerHelper;->reportLogger(Ljava/lang/Throwable;)V

    .line 119
    iget-object v1, p0, Lcom/cleanmaster/util/WindowManagerHelper;->mOnOperateListener:Lcom/cleanmaster/util/WindowManagerHelper$OnOperateListener;

    invoke-interface {v1}, Lcom/cleanmaster/util/WindowManagerHelper$OnOperateListener;->onOperateFailed()V

    goto :goto_8

    .line 111
    :catch_27
    move-exception v0

    move-object v2, v0

    move v0, v1

    .line 112
    goto :goto_e
.end method

.method public removeView(Landroid/view/WindowManager;Landroid/view/View;Ljava/lang/String;)Z
    .registers 9

    .prologue
    const/4 v1, 0x1

    const/4 v0, 0x0

    .line 126
    if-eqz p1, :cond_6

    if-nez p2, :cond_7

    .line 145
    :cond_6
    :goto_6
    return v0

    .line 129
    :cond_7
    const/4 v2, 0x0

    .line 132
    :try_start_8
    invoke-interface {p1, p2}, Landroid/view/WindowManager;->removeViewImmediate(Landroid/view/View;)V
    :try_end_b
    .catch Ljava/lang/Exception; {:try_start_8 .. :try_end_b} :catch_25

    move v0, v1

    .line 138
    :goto_c
    iget-object v3, p0, Lcom/cleanmaster/util/WindowManagerHelper;->mLogger:Lcom/cleanmaster/util/WindowManagerHelper$WindowManagerLogger;

    new-instance v4, Lcom/cleanmaster/util/WindowManagerHelper$WindowManagerOperation;

    invoke-direct {v4, p0, v1, v0, p3}, Lcom/cleanmaster/util/WindowManagerHelper$WindowManagerOperation;-><init>(Lcom/cleanmaster/util/WindowManagerHelper;IZLjava/lang/String;)V

    invoke-virtual {v3, v4}, Lcom/cleanmaster/util/WindowManagerHelper$WindowManagerLogger;->add(Lcom/cleanmaster/util/WindowManagerHelper$WindowManagerOperation;)V

    .line 140
    if-nez v0, :cond_6

    iget-object v1, p0, Lcom/cleanmaster/util/WindowManagerHelper;->mOnOperateListener:Lcom/cleanmaster/util/WindowManagerHelper$OnOperateListener;

    if-eqz v1, :cond_6

    .line 141
    invoke-virtual {p0, v2}, Lcom/cleanmaster/util/WindowManagerHelper;->reportLogger(Ljava/lang/Throwable;)V

    .line 142
    iget-object v1, p0, Lcom/cleanmaster/util/WindowManagerHelper;->mOnOperateListener:Lcom/cleanmaster/util/WindowManagerHelper$OnOperateListener;

    invoke-interface {v1}, Lcom/cleanmaster/util/WindowManagerHelper$OnOperateListener;->onOperateFailed()V

    goto :goto_6

    .line 134
    :catch_25
    move-exception v2

    goto :goto_c
.end method

.method public reportLogger(Ljava/lang/Throwable;)V
    .registers 5

    .prologue
    .line 84
    if-nez p1, :cond_3

    .line 89
    :goto_2
    return-void

    .line 87
    :cond_3
    iget-object v0, p0, Lcom/cleanmaster/util/WindowManagerHelper;->mLogger:Lcom/cleanmaster/util/WindowManagerHelper$WindowManagerLogger;

    invoke-virtual {v0}, Lcom/cleanmaster/util/WindowManagerHelper$WindowManagerLogger;->getLog()Ljava/lang/String;

    move-result-object v0

    .line 88
    invoke-static {}, Lcom/cleanmaster/base/crash/h;->e()Lcom/cleanmaster/base/crash/h;

    move-result-object v1

    invoke-static {p1, v0}, Lcom/cleanmaster/hpsharelib/base/util/debug/DebugUtil;->getNewException(Ljava/lang/Throwable;Ljava/lang/String;)Ljava/lang/NullPointerException;

    move-result-object v0

    const/4 v2, 0x0

    invoke-virtual {v1, v0, v2}, Lcom/cleanmaster/base/crash/h;->a(Ljava/lang/Throwable;Z)V

    goto :goto_2
.end method

.method public setOnOperateListener(Lcom/cleanmaster/util/WindowManagerHelper$OnOperateListener;)V
    .registers 2

    .prologue
    .line 98
    iput-object p1, p0, Lcom/cleanmaster/util/WindowManagerHelper;->mOnOperateListener:Lcom/cleanmaster/util/WindowManagerHelper$OnOperateListener;

    .line 99
    return-void
.end method

.method public updateViewLayout(Landroid/view/WindowManager;Landroid/view/View;Landroid/view/ViewGroup$LayoutParams;Ljava/lang/String;)Z
    .registers 10

    .prologue
    const/4 v0, 0x0

    .line 150
    if-eqz p1, :cond_7

    if-eqz p2, :cond_7

    if-nez p3, :cond_8

    .line 170
    :cond_7
    :goto_7
    return v0

    .line 153
    :cond_8
    const/4 v1, 0x0

    .line 156
    :try_start_9
    invoke-interface {p1, p2, p3}, Landroid/view/WindowManager;->updateViewLayout(Landroid/view/View;Landroid/view/ViewGroup$LayoutParams;)V
    :try_end_c
    .catch Ljava/lang/Exception; {:try_start_9 .. :try_end_c} :catch_27

    .line 157
    const/4 v0, 0x1

    .line 162
    :goto_d
    iget-object v2, p0, Lcom/cleanmaster/util/WindowManagerHelper;->mLogger:Lcom/cleanmaster/util/WindowManagerHelper$WindowManagerLogger;

    new-instance v3, Lcom/cleanmaster/util/WindowManagerHelper$WindowManagerOperation;

    const/4 v4, 0x2

    invoke-direct {v3, p0, v4, v0, p4}, Lcom/cleanmaster/util/WindowManagerHelper$WindowManagerOperation;-><init>(Lcom/cleanmaster/util/WindowManagerHelper;IZLjava/lang/String;)V

    invoke-virtual {v2, v3}, Lcom/cleanmaster/util/WindowManagerHelper$WindowManagerLogger;->add(Lcom/cleanmaster/util/WindowManagerHelper$WindowManagerOperation;)V

    .line 165
    if-nez v0, :cond_7

    iget-object v2, p0, Lcom/cleanmaster/util/WindowManagerHelper;->mOnOperateListener:Lcom/cleanmaster/util/WindowManagerHelper$OnOperateListener;

    if-eqz v2, :cond_7

    .line 166
    invoke-virtual {p0, v1}, Lcom/cleanmaster/util/WindowManagerHelper;->reportLogger(Ljava/lang/Throwable;)V

    .line 167
    iget-object v1, p0, Lcom/cleanmaster/util/WindowManagerHelper;->mOnOperateListener:Lcom/cleanmaster/util/WindowManagerHelper$OnOperateListener;

    invoke-interface {v1}, Lcom/cleanmaster/util/WindowManagerHelper$OnOperateListener;->onOperateFailed()V

    goto :goto_7

    .line 158
    :catch_27
    move-exception v1

    goto :goto_d
.end method