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