NotificationBadge.smali

.class public Lim/tpelyyftgw/messenger/NotificationBadge;
.super Ljava/lang/Object;
.source "NotificationBadge.java"


# annotations
.annotation system Ldalvik/annotation/MemberClasses;
    value = {
        Lim/tpelyyftgw/messenger/NotificationBadge$VivoHomeBadger;,
        Lim/tpelyyftgw/messenger/NotificationBadge$ZukHomeBadger;,
        Lim/tpelyyftgw/messenger/NotificationBadge$XiaomiHomeBadger;,
        Lim/tpelyyftgw/messenger/NotificationBadge$SonyHomeBadger;,
        Lim/tpelyyftgw/messenger/NotificationBadge$SamsungHomeBadger;,
        Lim/tpelyyftgw/messenger/NotificationBadge$OPPOHomeBader;,
        Lim/tpelyyftgw/messenger/NotificationBadge$NovaHomeBadger;,
        Lim/tpelyyftgw/messenger/NotificationBadge$NewHtcHomeBadger;,
        Lim/tpelyyftgw/messenger/NotificationBadge$HuaweiHomeBadger;,
        Lim/tpelyyftgw/messenger/NotificationBadge$DefaultBadger;,
        Lim/tpelyyftgw/messenger/NotificationBadge$AsusHomeBadger;,
        Lim/tpelyyftgw/messenger/NotificationBadge$ApexHomeBadger;,
        Lim/tpelyyftgw/messenger/NotificationBadge$AdwHomeBadger;,
        Lim/tpelyyftgw/messenger/NotificationBadge$Badger;
    }
.end annotation


# static fields
.field private static final BADGERS:Ljava/util/List;
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "Ljava/util/List<",
            "Ljava/lang/Class<",
            "+",
            "Lim/tpelyyftgw/messenger/NotificationBadge$Badger;",
            ">;>;"
        }
    .end annotation
.end field

.field private static badger:Lim/tpelyyftgw/messenger/NotificationBadge$Badger;

.field private static componentName:Landroid/content/ComponentName;

