ComponentsHandler.smali
.class public Lorg/acdd/android/proxy/ComponentsHandler;
.super Ljava/lang/Object;
.source "ComponentsHandler.java"
# static fields
.field public static final TAG:Ljava/lang/String; = "ComponentsHandler"
# instance fields
.field private mBoundServices:Ljava/util/HashMap;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/HashMap",
"<",
"Landroid/os/IBinder;",
"Landroid/content/Intent;",
">;"
}
.end annotation
.end field
.field private mServiceCounters:Ljava/util/HashMap;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/HashMap",
"<",
"Landroid/app/Service;",
"Ljava/util/concurrent/atomic/AtomicInteger;",
">;"
}
.end annotation
.end field
.field private mServices:Ljava/util/HashMap;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/HashMap",
"<",
"Landroid/content/ComponentName;",
"Landroid/app/Service;",
">;"
}
.end annotation
.end field
# direct methods
.method public constructor <init>()V
.registers 2
.prologue
.line 18
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 14
new-instance v0, Ljava/util/HashMap;
invoke-direct {v0}, Ljava/util/HashMap;-><init>()V
iput-object v0, p0, Lorg/acdd/android/proxy/ComponentsHandler;->mServices:Ljava/util/HashMap;
.line 15
new-instance v0, Ljava/util/HashMap;
invoke-direct {v0}, Ljava/util/HashMap;-><init>()V
iput-object v0, p0, Lorg/acdd/android/proxy/ComponentsHandler;->mBoundServices:Ljava/util/HashMap;
.line 16
new-instance v0, Ljava/util/HashMap;
invoke-direct {v0}, Ljava/util/HashMap;-><init>()V
iput-object v0, p0, Lorg/acdd/android/proxy/ComponentsHandler;->mServiceCounters:Ljava/util/HashMap;
.line 19
return-void
.end method
# virtual methods
.method public forgetIServiceConnection(Landroid/os/IBinder;)Landroid/content/Intent;
.registers 4
.prologue
.line 70
iget-object v1, p0, Lorg/acdd/android/proxy/ComponentsHandler;->mBoundServices:Ljava/util/HashMap;
monitor-enter v1
.line 71
:try_start_3
iget-object v0, p0, Lorg/acdd/android/proxy/ComponentsHandler;->mBoundServices:Ljava/util/HashMap;
invoke-virtual {v0, p1}, Ljava/util/HashMap;->remove(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v0
check-cast v0, Landroid/content/Intent;
.line 72
monitor-exit v1
return-object v0
.line 73
:catchall_d
move-exception v0
monitor-exit v1
:try_end_f
.catchall {:try_start_3 .. :try_end_f} :catchall_d
throw v0
.end method
.method public forgetService(Landroid/content/ComponentName;)Landroid/app/Service;
.registers 5
.prologue
.line 56
iget-object v1, p0, Lorg/acdd/android/proxy/ComponentsHandler;->mServices:Ljava/util/HashMap;
monitor-enter v1
.line 57
:try_start_3
iget-object v0, p0, Lorg/acdd/android/proxy/ComponentsHandler;->mServices:Ljava/util/HashMap;
invoke-virtual {v0, p1}, Ljava/util/HashMap;->remove(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v0
check-cast v0, Landroid/app/Service;
.line 58
iget-object v2, p0, Lorg/acdd/android/proxy/ComponentsHandler;->mServiceCounters:Ljava/util/HashMap;
invoke-virtual {v2, v0}, Ljava/util/HashMap;->remove(Ljava/lang/Object;)Ljava/lang/Object;
.line 59
monitor-exit v1
return-object v0
.line 60
:catchall_12
move-exception v0
monitor-exit v1
:try_end_14
.catchall {:try_start_3 .. :try_end_14} :catchall_12
throw v0
.end method
.method public getService(Landroid/content/ComponentName;)Landroid/app/Service;
.registers 3
.prologue
.line 32
iget-object v0, p0, Lorg/acdd/android/proxy/ComponentsHandler;->mServices:Ljava/util/HashMap;
invoke-virtual {v0, p1}, Ljava/util/HashMap;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v0
check-cast v0, Landroid/app/Service;
return-object v0
.end method
.method public getServiceCounter(Landroid/app/Service;)Ljava/util/concurrent/atomic/AtomicInteger;
.registers 3
.prologue
.line 22
iget-object v0, p0, Lorg/acdd/android/proxy/ComponentsHandler;->mServiceCounters:Ljava/util/HashMap;
invoke-virtual {v0, p1}, Ljava/util/HashMap;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v0
check-cast v0, Ljava/util/concurrent/atomic/AtomicInteger;
return-object v0
.end method
.method public isServiceAvailable(Landroid/content/ComponentName;)Z
.registers 3
.prologue
.line 95
iget-object v0, p0, Lorg/acdd/android/proxy/ComponentsHandler;->mServices:Ljava/util/HashMap;
invoke-virtual {v0, p1}, Ljava/util/HashMap;->containsKey(Ljava/lang/Object;)Z
move-result v0
return v0
.end method
.method public isStopStubService()Z
.registers 3
.prologue
.line 99
const/4 v0, 0x0
.line 100
iget-object v1, p0, Lorg/acdd/android/proxy/ComponentsHandler;->mServices:Ljava/util/HashMap;
invoke-virtual {v1}, Ljava/util/HashMap;->isEmpty()Z
move-result v1
if-eqz v1, :cond_12
iget-object v1, p0, Lorg/acdd/android/proxy/ComponentsHandler;->mBoundServices:Ljava/util/HashMap;
invoke-virtual {v1}, Ljava/util/HashMap;->isEmpty()Z
move-result v1
if-eqz v1, :cond_12
.line 101
const/4 v0, 0x1
.line 103
:cond_12
return v0
.end method
.method public remberIServiceConnection(Landroid/os/IBinder;Landroid/content/Intent;)V
.registers 5
.prologue
.line 83
iget-object v1, p0, Lorg/acdd/android/proxy/ComponentsHandler;->mBoundServices:Ljava/util/HashMap;
monitor-enter v1
.line 84
:try_start_3
iget-object v0, p0, Lorg/acdd/android/proxy/ComponentsHandler;->mBoundServices:Ljava/util/HashMap;
invoke-virtual {v0, p1, p2}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
.line 85
monitor-exit v1
.line 86
return-void
.line 85
:catchall_a
move-exception v0
monitor-exit v1
:try_end_c
.catchall {:try_start_3 .. :try_end_c} :catchall_a
throw v0
.end method
.method public rememberService(Landroid/content/ComponentName;Landroid/app/Service;)V
.registers 7
.prologue
.line 43
iget-object v1, p0, Lorg/acdd/android/proxy/ComponentsHandler;->mServices:Ljava/util/HashMap;
monitor-enter v1
.line 44
:try_start_3
iget-object v0, p0, Lorg/acdd/android/proxy/ComponentsHandler;->mServices:Ljava/util/HashMap;
invoke-virtual {v0, p1, p2}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
.line 45
iget-object v0, p0, Lorg/acdd/android/proxy/ComponentsHandler;->mServiceCounters:Ljava/util/HashMap;
new-instance v2, Ljava/util/concurrent/atomic/AtomicInteger;
const/4 v3, 0x0
invoke-direct {v2, v3}, Ljava/util/concurrent/atomic/AtomicInteger;-><init>(I)V
invoke-virtual {v0, p2, v2}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
.line 46
monitor-exit v1
.line 47
return-void
.line 46
:catchall_15
move-exception v0
monitor-exit v1
:try_end_17
.catchall {:try_start_3 .. :try_end_17} :catchall_15
throw v0
.end method