FloatGuide.smali

.class public Lcom/cleanmaster/hpsharelib/ui/app/FloatGuide;
.super Ljava/lang/Object;
.source "FloatGuide.java"


# static fields
.field private static sInstance:Lcom/cleanmaster/hpsharelib/ui/app/FloatGuide;


# instance fields
.field private mContext:Landroid/content/Context;

.field private mDismissRunnable:Ljava/lang/Runnable;

.field mHandler:Landroid/os/Handler;

.field private mInflater:Landroid/view/LayoutInflater;

.field private mWm:Landroid/view/WindowManager;

.field root:Landroid/view/View;


# direct methods
.method static constructor <clinit>()V
    .registers 1

    .prologue
    .line 21
    const/4 v0, 0x0

    sput-object v0, Lcom/cleanmaster/hpsharelib/ui/app/FloatGuide;->sInstance:Lcom/cleanmaster/hpsharelib/ui/app/FloatGuide;

    return-void
.end method

.method private constructor <init>()V
    .registers 3

    .prologue
    const/4 v0, 0x0

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

    .line 20
    iput-object v0, p0, Lcom/cleanmaster/hpsharelib/ui/app/FloatGuide;->mWm:Landroid/view/WindowManager;

    .line 22
    iput-object v0, p0, Lcom/cleanmaster/hpsharelib/ui/app/FloatGuide;->mContext:Landroid/content/Context;

    .line 24
    iput-object v0, p0, Lcom/cleanmaster/hpsharelib/ui/app/FloatGuide;->root:Landroid/view/View;

    .line 25
    iput-object v0, p0, Lcom/cleanmaster/hpsharelib/ui/app/FloatGuide;->mHandler:Landroid/os/Handler;

    .line 66
    new-instance v0, Lcom/cleanmaster/hpsharelib/ui/app/FloatGuide$1;

    invoke-direct {v0, p0}, Lcom/cleanmaster/hpsharelib/ui/app/FloatGuide$1;-><init>(Lcom/cleanmaster/hpsharelib/ui/app/FloatGuide;)V

    iput-object v0, p0, Lcom/cleanmaster/hpsharelib/ui/app/FloatGuide;->mDismissRunnable:Ljava/lang/Runnable;

    .line 41
    invoke-static {}, Lcom/cleanmaster/hpsharelib/base/util/HostHelper;->getAppContext()Landroid/content/Context;

    move-result-object v0

    iput-object v0, p0, Lcom/cleanmaster/hpsharelib/ui/app/FloatGuide;->mContext:Landroid/content/Context;

    .line 42
    iget-object v0, p0, Lcom/cleanmaster/hpsharelib/ui/app/FloatGuide;->mContext:Landroid/content/Context;

    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/ui/app/FloatGuide;->mWm:Landroid/view/WindowManager;

    .line 43
    iget-object v0, p0, Lcom/cleanmaster/hpsharelib/ui/app/FloatGuide;->mContext:Landroid/content/Context;

    invoke-static {v0}, Landroid/view/LayoutInflater;->from(Landroid/content/Context;)Landroid/view/LayoutInflater;

    move-result-object v0

    iput-object v0, p0, Lcom/cleanmaster/hpsharelib/ui/app/FloatGuide;->mInflater:Landroid/view/LayoutInflater;

    .line 44
    return-void
.end method

.method public static getInstance()Lcom/cleanmaster/hpsharelib/ui/app/FloatGuide;
    .registers 2

    .prologue
    .line 29
    sget-object v0, Lcom/cleanmaster/hpsharelib/ui/app/FloatGuide;->sInstance:Lcom/cleanmaster/hpsharelib/ui/app/FloatGuide;

    if-nez v0, :cond_13

    .line 30
    const-class v1, Lcom/cleanmaster/hpsharelib/ui/app/FloatGuide;

    monitor-enter v1

    .line 31
    :try_start_7
    sget-object v0, Lcom/cleanmaster/hpsharelib/ui/app/FloatGuide;->sInstance:Lcom/cleanmaster/hpsharelib/ui/app/FloatGuide;

    if-nez v0, :cond_12

    .line 32
    new-instance v0, Lcom/cleanmaster/hpsharelib/ui/app/FloatGuide;

    invoke-direct {v0}, Lcom/cleanmaster/hpsharelib/ui/app/FloatGuide;-><init>()V

    sput-object v0, Lcom/cleanmaster/hpsharelib/ui/app/FloatGuide;->sInstance:Lcom/cleanmaster/hpsharelib/ui/app/FloatGuide;

    .line 34
    :cond_12
    monitor-exit v1
    :try_end_13
    .catchall {:try_start_7 .. :try_end_13} :catchall_16

    .line 36
    :cond_13
    sget-object v0, Lcom/cleanmaster/hpsharelib/ui/app/FloatGuide;->sInstance:Lcom/cleanmaster/hpsharelib/ui/app/FloatGuide;

    return-object v0

    .line 34
    :catchall_16
    move-exception v0

    :try_start_17
    monitor-exit v1
    :try_end_18
    .catchall {:try_start_17 .. :try_end_18} :catchall_16

    throw v0