.field private static initied:Z


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

    .line 32
    new-instance v0, Ljava/util/LinkedList;

    invoke-direct {v0}, Ljava/util/LinkedList;-><init>()V

    sput-object v0, Lim/tpelyyftgw/messenger/NotificationBadge;->BADGERS:Ljava/util/List;

    .line 527
    const-class v1, Lim/tpelyyftgw/messenger/NotificationBadge$AdwHomeBadger;

    invoke-interface {v0, v1}, Ljava/util/List;->add(Ljava/lang/Object;)Z

    .line 528
    sget-object v0, Lim/tpelyyftgw/messenger/NotificationBadge;->BADGERS:Ljava/util/List;

    const-class v1, Lim/tpelyyftgw/messenger/NotificationBadge$ApexHomeBadger;

    invoke-interface {v0, v1}, Ljava/util/List;->add(Ljava/lang/Object;)Z

    .line 529
    sget-object v0, Lim/tpelyyftgw/messenger/NotificationBadge;->BADGERS:Ljava/util/List;

    const-class v1, Lim/tpelyyftgw/messenger/NotificationBadge$NewHtcHomeBadger;

    invoke-interface {v0, v1}, Ljava/util/List;->add(Ljava/lang/Object;)Z

    .line 530
    sget-object v0, Lim/tpelyyftgw/messenger/NotificationBadge;->BADGERS:Ljava/util/List;

    const-class v1, Lim/tpelyyftgw/messenger/NotificationBadge$NovaHomeBadger;

    invoke-interface {v0, v1}, Ljava/util/List;->add(Ljava/lang/Object;)Z

    .line 531
    sget-object v0, Lim/tpelyyftgw/messenger/NotificationBadge;->BADGERS:Ljava/util/List;

    const-class v1, Lim/tpelyyftgw/messenger/NotificationBadge$SonyHomeBadger;

    invoke-interface {v0, v1}, Ljava/util/List;->add(Ljava/lang/Object;)Z

    .line 532
    sget-object v0, Lim/tpelyyftgw/messenger/NotificationBadge;->BADGERS:Ljava/util/List;

    const-class v1, Lim/tpelyyftgw/messenger/NotificationBadge$XiaomiHomeBadger;

    invoke-interface {v0, v1}, Ljava/util/List;->add(Ljava/lang/Object;)Z

    .line 533
    sget-object v0, Lim/tpelyyftgw/messenger/NotificationBadge;->BADGERS:Ljava/util/List;

    const-class v1, Lim/tpelyyftgw/messenger/NotificationBadge$AsusHomeBadger;

    invoke-interface {v0, v1}, Ljava/util/List;->add(Ljava/lang/Object;)Z

    .line 534
    sget-object v0, Lim/tpelyyftgw/messenger/NotificationBadge;->BADGERS:Ljava/util/List;

    const-class v1, Lim/tpelyyftgw/messenger/NotificationBadge$HuaweiHomeBadger;

    invoke-interface {v0, v1}, Ljava/util/List;->add(Ljava/lang/Object;)Z

    .line 535
    sget-object v0, Lim/tpelyyftgw/messenger/NotificationBadge;->BADGERS:Ljava/util/List;

    const-class v1, Lim/tpelyyftgw/messenger/NotificationBadge$OPPOHomeBader;

    invoke-interface {v0, v1}, Ljava/util/List;->add(Ljava/lang/Object;)Z

    .line 536
    sget-object v0, Lim/tpelyyftgw/messenger/NotificationBadge;->BADGERS:Ljava/util/List;

    const-class v1, Lim/tpelyyftgw/messenger/NotificationBadge$SamsungHomeBadger;

    invoke-interface {v0, v1}, Ljava/util/List;->add(Ljava/lang/Object;)Z

    .line 537
    sget-object v0, Lim/tpelyyftgw/messenger/NotificationBadge;->BADGERS:Ljava/util/List;

    const-class v1, Lim/tpelyyftgw/messenger/NotificationBadge$ZukHomeBadger;

    invoke-interface {v0, v1}, Ljava/util/List;->add(Ljava/lang/Object;)Z

    .line 538
    sget-object v0, Lim/tpelyyftgw/messenger/NotificationBadge;->BADGERS:Ljava/util/List;

    const-class v1, Lim/tpelyyftgw/messenger/NotificationBadge$VivoHomeBadger;

    invoke-interface {v0, v1}, Ljava/util/List;->add(Ljava/lang/Object;)Z

    .line 539
    return-void
.end method

.method public constructor <init>()V
    .registers 1

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

    return-void
.end method

.method static synthetic access$000()Landroid/content/ComponentName;
    .registers 1

    .line 30
    sget-object v0, Lim/tpelyyftgw/messenger/NotificationBadge;->componentName:Landroid/content/ComponentName;

    return-object v0
.end method

.method static synthetic access$100(Landroid/content/Intent;)Z
    .registers 2
    .param p0, "x0"    # Landroid/content/Intent;

    .line 30
    invoke-static {p0}, Lim/tpelyyftgw/messenger/NotificationBadge;->canResolveBroadcast(Landroid/content/Intent;)Z

    move-result v0

    return v0
.end method

.method public static applyCount(I)Z
    .registers 4
    .param p0, "badgeCount"    # I

    .line 543
    const/4 v0, 0x0

    :try_start_1
    sget-object v1, Lim/tpelyyftgw/messenger/NotificationBadge;->badger:Lim/tpelyyftgw/messenger/NotificationBadge$Badger;

    const/4 v2, 0x1

    if-nez v1, :cond_f

    sget-boolean v1, Lim/tpelyyftgw/messenger/NotificationBadge;->initied:Z

    if-nez v1, :cond_f

    .line 544
    invoke-static {}, Lim/tpelyyftgw/messenger/NotificationBadge;->initBadger()Z

    .line 545
    sput-boolean v2, Lim/tpelyyftgw/messenger/NotificationBadge;->initied:Z

    .line 547
    :cond_f
    sget-object v1, Lim/tpelyyftgw/messenger/NotificationBadge;->badger:Lim/tpelyyftgw/messenger/NotificationBadge$Badger;

    if-nez v1, :cond_14

    .line 548
    return v0

    .line 550
    :cond_14
    sget-object v1, Lim/tpelyyftgw/messenger/NotificationBadge;->badger:Lim/tpelyyftgw/messenger/NotificationBadge$Badger;

    invoke-interface {v1, p0}, Lim/tpelyyftgw/messenger/NotificationBadge$Badger;->executeBadge(I)V
    :try_end_19
    .catchall {:try_start_1 .. :try_end_19} :catchall_1a

    .line 551
    return v2

    .line 552
    :catchall_1a
    move-exception v1

    .line 553
    .local v1, "e":Ljava/lang/Throwable;
    return v0
