SonyHomeBadger.smali
.class public Lme/leolin/shortcutbadger/impl/SonyHomeBadger;
.super Ljava/lang/Object;
.source "SourceFile"
# interfaces
.implements Lme/leolin/shortcutbadger/a;
# instance fields
.field private final a:Landroid/net/Uri;
.field private b:Landroid/content/AsyncQueryHandler;
# direct methods
.method public constructor <init>()V
.registers 2
.line 22
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
const-string v0, "content://com.sonymobile.home.resourceprovider/badge"
.line 35
invoke-static {v0}, Landroid/net/Uri;->parse(Ljava/lang/String;)Landroid/net/Uri;
move-result-object v0
iput-object v0, p0, Lme/leolin/shortcutbadger/impl/SonyHomeBadger;->a:Landroid/net/Uri;
return-void
.end method
# virtual methods
.method public final a()Ljava/util/List;
.registers 3
.annotation system Ldalvik/annotation/Signature;
value = {
"()",
"Ljava/util/List<",
"Ljava/lang/String;",
">;"
}
.end annotation
const-string v0, "com.sonyericsson.home"
const-string v1, "com.sonymobile.home"
.line 51
filled-new-array {v0, v1}, [Ljava/lang/String;
move-result-object v0
invoke-static {v0}, Ljava/util/Arrays;->asList([Ljava/lang/Object;)Ljava/util/List;
move-result-object v0
return-object v0
.end method
.method public final a(Landroid/content/Context;Landroid/content/ComponentName;I)V
.registers 9
.annotation system Ldalvik/annotation/Throws;
value = {
Lme/leolin/shortcutbadger/ShortcutBadgeException;
}
.end annotation
.line 1147
invoke-virtual {p1}, Landroid/content/Context;->getPackageManager()Landroid/content/pm/PackageManager;
move-result-object v0
const/4 v1, 0x0
const-string v2, "com.sonymobile.home.resourceprovider"
invoke-virtual {v0, v2, v1}, Landroid/content/pm/PackageManager;->resolveContentProvider(Ljava/lang/String;I)Landroid/content/pm/ProviderInfo;
move-result-object v0
const/4 v2, 0x1
if-eqz v0, :cond_10
const/4 v0, 0x1
goto :goto_11
:cond_10
const/4 v0, 0x0
:goto_11
if-eqz v0, :cond_69
if-ltz p3, :cond_68
.line 2132
new-instance v0, Landroid/content/ContentValues;
invoke-direct {v0}, Landroid/content/ContentValues;-><init>()V
.line 2133
invoke-static {p3}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object p3
const-string v2, "badge_count"
invoke-virtual {v0, v2, p3}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Integer;)V
.line 2134
invoke-virtual {p2}, Landroid/content/ComponentName;->getPackageName()Ljava/lang/String;
move-result-object p3
const-string v2, "package_name"
invoke-virtual {v0, v2, p3}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V
.line 2135
invoke-virtual {p2}, Landroid/content/ComponentName;->getClassName()Ljava/lang/String;
move-result-object p2
const-string p3, "activity_name"
invoke-virtual {v0, p3, p2}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V
.line 2078
invoke-static {}, Landroid/os/Looper;->myLooper()Landroid/os/Looper;
move-result-object p2
invoke-static {}, Landroid/os/Looper;->getMainLooper()Landroid/os/Looper;
move-result-object p3
if-ne p2, p3, :cond_5b
.line 2081
iget-object p2, p0, Lme/leolin/shortcutbadger/impl/SonyHomeBadger;->b:Landroid/content/AsyncQueryHandler;
if-nez p2, :cond_52
.line 2082
new-instance p2, Lme/leolin/shortcutbadger/impl/SonyHomeBadger$1;
.line 2083
invoke-virtual {p1}, Landroid/content/Context;->getApplicationContext()Landroid/content/Context;
move-result-object p1
invoke-virtual {p1}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver;
move-result-object p1
invoke-direct {p2, p0, p1}, Lme/leolin/shortcutbadger/impl/SonyHomeBadger$1;-><init>(Lme/leolin/shortcutbadger/impl/SonyHomeBadger;Landroid/content/ContentResolver;)V
iput-object p2, p0, Lme/leolin/shortcutbadger/impl/SonyHomeBadger;->b:Landroid/content/AsyncQueryHandler;
.line 3101
:cond_52
iget-object p1, p0, Lme/leolin/shortcutbadger/impl/SonyHomeBadger;->b:Landroid/content/AsyncQueryHandler;
const/4 p2, 0x0
iget-object p3, p0, Lme/leolin/shortcutbadger/impl/SonyHomeBadger;->a:Landroid/net/Uri;
invoke-virtual {p1, v1, p2, p3, v0}, Landroid/content/AsyncQueryHandler;->startInsert(ILjava/lang/Object;Landroid/net/Uri;Landroid/content/ContentValues;)V
return-void
.line 3111
:cond_5b
invoke-virtual {p1}, Landroid/content/Context;->getApplicationContext()Landroid/content/Context;
move-result-object p1
invoke-virtual {p1}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver;
move-result-object p1
iget-object p2, p0, Lme/leolin/shortcutbadger/impl/SonyHomeBadger;->a:Landroid/net/Uri;
.line 3112
invoke-virtual {p1, p2, v0}, Landroid/content/ContentResolver;->insert(Landroid/net/Uri;Landroid/content/ContentValues;)Landroid/net/Uri;
:cond_68
return-void
.line 4056
:cond_69
new-instance v0, Landroid/content/Intent;
const-string v3, "com.sonyericsson.home.action.UPDATE_BADGE"
invoke-direct {v0, v3}, Landroid/content/Intent;-><init>(Ljava/lang/String;)V
.line 4057
invoke-virtual {p2}, Landroid/content/ComponentName;->getPackageName()Ljava/lang/String;
move-result-object v3
const-string v4, "com.sonyericsson.home.intent.extra.badge.PACKAGE_NAME"
invoke-virtual {v0, v4, v3}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent;
.line 4058
invoke-virtual {p2}, Landroid/content/ComponentName;->getClassName()Ljava/lang/String;
move-result-object p2
const-string v3, "com.sonyericsson.home.intent.extra.badge.ACTIVITY_NAME"
invoke-virtual {v0, v3, p2}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent;
.line 4059
invoke-static {p3}, Ljava/lang/String;->valueOf(I)Ljava/lang/String;
move-result-object p2
const-string v3, "com.sonyericsson.home.intent.extra.badge.MESSAGE"
invoke-virtual {v0, v3, p2}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent;
if-lez p3, :cond_8e
const/4 v1, 0x1
:cond_8e
const-string p2, "com.sonyericsson.home.intent.extra.badge.SHOW_MESSAGE"
.line 4060
invoke-virtual {v0, p2, v1}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Z)Landroid/content/Intent;
.line 4061
invoke-virtual {p1, v0}, Landroid/content/Context;->sendBroadcast(Landroid/content/Intent;)V
return-void
.end method