.end method

.method private initTipsView(ILjava/lang/CharSequence;)Landroid/view/View;
    .registers 6

    .prologue
    .line 75
    iget-object v0, p0, Lcom/cleanmaster/hpsharelib/ui/app/FloatGuide;->mInflater:Landroid/view/LayoutInflater;

    sget v1, Lcom/cleanmaster/hpsharelib/R$layout;->float_guide_0:I

    const/4 v2, 0x0

    invoke-virtual {v0, v1, v2}, Landroid/view/LayoutInflater;->inflate(ILandroid/view/ViewGroup;)Landroid/view/View;

    move-result-object v0

    iput-object v0, p0, Lcom/cleanmaster/hpsharelib/ui/app/FloatGuide;->root:Landroid/view/View;

    .line 76
    iget-object v0, p0, Lcom/cleanmaster/hpsharelib/ui/app/FloatGuide;->root:Landroid/view/View;

    sget v1, Lcom/cleanmaster/hpsharelib/R$id;->arrow:I

    invoke-virtual {v0, v1}, Landroid/view/View;->findViewById(I)Landroid/view/View;

    move-result-object v1

    .line 77
    iget-object v0, p0, Lcom/cleanmaster/hpsharelib/ui/app/FloatGuide;->root:Landroid/view/View;

    sget v2, Lcom/cleanmaster/hpsharelib/R$id;->content:I

    invoke-virtual {v0, v2}, Landroid/view/View;->findViewById(I)Landroid/view/View;

    move-result-object v0

    check-cast v0, Landroid/widget/TextView;

    .line 78
    invoke-virtual {v0, p2}, Landroid/widget/TextView;->setText(Ljava/lang/CharSequence;)V

    .line 79
    if-gtz p1, :cond_2f

    .line 80
    iget-object v0, p0, Lcom/cleanmaster/hpsharelib/ui/app/FloatGuide;->root:Landroid/view/View;

    sget v2, Lcom/cleanmaster/hpsharelib/R$id;->arrow:I

    invoke-virtual {v0, v2}, Landroid/view/View;->findViewById(I)Landroid/view/View;

    move-result-object v0

    const/16 v2, 0x8

    invoke-virtual {v0, v2}, Landroid/view/View;->setVisibility(I)V

    .line 83
    :cond_2f
    invoke-virtual {v1}, Landroid/view/View;->getLayoutParams()Landroid/view/ViewGroup$LayoutParams;

    move-result-object v0

    check-cast v0, Landroid/widget/RelativeLayout$LayoutParams;

    .line 84
    iput p1, v0, Landroid/widget/RelativeLayout$LayoutParams;->leftMargin:I

    .line 85
    iget-object v0, p0, Lcom/cleanmaster/hpsharelib/ui/app/FloatGuide;->root:Landroid/view/View;

    return-object v0
.end method

.method private layout(Landroid/content/Context;I)Landroid/view/WindowManager$LayoutParams;
    .registers 5

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

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

    .line 101
    const/16 v1, 0x30

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

    .line 102
    const/4 v1, 0x1

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

    .line 103
    const/high16 v1, 0x42700000    # 60.0f

    invoke-static {p1, v1}, Lcom/cleanmaster/hpsharelib/base/util/system/DimenUtils;->dp2px(Landroid/content/Context;F)I

    move-result v1

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

    .line 104
    const/4 v1, -0x1

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

    .line 105
    const/16 v1, 0x7d2

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

    .line 106
    invoke-static {}, Lcom/cleanmaster/hpsharelib/compat/CompatUtils;->isAndroidM()Z

    move-result v1

    if-eqz v1, :cond_25

    .line 107
    const/16 v1, 0x7d5

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

    .line 109
    :cond_25
    const/high16 v1, 0x40000

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

    .line 110
    iput p2, v0, Landroid/view/WindowManager$LayoutParams;->y:I

    .line 111
    invoke-virtual {p1}, Landroid/content/Context;->getApplicationContext()Landroid/content/Context;

    move-result-object v1

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

    move-result-object v1

    iput-object v1, v0, Landroid/view/WindowManager$LayoutParams;->packageName:Ljava/lang/String;

    .line 113
    return-object v0