.end method

.method private static canResolveBroadcast(Landroid/content/Intent;)Z
    .registers 5
    .param p0, "intent"    # Landroid/content/Intent;

    .line 628
    sget-object v0, Lim/tpelyyftgw/messenger/ApplicationLoader;->applicationContext:Landroid/content/Context;

    invoke-virtual {v0}, Landroid/content/Context;->getPackageManager()Landroid/content/pm/PackageManager;

    move-result-object v0

    .line 629
    .local v0, "packageManager":Landroid/content/pm/PackageManager;
    const/4 v1, 0x0

    invoke-virtual {v0, p0, v1}, Landroid/content/pm/PackageManager;->queryBroadcastReceivers(Landroid/content/Intent;I)Ljava/util/List;

    move-result-object v2

    .line 630
    .local v2, "receivers":Ljava/util/List;, "Ljava/util/List<Landroid/content/pm/ResolveInfo;>;"
    if-eqz v2, :cond_14

    invoke-interface {v2}, Ljava/util/List;->size()I

    move-result v3

    if-lez v3, :cond_14

    const/4 v1, 0x1

    :cond_14
    return v1
.end method

.method public static close(Landroid/database/Cursor;)V
    .registers 2
    .param p0, "cursor"    # Landroid/database/Cursor;

    .line 634
    if-eqz p0, :cond_b

    invoke-interface {p0}, Landroid/database/Cursor;->isClosed()Z

    move-result v0

    if-nez v0, :cond_b

    .line 635
    invoke-interface {p0}, Landroid/database/Cursor;->close()V

    .line 637
    :cond_b
    return-void
.end method

.method public static closeQuietly(Ljava/io/Closeable;)V
    .registers 2
    .param p0, "closeable"    # Ljava/io/Closeable;

    .line 641
    if-eqz p0, :cond_8

    .line 642
    :try_start_2
    invoke-interface {p0}, Ljava/io/Closeable;->close()V
    :try_end_5
    .catchall {:try_start_2 .. :try_end_5} :catchall_6

    goto :goto_8

    .line 644
    :catchall_6
    move-exception v0

    goto :goto_9

    .line 646
    :cond_8
    :goto_8
    nop

    .line 647
    :goto_9
    return-void
.end method

