KMessageAbstractProvider.smali
.class public abstract Lcom/cmcm/locker/sdk/notificationhelper/impl/controller/KMessageAbstractProvider;
.super Ljava/lang/Object;
.source "KMessageAbstractProvider.java"
# static fields
.field private static final TAG:Ljava/lang/String; = "KMessageAbstractProvider"
.field private static final sLock:Ljava/util/concurrent/locks/Lock;
# instance fields
.field protected mContext:Landroid/content/Context;
.field private mInitialized:Z
.field private final mObservers:Ljava/util/List;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/List",
"<",
"Lcom/cmcm/locker/sdk/notificationhelper/impl/inter/KMessageObserver;",
">;"
}
.end annotation
.end field
# direct methods
.method static constructor <clinit>()V
.registers 1
.prologue
.line 17
new-instance v0, Ljava/util/concurrent/locks/ReentrantLock;
invoke-direct {v0}, Ljava/util/concurrent/locks/ReentrantLock;-><init>()V
sput-object v0, Lcom/cmcm/locker/sdk/notificationhelper/impl/controller/KMessageAbstractProvider;->sLock:Ljava/util/concurrent/locks/Lock;
return-void
.end method
.method public constructor <init>()V
.registers 2
.prologue
.line 14
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 18
new-instance v0, Ljava/util/ArrayList;
invoke-direct {v0}, Ljava/util/ArrayList;-><init>()V
iput-object v0, p0, Lcom/cmcm/locker/sdk/notificationhelper/impl/controller/KMessageAbstractProvider;->mObservers:Ljava/util/List;
.line 19
const/4 v0, 0x0
iput-object v0, p0, Lcom/cmcm/locker/sdk/notificationhelper/impl/controller/KMessageAbstractProvider;->mContext:Landroid/content/Context;
.line 21
const/4 v0, 0x0
iput-boolean v0, p0, Lcom/cmcm/locker/sdk/notificationhelper/impl/controller/KMessageAbstractProvider;->mInitialized:Z
return-void
.end method
# virtual methods
.method public final getContext()Landroid/content/Context;
.registers 2
.prologue
.line 62
iget-object v0, p0, Lcom/cmcm/locker/sdk/notificationhelper/impl/controller/KMessageAbstractProvider;->mContext:Landroid/content/Context;
return-object v0
.end method
.method protected init()V
.registers 1
.prologue
.line 99
return-void
.end method
.method public final notifiObserver(Lcom/cmcm/locker/sdk/notificationhelper/impl/inter/IMessage;)V
.registers 4
.prologue
.line 105
iget-object v0, p0, Lcom/cmcm/locker/sdk/notificationhelper/impl/controller/KMessageAbstractProvider;->mObservers:Ljava/util/List;
invoke-interface {v0}, Ljava/util/List;->iterator()Ljava/util/Iterator;
move-result-object v1
:goto_6
invoke-interface {v1}, Ljava/util/Iterator;->hasNext()Z
move-result v0
if-eqz v0, :cond_16
invoke-interface {v1}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v0
check-cast v0, Lcom/cmcm/locker/sdk/notificationhelper/impl/inter/KMessageObserver;
.line 106
invoke-interface {v0, p1}, Lcom/cmcm/locker/sdk/notificationhelper/impl/inter/KMessageObserver;->onRemove(Lcom/cmcm/locker/sdk/notificationhelper/impl/inter/IMessage;)V
goto :goto_6
.line 108
:cond_16
return-void
.end method
.method protected final onMessageChange(ILcom/cmcm/locker/sdk/notificationhelper/impl/inter/IMessage;)Z
.registers 7
.prologue
.line 69
const/4 v0, 0x0
.line 70
sget-object v1, Lcom/cmcm/locker/sdk/notificationhelper/impl/controller/KMessageAbstractProvider;->sLock:Ljava/util/concurrent/locks/Lock;
invoke-interface {v1}, Ljava/util/concurrent/locks/Lock;->lock()V
.line 72
:try_start_6
iget-object v1, p0, Lcom/cmcm/locker/sdk/notificationhelper/impl/controller/KMessageAbstractProvider;->mObservers:Ljava/util/List;
if-eqz v1, :cond_2f
.line 83
iget-object v0, p0, Lcom/cmcm/locker/sdk/notificationhelper/impl/controller/KMessageAbstractProvider;->mObservers:Ljava/util/List;
invoke-interface {v0}, Ljava/util/List;->iterator()Ljava/util/Iterator;
move-result-object v1
:goto_10
invoke-interface {v1}, Ljava/util/Iterator;->hasNext()Z
move-result v0
if-eqz v0, :cond_2e
invoke-interface {v1}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v0
check-cast v0, Lcom/cmcm/locker/sdk/notificationhelper/impl/inter/KMessageObserver;
.line 84
const-string v2, "KMessageAbstractProvider"
const-string v3, "onMessageChange"
invoke-static {v2, v3}, Lcom/cmcm/locker/sdk/notificationhelper/impl/util/LogUtil;->log(Ljava/lang/String;Ljava/lang/String;)V
.line 85
invoke-interface {v0, p1, p2}, Lcom/cmcm/locker/sdk/notificationhelper/impl/inter/KMessageObserver;->onChange(ILcom/cmcm/locker/sdk/notificationhelper/impl/inter/IMessage;)V
:try_end_26
.catchall {:try_start_6 .. :try_end_26} :catchall_27
goto :goto_10
.line 90
:catchall_27
move-exception v0
sget-object v1, Lcom/cmcm/locker/sdk/notificationhelper/impl/controller/KMessageAbstractProvider;->sLock:Ljava/util/concurrent/locks/Lock;
invoke-interface {v1}, Ljava/util/concurrent/locks/Lock;->unlock()V
throw v0
.line 87
:cond_2e
const/4 v0, 0x1
.line 90
:cond_2f
sget-object v1, Lcom/cmcm/locker/sdk/notificationhelper/impl/controller/KMessageAbstractProvider;->sLock:Ljava/util/concurrent/locks/Lock;
invoke-interface {v1}, Ljava/util/concurrent/locks/Lock;->unlock()V
.line 92
return v0
.end method
.method public final registerObserver(Landroid/content/Context;Lcom/cmcm/locker/sdk/notificationhelper/impl/inter/KMessageObserver;)V
.registers 5
.prologue
.line 27
sget-object v0, Lcom/cmcm/locker/sdk/notificationhelper/impl/controller/KMessageAbstractProvider;->sLock:Ljava/util/concurrent/locks/Lock;
invoke-interface {v0}, Ljava/util/concurrent/locks/Lock;->lock()V
.line 29
:try_start_5
const-string v0, "KMessageAbstractProvider"
const-string/jumbo v1, "registerObserver"
invoke-static {v0, v1}, Lcom/cmcm/locker/sdk/notificationhelper/impl/util/LogUtil;->log(Ljava/lang/String;Ljava/lang/String;)V
.line 30
iget-boolean v0, p0, Lcom/cmcm/locker/sdk/notificationhelper/impl/controller/KMessageAbstractProvider;->mInitialized:Z
if-nez v0, :cond_1e
.line 31
iput-object p1, p0, Lcom/cmcm/locker/sdk/notificationhelper/impl/controller/KMessageAbstractProvider;->mContext:Landroid/content/Context;
.line 32
iget-object v0, p0, Lcom/cmcm/locker/sdk/notificationhelper/impl/controller/KMessageAbstractProvider;->mObservers:Ljava/util/List;
invoke-interface {v0, p2}, Ljava/util/List;->add(Ljava/lang/Object;)Z
.line 33
invoke-virtual {p0}, Lcom/cmcm/locker/sdk/notificationhelper/impl/controller/KMessageAbstractProvider;->init()V
.line 34
const/4 v0, 0x1
iput-boolean v0, p0, Lcom/cmcm/locker/sdk/notificationhelper/impl/controller/KMessageAbstractProvider;->mInitialized:Z
:try_end_1e
.catchall {:try_start_5 .. :try_end_1e} :catchall_24
.line 37
:cond_1e
sget-object v0, Lcom/cmcm/locker/sdk/notificationhelper/impl/controller/KMessageAbstractProvider;->sLock:Ljava/util/concurrent/locks/Lock;
invoke-interface {v0}, Ljava/util/concurrent/locks/Lock;->unlock()V
.line 39
return-void
.line 37
:catchall_24
move-exception v0
sget-object v1, Lcom/cmcm/locker/sdk/notificationhelper/impl/controller/KMessageAbstractProvider;->sLock:Ljava/util/concurrent/locks/Lock;
invoke-interface {v1}, Ljava/util/concurrent/locks/Lock;->unlock()V
throw v0
.end method
.method protected unInit()V
.registers 1
.prologue
.line 103
return-void
.end method
.method public final unRegisterObserver(Lcom/cmcm/locker/sdk/notificationhelper/impl/inter/KMessageObserver;)V
.registers 4
.prologue
.line 45
sget-object v0, Lcom/cmcm/locker/sdk/notificationhelper/impl/controller/KMessageAbstractProvider;->sLock:Ljava/util/concurrent/locks/Lock;
invoke-interface {v0}, Ljava/util/concurrent/locks/Lock;->lock()V
.line 47
:try_start_5
iget-boolean v0, p0, Lcom/cmcm/locker/sdk/notificationhelper/impl/controller/KMessageAbstractProvider;->mInitialized:Z
if-eqz v0, :cond_1b
.line 48
invoke-virtual {p0}, Lcom/cmcm/locker/sdk/notificationhelper/impl/controller/KMessageAbstractProvider;->unInit()V
.line 49
const/4 v0, 0x0
iput-boolean v0, p0, Lcom/cmcm/locker/sdk/notificationhelper/impl/controller/KMessageAbstractProvider;->mInitialized:Z
.line 51
iget-object v0, p0, Lcom/cmcm/locker/sdk/notificationhelper/impl/controller/KMessageAbstractProvider;->mObservers:Ljava/util/List;
if-eqz v0, :cond_18
.line 52
iget-object v0, p0, Lcom/cmcm/locker/sdk/notificationhelper/impl/controller/KMessageAbstractProvider;->mObservers:Ljava/util/List;
invoke-interface {v0, p1}, Ljava/util/List;->remove(Ljava/lang/Object;)Z
.line 54
:cond_18
const/4 v0, 0x0
iput-object v0, p0, Lcom/cmcm/locker/sdk/notificationhelper/impl/controller/KMessageAbstractProvider;->mContext:Landroid/content/Context;
:try_end_1b
.catchall {:try_start_5 .. :try_end_1b} :catchall_21
.line 57
:cond_1b
sget-object v0, Lcom/cmcm/locker/sdk/notificationhelper/impl/controller/KMessageAbstractProvider;->sLock:Ljava/util/concurrent/locks/Lock;
invoke-interface {v0}, Ljava/util/concurrent/locks/Lock;->unlock()V
.line 59
return-void
.line 57
:catchall_21
move-exception v0
sget-object v1, Lcom/cmcm/locker/sdk/notificationhelper/impl/controller/KMessageAbstractProvider;->sLock:Ljava/util/concurrent/locks/Lock;
invoke-interface {v1}, Ljava/util/concurrent/locks/Lock;->unlock()V
throw v0
.end method