.end method


# virtual methods
.method public declared-synchronized dismiss()V
    .registers 3

    .prologue
    .line 89
    monitor-enter p0

    :try_start_1
    iget-object v0, p0, Lcom/cleanmaster/hpsharelib/ui/app/FloatGuide;->root:Landroid/view/View;

    if-eqz v0, :cond_1d

    .line 90
    iget-object v0, p0, Lcom/cleanmaster/hpsharelib/ui/app/FloatGuide;->mHandler:Landroid/os/Handler;

    if-eqz v0, :cond_13

    .line 91
    iget-object v0, p0, Lcom/cleanmaster/hpsharelib/ui/app/FloatGuide;->mHandler:Landroid/os/Handler;

    iget-object v1, p0, Lcom/cleanmaster/hpsharelib/ui/app/FloatGuide;->mDismissRunnable:Ljava/lang/Runnable;

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

    .line 92
    const/4 v0, 0x0

    iput-object v0, p0, Lcom/cleanmaster/hpsharelib/ui/app/FloatGuide;->mHandler:Landroid/os/Handler;

    .line 94
    :cond_13
    iget-object v0, p0, Lcom/cleanmaster/hpsharelib/ui/app/FloatGuide;->mWm:Landroid/view/WindowManager;

    iget-object v1, p0, Lcom/cleanmaster/hpsharelib/ui/app/FloatGuide;->root:Landroid/view/View;

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

    .line 95
    const/4 v0, 0x0

    iput-object v0, p0, Lcom/cleanmaster/hpsharelib/ui/app/FloatGuide;->root:Landroid/view/View;
    :try_end_1d
    .catchall {:try_start_1 .. :try_end_1d} :catchall_1f

    .line 97
    :cond_1d
    monitor-exit p0

    return-void

    .line 89
    :catchall_1f
    move-exception v0

    monitor-exit p0

    throw v0
.end method

.method public declared-synchronized show(Landroid/content/Context;IIJLjava/lang/CharSequence;)V
    .registers 11

    .prologue
    .line 49
    monitor-enter p0

    :try_start_1
    invoke-direct {p0, p1, p2}, Lcom/cleanmaster/hpsharelib/ui/app/FloatGuide;->layout(Landroid/content/Context;I)Landroid/view/WindowManager$LayoutParams;

    move-result-object v0

    .line 50
    invoke-direct {p0, p3, p6}, Lcom/cleanmaster/hpsharelib/ui/app/FloatGuide;->initTipsView(ILjava/lang/CharSequence;)Landroid/view/View;

    move-result-object v1

    .line 51
    iget-object v2, p0, Lcom/cleanmaster/hpsharelib/ui/app/FloatGuide;->mWm:Landroid/view/WindowManager;

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

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

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

    iput-object v0, p0, Lcom/cleanmaster/hpsharelib/ui/app/FloatGuide;->mHandler:Landroid/os/Handler;

    .line 53
    iget-object v0, p0, Lcom/cleanmaster/hpsharelib/ui/app/FloatGuide;->mHandler:Landroid/os/Handler;

    iget-object v1, p0, Lcom/cleanmaster/hpsharelib/ui/app/FloatGuide;->mDismissRunnable:Ljava/lang/Runnable;

    invoke-virtual {v0, v1, p4, p5}, Landroid/os/Handler;->postDelayed(Ljava/lang/Runnable;J)Z
    :try_end_1c
    .catchall {:try_start_1 .. :try_end_1c} :catchall_1e

    .line 64
    monitor-exit p0

    return-void

    .line 49
    :catchall_1e
    move-exception v0

    monitor-exit p0

    throw v0
.end method

.method public show_TIPS_DISABLE()V
    .registers 1

    .prologue
    .line 117
    invoke-static {}, Lcom/cleanmaster/hpsharelib/ui/app/FloatGuideConfiguration;->show_TIPS_DISABLE()V

    .line 118
    return-void
.end method

.method public show_TIPS_DISABLE_UPDATE()V
    .registers 1

    .prologue
    .line 125
    invoke-static {}, Lcom/cleanmaster/hpsharelib/ui/app/FloatGuideConfiguration;->show_TIPS_DISABLE_UPDATE()V

    .line 126
    return-void
.end method

.method public show_TIPS_ENABLE()V
    .registers 1

    .prologue
    .line 121
    invoke-static {}, Lcom/cleanmaster/hpsharelib/ui/app/FloatGuideConfiguration;->show_TIPS_ENABLE()V

    .line 122
    return-void
.end method