LockerCommander.smali
.class public final Lcom/cm/plugincluster/locker/LockerCommander;
.super Ljava/lang/Object;
.source "LockerCommander.java"
# static fields
.field private static volatile mHostCommander:Lcom/cm/plugincluster/spec/ICommander;
.field private static volatile mPluginCommander:Lcom/cm/plugincluster/spec/ICommander;
# direct methods
.method public constructor <init>()V
.registers 1
.prologue
.line 6
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
.method private static getHostCommander()Lcom/cm/plugincluster/spec/ICommander;
.registers 2
.prologue
.line 11
sget-object v0, Lcom/cm/plugincluster/locker/LockerCommander;->mHostCommander:Lcom/cm/plugincluster/spec/ICommander;
if-nez v0, :cond_13
.line 12
const-class v1, Lcom/cm/plugincluster/locker/LockerCommander;
monitor-enter v1
.line 13
:try_start_7
sget-object v0, Lcom/cm/plugincluster/locker/LockerCommander;->mHostCommander:Lcom/cm/plugincluster/spec/ICommander;
if-nez v0, :cond_12
.line 14
new-instance v0, Lcom/cm/plugincluster/spec/BaseCommander;
invoke-direct {v0}, Lcom/cm/plugincluster/spec/BaseCommander;-><init>()V
sput-object v0, Lcom/cm/plugincluster/locker/LockerCommander;->mHostCommander:Lcom/cm/plugincluster/spec/ICommander;
.line 16
:cond_12
monitor-exit v1
:try_end_13
.catchall {:try_start_7 .. :try_end_13} :catchall_16
.line 18
:cond_13
sget-object v0, Lcom/cm/plugincluster/locker/LockerCommander;->mHostCommander:Lcom/cm/plugincluster/spec/ICommander;
return-object v0
.line 16
:catchall_16
move-exception v0
:try_start_17
monitor-exit v1
:try_end_18
.catchall {:try_start_17 .. :try_end_18} :catchall_16
throw v0
.end method
.method private static getPluginCommander()Lcom/cm/plugincluster/spec/ICommander;
.registers 2
.prologue
.line 30
sget-object v0, Lcom/cm/plugincluster/locker/LockerCommander;->mPluginCommander:Lcom/cm/plugincluster/spec/ICommander;
if-nez v0, :cond_13
.line 31
const-class v1, Lcom/cm/plugincluster/locker/LockerCommander;
monitor-enter v1
.line 32
:try_start_7
sget-object v0, Lcom/cm/plugincluster/locker/LockerCommander;->mPluginCommander:Lcom/cm/plugincluster/spec/ICommander;
if-nez v0, :cond_12
.line 33
new-instance v0, Lcom/cm/plugincluster/spec/BaseCommander;
invoke-direct {v0}, Lcom/cm/plugincluster/spec/BaseCommander;-><init>()V
sput-object v0, Lcom/cm/plugincluster/locker/LockerCommander;->mPluginCommander:Lcom/cm/plugincluster/spec/ICommander;
.line 35
:cond_12
monitor-exit v1
:try_end_13
.catchall {:try_start_7 .. :try_end_13} :catchall_16
.line 37
:cond_13
sget-object v0, Lcom/cm/plugincluster/locker/LockerCommander;->mPluginCommander:Lcom/cm/plugincluster/spec/ICommander;
return-object v0
.line 35
:catchall_16
move-exception v0
:try_start_17
monitor-exit v1
:try_end_18
.catchall {:try_start_17 .. :try_end_18} :catchall_16
throw v0
.end method
.method public static injectHostCommander(Lcom/cm/plugincluster/spec/ICommander;)V
.registers 3
.prologue
.line 22
if-eqz p0, :cond_8
.line 23
const-class v1, Lcom/cm/plugincluster/locker/LockerCommander;
monitor-enter v1
.line 24
:try_start_5
sput-object p0, Lcom/cm/plugincluster/locker/LockerCommander;->mHostCommander:Lcom/cm/plugincluster/spec/ICommander;
.line 25
monitor-exit v1
.line 27
:cond_8
return-void
.line 25
:catchall_9
move-exception v0
monitor-exit v1
:try_end_b
.catchall {:try_start_5 .. :try_end_b} :catchall_9
throw v0
.end method
.method public static injectPluginCommander(Lcom/cm/plugincluster/spec/ICommander;)V
.registers 3
.prologue
.line 41
if-eqz p0, :cond_8
.line 42
const-class v1, Lcom/cm/plugincluster/locker/LockerCommander;
monitor-enter v1
.line 43
:try_start_5
sput-object p0, Lcom/cm/plugincluster/locker/LockerCommander;->mPluginCommander:Lcom/cm/plugincluster/spec/ICommander;
.line 44
monitor-exit v1
.line 46
:cond_8
return-void
.line 44
:catchall_9
move-exception v0
monitor-exit v1
:try_end_b
.catchall {:try_start_5 .. :try_end_b} :catchall_9
throw v0
.end method
.method public static varargs invokeHost(I[Ljava/lang/Object;)Ljava/lang/Object;
.registers 3
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/lang/NoSuchMethodException;
}
.end annotation
.prologue
.line 49
invoke-static {}, Lcom/cm/plugincluster/locker/LockerCommander;->getHostCommander()Lcom/cm/plugincluster/spec/ICommander;
move-result-object v0
invoke-interface {v0, p0, p1}, Lcom/cm/plugincluster/spec/ICommander;->invoke(I[Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v0
return-object v0
.end method
.method public static varargs invokePlugin(I[Ljava/lang/Object;)Ljava/lang/Object;
.registers 3
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/lang/NoSuchMethodException;
}
.end annotation
.prologue
.line 53
invoke-static {}, Lcom/cm/plugincluster/locker/LockerCommander;->getPluginCommander()Lcom/cm/plugincluster/spec/ICommander;
move-result-object v0
invoke-interface {v0, p0, p1}, Lcom/cm/plugincluster/spec/ICommander;->invoke(I[Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v0
return-object v0
.end method