CMAccountManager.smali
.class public Lcom/cleanmaster/daemon/accountManager/CMAccountManager;
.super Ljava/lang/Object;
.source "CMAccountManager.java"
# static fields
.field private static mAccountManager:Lcom/cleanmaster/daemon/accountManager/CMAccountManager;
# instance fields
.field private mAccount:Landroid/accounts/Account;
.field private mAccountName:Ljava/lang/String;
.field private mAccountProvider:Ljava/lang/String;
.field private mAccountProvider1:Ljava/lang/String;
.field private mAccountType:Ljava/lang/String;
.field private mContext:Landroid/content/Context;
# direct methods
.method public constructor <init>()V
.registers 1
.prologue
.line 15
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
.method public static declared-synchronized get()Lcom/cleanmaster/daemon/accountManager/CMAccountManager;
.registers 3
.prologue
.line 27
const-class v1, Lcom/cleanmaster/daemon/accountManager/CMAccountManager;
monitor-enter v1
:try_start_3
const-class v2, Lcom/cleanmaster/daemon/accountManager/CMAccountManager;
monitor-enter v2
:try_end_6
.catchall {:try_start_3 .. :try_end_6} :catchall_19
.line 28
:try_start_6
sget-object v0, Lcom/cleanmaster/daemon/accountManager/CMAccountManager;->mAccountManager:Lcom/cleanmaster/daemon/accountManager/CMAccountManager;
if-nez v0, :cond_11
.line 29
new-instance v0, Lcom/cleanmaster/daemon/accountManager/CMAccountManager;
invoke-direct {v0}, Lcom/cleanmaster/daemon/accountManager/CMAccountManager;-><init>()V
sput-object v0, Lcom/cleanmaster/daemon/accountManager/CMAccountManager;->mAccountManager:Lcom/cleanmaster/daemon/accountManager/CMAccountManager;
.line 31
:cond_11
sget-object v0, Lcom/cleanmaster/daemon/accountManager/CMAccountManager;->mAccountManager:Lcom/cleanmaster/daemon/accountManager/CMAccountManager;
.line 32
monitor-exit v2
:try_end_14
.catchall {:try_start_6 .. :try_end_14} :catchall_16
.line 33
monitor-exit v1
return-object v0
.line 32
:catchall_16
move-exception v0
:try_start_17
monitor-exit v2
:try_end_18
.catchall {:try_start_17 .. :try_end_18} :catchall_16
:try_start_18
throw v0
:try_end_19
.catchall {:try_start_18 .. :try_end_19} :catchall_19
.line 27
:catchall_19
move-exception v0
monitor-exit v1
throw v0
.end method
# virtual methods
.method public init(Landroid/content/Context;)V
.registers 7
.prologue
const/4 v1, 0x1
.line 38
:try_start_1
invoke-virtual {p1}, Landroid/content/Context;->getApplicationContext()Landroid/content/Context;
move-result-object v0
iput-object v0, p0, Lcom/cleanmaster/daemon/accountManager/CMAccountManager;->mContext:Landroid/content/Context;
.line 39
iget-object v0, p0, Lcom/cleanmaster/daemon/accountManager/CMAccountManager;->mContext:Landroid/content/Context;
sget v2, Lcom/cleanmaster/daemon/R$string;->accountLabel:I
invoke-virtual {v0, v2}, Landroid/content/Context;->getString(I)Ljava/lang/String;
move-result-object v0
iput-object v0, p0, Lcom/cleanmaster/daemon/accountManager/CMAccountManager;->mAccountName:Ljava/lang/String;
.line 40
iget-object v0, p0, Lcom/cleanmaster/daemon/accountManager/CMAccountManager;->mContext:Landroid/content/Context;
sget v2, Lcom/cleanmaster/daemon/R$string;->accountType:I
invoke-virtual {v0, v2}, Landroid/content/Context;->getString(I)Ljava/lang/String;
move-result-object v0
iput-object v0, p0, Lcom/cleanmaster/daemon/accountManager/CMAccountManager;->mAccountType:Ljava/lang/String;
.line 41
iget-object v0, p0, Lcom/cleanmaster/daemon/accountManager/CMAccountManager;->mContext:Landroid/content/Context;
sget v2, Lcom/cleanmaster/daemon/R$string;->accountProvider:I
invoke-virtual {v0, v2}, Landroid/content/Context;->getString(I)Ljava/lang/String;
move-result-object v0
iput-object v0, p0, Lcom/cleanmaster/daemon/accountManager/CMAccountManager;->mAccountProvider:Ljava/lang/String;
.line 42
iget-object v0, p0, Lcom/cleanmaster/daemon/accountManager/CMAccountManager;->mContext:Landroid/content/Context;
sget v2, Lcom/cleanmaster/daemon/R$string;->accountProvider1:I
invoke-virtual {v0, v2}, Landroid/content/Context;->getString(I)Ljava/lang/String;
move-result-object v0
iput-object v0, p0, Lcom/cleanmaster/daemon/accountManager/CMAccountManager;->mAccountProvider1:Ljava/lang/String;
.line 43
new-instance v0, Landroid/accounts/Account;
iget-object v2, p0, Lcom/cleanmaster/daemon/accountManager/CMAccountManager;->mAccountName:Ljava/lang/String;
iget-object v3, p0, Lcom/cleanmaster/daemon/accountManager/CMAccountManager;->mAccountType:Ljava/lang/String;
invoke-direct {v0, v2, v3}, Landroid/accounts/Account;-><init>(Ljava/lang/String;Ljava/lang/String;)V
iput-object v0, p0, Lcom/cleanmaster/daemon/accountManager/CMAccountManager;->mAccount:Landroid/accounts/Account;
.line 45
iget-object v0, p0, Lcom/cleanmaster/daemon/accountManager/CMAccountManager;->mContext:Landroid/content/Context;
invoke-static {v0}, Landroid/accounts/AccountManager;->get(Landroid/content/Context;)Landroid/accounts/AccountManager;
move-result-object v2
.line 46
iget-object v0, p0, Lcom/cleanmaster/daemon/accountManager/CMAccountManager;->mAccountType:Ljava/lang/String;
invoke-virtual {v2, v0}, Landroid/accounts/AccountManager;->getAccountsByType(Ljava/lang/String;)[Landroid/accounts/Account;
move-result-object v0
array-length v0, v0
if-gtz v0, :cond_67
.line 47
iget-object v3, p0, Lcom/cleanmaster/daemon/accountManager/CMAccountManager;->mAccount:Landroid/accounts/Account;
const/4 v0, 0x0
check-cast v0, Ljava/lang/String;
sget-object v4, Landroid/os/Bundle;->EMPTY:Landroid/os/Bundle;
invoke-virtual {v2, v3, v0, v4}, Landroid/accounts/AccountManager;->addAccountExplicitly(Landroid/accounts/Account;Ljava/lang/String;Landroid/os/Bundle;)Z
.line 48
iget-object v0, p0, Lcom/cleanmaster/daemon/accountManager/CMAccountManager;->mAccount:Landroid/accounts/Account;
iget-object v2, p0, Lcom/cleanmaster/daemon/accountManager/CMAccountManager;->mAccountProvider:Ljava/lang/String;
const/4 v3, 0x1
invoke-static {v0, v2, v3}, Landroid/content/ContentResolver;->setIsSyncable(Landroid/accounts/Account;Ljava/lang/String;I)V
.line 49
iget-object v0, p0, Lcom/cleanmaster/daemon/accountManager/CMAccountManager;->mAccount:Landroid/accounts/Account;
iget-object v2, p0, Lcom/cleanmaster/daemon/accountManager/CMAccountManager;->mAccountProvider:Ljava/lang/String;
const/4 v3, 0x1
invoke-static {v0, v2, v3}, Landroid/content/ContentResolver;->setSyncAutomatically(Landroid/accounts/Account;Ljava/lang/String;Z)V
.line 50
const/4 v0, 0x1
invoke-static {v0}, Landroid/content/ContentResolver;->setMasterSyncAutomatically(Z)V
.line 52
:cond_67
invoke-virtual {p0}, Lcom/cleanmaster/daemon/accountManager/CMAccountManager;->setIsSyncable()V
.line 53
iget-object v0, p0, Lcom/cleanmaster/daemon/accountManager/CMAccountManager;->mAccount:Landroid/accounts/Account;
iget-object v2, p0, Lcom/cleanmaster/daemon/accountManager/CMAccountManager;->mAccountProvider:Ljava/lang/String;
invoke-static {v0, v2}, Landroid/content/ContentResolver;->isSyncPending(Landroid/accounts/Account;Ljava/lang/String;)Z
move-result v0
if-nez v0, :cond_78
.line 54
const/4 v0, 0x1
invoke-virtual {p0, v0}, Lcom/cleanmaster/daemon/accountManager/CMAccountManager;->requestSync(Z)V
.line 57
:cond_78
iget-object v0, p0, Lcom/cleanmaster/daemon/accountManager/CMAccountManager;->mAccount:Landroid/accounts/Account;
iget-object v2, p0, Lcom/cleanmaster/daemon/accountManager/CMAccountManager;->mAccountProvider:Ljava/lang/String;
invoke-static {v0, v2}, Landroid/content/ContentResolver;->getPeriodicSyncs(Landroid/accounts/Account;Ljava/lang/String;)Ljava/util/List;
move-result-object v0
.line 58
if-eqz v0, :cond_88
invoke-interface {v0}, Ljava/util/List;->size()I
move-result v0
if-gtz v0, :cond_a2
.line 59
:cond_88
const/4 v0, 0x0
.line 61
:goto_89
if-nez v0, :cond_9c
.line 62
iget-object v2, p0, Lcom/cleanmaster/daemon/accountManager/CMAccountManager;->mAccount:Landroid/accounts/Account;
iget-object v3, p0, Lcom/cleanmaster/daemon/accountManager/CMAccountManager;->mAccountProvider:Ljava/lang/String;
sget-object v4, Landroid/os/Bundle;->EMPTY:Landroid/os/Bundle;
sget v0, Landroid/os/Build$VERSION;->SDK_INT:I
const/16 v1, 0x18
if-lt v0, v1, :cond_9d
const-wide/16 v0, 0x384
:goto_99
invoke-static {v2, v3, v4, v0, v1}, Landroid/content/ContentResolver;->addPeriodicSync(Landroid/accounts/Account;Ljava/lang/String;Landroid/os/Bundle;J)V
:try_end_9c
.catch Ljava/lang/Exception; {:try_start_1 .. :try_end_9c} :catch_a0
.line 66
:cond_9c
:goto_9c
return-void
.line 62
:cond_9d
const-wide/16 v0, 0xe10
goto :goto_99
.line 64
:catch_a0
move-exception v0
goto :goto_9c
:cond_a2
move v0, v1
goto :goto_89
.end method
.method public requestSync(Z)V
.registers 5
.prologue
.line 70
:try_start_0
new-instance v0, Landroid/os/Bundle;
invoke-direct {v0}, Landroid/os/Bundle;-><init>()V
.line 71
const-string v1, "force"
const/4 v2, 0x1
invoke-virtual {v0, v1, v2}, Landroid/os/Bundle;->putBoolean(Ljava/lang/String;Z)V
.line 72
if-eqz p1, :cond_13
.line 73
const-string v1, "require_charging"
const/4 v2, 0x1
invoke-virtual {v0, v1, v2}, Landroid/os/Bundle;->putBoolean(Ljava/lang/String;Z)V
.line 75
:cond_13
iget-object v1, p0, Lcom/cleanmaster/daemon/accountManager/CMAccountManager;->mAccount:Landroid/accounts/Account;
iget-object v2, p0, Lcom/cleanmaster/daemon/accountManager/CMAccountManager;->mAccountProvider:Ljava/lang/String;
invoke-static {v1, v2, v0}, Landroid/content/ContentResolver;->requestSync(Landroid/accounts/Account;Ljava/lang/String;Landroid/os/Bundle;)V
:try_end_1a
.catch Ljava/lang/Exception; {:try_start_0 .. :try_end_1a} :catch_1b
.line 78
:goto_1a
return-void
.line 76
:catch_1b
move-exception v0
goto :goto_1a
.end method
.method public setIsSyncable()V
.registers 4
.prologue
.line 81
iget-object v0, p0, Lcom/cleanmaster/daemon/accountManager/CMAccountManager;->mAccount:Landroid/accounts/Account;
iget-object v1, p0, Lcom/cleanmaster/daemon/accountManager/CMAccountManager;->mAccountProvider1:Ljava/lang/String;
const/4 v2, -0x1
invoke-static {v0, v1, v2}, Landroid/content/ContentResolver;->setIsSyncable(Landroid/accounts/Account;Ljava/lang/String;I)V
.line 82
return-void
.end method