.method private static initBadger()Z
    .registers 12

    .line 558
    sget-object v0, Lim/tpelyyftgw/messenger/ApplicationLoader;->applicationContext:Landroid/content/Context;

    .line 559
    .local v0, "context":Landroid/content/Context;
    invoke-virtual {v0}, Landroid/content/Context;->getPackageManager()Landroid/content/pm/PackageManager;

    move-result-object v1

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

    move-result-object v2

    invoke-virtual {v1, v2}, Landroid/content/pm/PackageManager;->getLaunchIntentForPackage(Ljava/lang/String;)Landroid/content/Intent;

    move-result-object v1

    .line 560
    .local v1, "launchIntent":Landroid/content/Intent;
    if-nez v1, :cond_12

    .line 561
    const/4 v2, 0x0

    return v2

    .line 564
    :cond_12
    invoke-virtual {v1}, Landroid/content/Intent;->getComponent()Landroid/content/ComponentName;

    move-result-object v2

    sput-object v2, Lim/tpelyyftgw/messenger/NotificationBadge;->componentName:Landroid/content/ComponentName;

    .line 566
    new-instance v2, Landroid/content/Intent;

    const-string v3, "android.intent.action.MAIN"

    invoke-direct {v2, v3}, Landroid/content/Intent;-><init>(Ljava/lang/String;)V

    .line 567
    .local v2, "intent":Landroid/content/Intent;
    const-string v3, "android.intent.category.HOME"

    invoke-virtual {v2, v3}, Landroid/content/Intent;->addCategory(Ljava/lang/String;)Landroid/content/Intent;

    .line 568
    invoke-virtual {v0}, Landroid/content/Context;->getPackageManager()Landroid/content/pm/PackageManager;

    move-result-object v3

    const/high16 v4, 0x10000

    invoke-virtual {v3, v2, v4}, Landroid/content/pm/PackageManager;->resolveActivity(Landroid/content/Intent;I)Landroid/content/pm/ResolveInfo;

    move-result-object v3

    .line 569
    .local v3, "resolveInfo":Landroid/content/pm/ResolveInfo;
    const/4 v5, 0x1

    if-eqz v3, :cond_66

    .line 570
    iget-object v6, v3, Landroid/content/pm/ResolveInfo;->activityInfo:Landroid/content/pm/ActivityInfo;

    iget-object v6, v6, Landroid/content/pm/ActivityInfo;->packageName:Ljava/lang/String;

    .line 571
    .local v6, "currentHomePackage":Ljava/lang/String;
    sget-object v7, Lim/tpelyyftgw/messenger/NotificationBadge;->BADGERS:Ljava/util/List;

    invoke-interface {v7}, Ljava/util/List;->iterator()Ljava/util/Iterator;

    move-result-object v7

    :goto_3b
    invoke-interface {v7}, Ljava/util/Iterator;->hasNext()Z

    move-result v8

    if-eqz v8, :cond_61

    invoke-interface {v7}, Ljava/util/Iterator;->next()Ljava/lang/Object;

    move-result-object v8

    check-cast v8, Ljava/lang/Class;

    .line 572
    .local v8, "b":Ljava/lang/Class;, "Ljava/lang/Class<+Lim/tpelyyftgw/messenger/NotificationBadge$Badger;>;"
    const/4 v9, 0x0

    .line 574
    .local v9, "shortcutBadger":Lim/tpelyyftgw/messenger/NotificationBadge$Badger;
    :try_start_48
    invoke-virtual {v8}, Ljava/lang/Class;->newInstance()Ljava/lang/Object;

    move-result-object v10

    check-cast v10, Lim/tpelyyftgw/messenger/NotificationBadge$Badger;
    :try_end_4e
    .catch Ljava/lang/Exception; {:try_start_48 .. :try_end_4e} :catch_50

    move-object v9, v10

    .line 576
    goto :goto_51

    .line 575
    :catch_50
    move-exception v10

    .line 577
    :goto_51
    if-eqz v9, :cond_60

    invoke-interface {v9}, Lim/tpelyyftgw/messenger/NotificationBadge$Badger;->getSupportLaunchers()Ljava/util/List;

    move-result-object v10

    invoke-interface {v10, v6}, Ljava/util/List;->contains(Ljava/lang/Object;)Z

    move-result v10

    if-eqz v10, :cond_60

    .line 578
    sput-object v9, Lim/tpelyyftgw/messenger/NotificationBadge;->badger:Lim/tpelyyftgw/messenger/NotificationBadge$Badger;

    .line 579
    goto :goto_61

    .line 581
    .end local v8    # "b":Ljava/lang/Class;, "Ljava/lang/Class<+Lim/tpelyyftgw/messenger/NotificationBadge$Badger;>;"
    .end local v9    # "shortcutBadger":Lim/tpelyyftgw/messenger/NotificationBadge$Badger;
    :cond_60
    goto :goto_3b

    .line 582
    :cond_61
    :goto_61
    sget-object v7, Lim/tpelyyftgw/messenger/NotificationBadge;->badger:Lim/tpelyyftgw/messenger/NotificationBadge$Badger;

    if-eqz v7, :cond_66

    .line 583
    return v5

    .line 587
    .end local v6    # "currentHomePackage":Ljava/lang/String;
    :cond_66
    invoke-virtual {v0}, Landroid/content/Context;->getPackageManager()Landroid/content/pm/PackageManager;

    move-result-object v6

    invoke-virtual {v6, v2, v4}, Landroid/content/pm/PackageManager;->queryIntentActivities(Landroid/content/Intent;I)Ljava/util/List;

    move-result-object v4

    .line 588
    .local v4, "resolveInfos":Ljava/util/List;, "Ljava/util/List<Landroid/content/pm/ResolveInfo;>;"
    if-eqz v4, :cond_b6

    .line 589
    const/4 v6, 0x0

    .local v6, "a":I
    :goto_71
    invoke-interface {v4}, Ljava/util/List;->size()I

    move-result v7

    if-ge v6, v7, :cond_b6

    .line 590
    invoke-interface {v4, v6}, Ljava/util/List;->get(I)Ljava/lang/Object;

    move-result-object v7

    move-object v3, v7

    check-cast v3, Landroid/content/pm/ResolveInfo;

    .line 591
    iget-object v7, v3, Landroid/content/pm/ResolveInfo;->activityInfo:Landroid/content/pm/ActivityInfo;

    iget-object v7, v7, Landroid/content/pm/ActivityInfo;->packageName:Ljava/lang/String;

    .line 593
    .local v7, "currentHomePackage":Ljava/lang/String;
    sget-object v8, Lim/tpelyyftgw/messenger/NotificationBadge;->BADGERS:Ljava/util/List;

    invoke-interface {v8}, Ljava/util/List;->iterator()Ljava/util/Iterator;

    move-result-object v8

    :goto_88
    invoke-interface {v8}, Ljava/util/Iterator;->hasNext()Z

    move-result v9

    if-eqz v9, :cond_ae

    invoke-interface {v8}, Ljava/util/Iterator;->next()Ljava/lang/Object;

    move-result-object v9

    check-cast v9, Ljava/lang/Class;

    .line 594
    .local v9, "b":Ljava/lang/Class;, "Ljava/lang/Class<+Lim/tpelyyftgw/messenger/NotificationBadge$Badger;>;"
    const/4 v10, 0x0

    .line 596
    .local v10, "shortcutBadger":Lim/tpelyyftgw/messenger/NotificationBadge$Badger;
    :try_start_95
    invoke-virtual {v9}, Ljava/lang/Class;->newInstance()Ljava/lang/Object;

    move-result-object v11

    check-cast v11, Lim/tpelyyftgw/messenger/NotificationBadge$Badger;
    :try_end_9b
    .catch Ljava/lang/Exception; {:try_start_95 .. :try_end_9b} :catch_9d

    move-object v10, v11

    .line 598
    goto :goto_9e

    .line 597
    :catch_9d
    move-exception v11

    .line 599
    :goto_9e
    if-eqz v10, :cond_ad

    invoke-interface {v10}, Lim/tpelyyftgw/messenger/NotificationBadge$Badger;->getSupportLaunchers()Ljava/util/List;

    move-result-object v11

    invoke-interface {v11, v7}, Ljava/util/List;->contains(Ljava/lang/Object;)Z

    move-result v11

    if-eqz v11, :cond_ad

    .line 600
    sput-object v10, Lim/tpelyyftgw/messenger/NotificationBadge;->badger:Lim/tpelyyftgw/messenger/NotificationBadge$Badger;

    .line 601
    goto :goto_ae

    .line 603
    .end local v9    # "b":Ljava/lang/Class;, "Ljava/lang/Class<+Lim/tpelyyftgw/messenger/NotificationBadge$Badger;>;"
    .end local v10    # "shortcutBadger":Lim/tpelyyftgw/messenger/NotificationBadge$Badger;
    :cond_ad
    goto :goto_88

    .line 604
    :cond_ae
    :goto_ae
    sget-object v8, Lim/tpelyyftgw/messenger/NotificationBadge;->badger:Lim/tpelyyftgw/messenger/NotificationBadge$Badger;

    if-eqz v8, :cond_b3

    .line 605
    goto :goto_b6

    .line 589
    .end local v7    # "currentHomePackage":Ljava/lang/String;
    :cond_b3
    add-int/lit8 v6, v6, 0x1

    goto :goto_71

    .line 610
    .end local v6    # "a":I
    :cond_b6
    :goto_b6
    sget-object v6, Lim/tpelyyftgw/messenger/NotificationBadge;->badger:Lim/tpelyyftgw/messenger/NotificationBadge$Badger;

    if-nez v6, :cond_109

    .line 611
    sget-object v6, Landroid/os/Build;->MANUFACTURER:Ljava/lang/String;

    const-string v7, "Xiaomi"

    invoke-virtual {v6, v7}, Ljava/lang/String;->equalsIgnoreCase(Ljava/lang/String;)Z

    move-result v6

    if-eqz v6, :cond_cc

    .line 612
    new-instance v6, Lim/tpelyyftgw/messenger/NotificationBadge$XiaomiHomeBadger;

    invoke-direct {v6}, Lim/tpelyyftgw/messenger/NotificationBadge$XiaomiHomeBadger;-><init>()V

    sput-object v6, Lim/tpelyyftgw/messenger/NotificationBadge;->badger:Lim/tpelyyftgw/messenger/NotificationBadge$Badger;

    goto :goto_109

    .line 613
    :cond_cc
    sget-object v6, Landroid/os/Build;->MANUFACTURER:Ljava/lang/String;

    const-string v7, "ZUK"

    invoke-virtual {v6, v7}, Ljava/lang/String;->equalsIgnoreCase(Ljava/lang/String;)Z

    move-result v6

    if-eqz v6, :cond_de

    .line 614
    new-instance v6, Lim/tpelyyftgw/messenger/NotificationBadge$ZukHomeBadger;

    invoke-direct {v6}, Lim/tpelyyftgw/messenger/NotificationBadge$ZukHomeBadger;-><init>()V

    sput-object v6, Lim/tpelyyftgw/messenger/NotificationBadge;->badger:Lim/tpelyyftgw/messenger/NotificationBadge$Badger;

    goto :goto_109

    .line 615
    :cond_de
    sget-object v6, Landroid/os/Build;->MANUFACTURER:Ljava/lang/String;

    const-string v7, "OPPO"

    invoke-virtual {v6, v7}, Ljava/lang/String;->equalsIgnoreCase(Ljava/lang/String;)Z

    move-result v6

    if-eqz v6, :cond_f0

    .line 616
    new-instance v6, Lim/tpelyyftgw/messenger/NotificationBadge$OPPOHomeBader;

    invoke-direct {v6}, Lim/tpelyyftgw/messenger/NotificationBadge$OPPOHomeBader;-><init>()V

    sput-object v6, Lim/tpelyyftgw/messenger/NotificationBadge;->badger:Lim/tpelyyftgw/messenger/NotificationBadge$Badger;

    goto :goto_109

    .line 617
    :cond_f0
    sget-object v6, Landroid/os/Build;->MANUFACTURER:Ljava/lang/String;

    const-string v7, "VIVO"

    invoke-virtual {v6, v7}, Ljava/lang/String;->equalsIgnoreCase(Ljava/lang/String;)Z

    move-result v6

    if-eqz v6, :cond_102

    .line 618
    new-instance v6, Lim/tpelyyftgw/messenger/NotificationBadge$VivoHomeBadger;

    invoke-direct {v6}, Lim/tpelyyftgw/messenger/NotificationBadge$VivoHomeBadger;-><init>()V

    sput-object v6, Lim/tpelyyftgw/messenger/NotificationBadge;->badger:Lim/tpelyyftgw/messenger/NotificationBadge$Badger;

    goto :goto_109

    .line 620
    :cond_102
    new-instance v6, Lim/tpelyyftgw/messenger/NotificationBadge$DefaultBadger;

    invoke-direct {v6}, Lim/tpelyyftgw/messenger/NotificationBadge$DefaultBadger;-><init>()V

    sput-object v6, Lim/tpelyyftgw/messenger/NotificationBadge;->badger:Lim/tpelyyftgw/messenger/NotificationBadge$Badger;

    .line 624
    :cond_109
    :goto_109
    return v5
.end method