PipeProvider.smali
.class public Lcom/sdk/orion/ui/baselibrary/pipe/PipeProvider;
.super Ljava/lang/Object;
# interfaces
.implements Lcom/sdk/orion/ui/baselibrary/pipe/data/IPipe;
# instance fields
.field private mList:Ljava/util/List;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/List",
"<",
"Ljava/lang/ref/WeakReference",
"<",
"Lcom/sdk/orion/ui/baselibrary/pipe/data/IPipe;",
">;>;"
}
.end annotation
.end field
.field private mTag:Ljava/lang/String;
# direct methods
.method constructor <init>()V
.registers 2
const/4 v0, 0x0
invoke-direct {p0, v0}, Lcom/sdk/orion/ui/baselibrary/pipe/PipeProvider;-><init>(Ljava/lang/String;)V
return-void
.end method
.method constructor <init>(Ljava/lang/String;)V
.registers 3
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
iput-object p1, p0, Lcom/sdk/orion/ui/baselibrary/pipe/PipeProvider;->mTag:Ljava/lang/String;
new-instance v0, Ljava/util/ArrayList;
invoke-direct {v0}, Ljava/util/ArrayList;-><init>()V
iput-object v0, p0, Lcom/sdk/orion/ui/baselibrary/pipe/PipeProvider;->mList:Ljava/util/List;
return-void
.end method
.method private contain(Lcom/sdk/orion/ui/baselibrary/pipe/data/IPipe;)Z
.registers 5
const/4 v0, 0x0
iget-object v1, p0, Lcom/sdk/orion/ui/baselibrary/pipe/PipeProvider;->mList:Ljava/util/List;
if-nez v1, :cond_6
:goto_5
return v0
:cond_6
iget-object v1, p0, Lcom/sdk/orion/ui/baselibrary/pipe/PipeProvider;->mList:Ljava/util/List;
invoke-interface {v1}, Ljava/util/List;->iterator()Ljava/util/Iterator;
move-result-object v2
move v1, v0
:goto_d
invoke-interface {v2}, Ljava/util/Iterator;->hasNext()Z
move-result v0
if-eqz v0, :cond_30
invoke-interface {v2}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v0
check-cast v0, Ljava/lang/ref/WeakReference;
invoke-virtual {v0}, Ljava/lang/ref/WeakReference;->get()Ljava/lang/Object;
move-result-object v0
check-cast v0, Lcom/sdk/orion/ui/baselibrary/pipe/data/IPipe;
if-nez v0, :cond_27
invoke-interface {v2}, Ljava/util/Iterator;->remove()V
move v0, v1
:goto_25
move v1, v0
goto :goto_d
:cond_27
invoke-virtual {v0, p1}, Ljava/lang/Object;->equals(Ljava/lang/Object;)Z
move-result v0
if-eqz v0, :cond_32
const/4 v1, 0x1
move v0, v1
goto :goto_25
:cond_30
move v0, v1
goto :goto_5
:cond_32
move v0, v1
goto :goto_25
.end method
# virtual methods
.method register(Lcom/sdk/orion/ui/baselibrary/pipe/data/IPipe;)V
.registers 4
.param p1 # Lcom/sdk/orion/ui/baselibrary/pipe/data/IPipe;
.annotation build Landroid/support/annotation/NonNull;
.end annotation
.end param
invoke-direct {p0, p1}, Lcom/sdk/orion/ui/baselibrary/pipe/PipeProvider;->contain(Lcom/sdk/orion/ui/baselibrary/pipe/data/IPipe;)Z
move-result v0
if-eqz v0, :cond_7
:goto_6
return-void
:cond_7
new-instance v0, Ljava/lang/ref/WeakReference;
invoke-direct {v0, p1}, Ljava/lang/ref/WeakReference;-><init>(Ljava/lang/Object;)V
iget-object v1, p0, Lcom/sdk/orion/ui/baselibrary/pipe/PipeProvider;->mList:Ljava/util/List;
invoke-interface {v1, v0}, Ljava/util/List;->add(Ljava/lang/Object;)Z
goto :goto_6
.end method
.method public transact(Ljava/lang/String;)Ljava/lang/String;
.registers 6
const/4 v2, 0x0
iget-object v0, p0, Lcom/sdk/orion/ui/baselibrary/pipe/PipeProvider;->mList:Ljava/util/List;
if-nez v0, :cond_6
:goto_5
return-object v2
:cond_6
iget-object v0, p0, Lcom/sdk/orion/ui/baselibrary/pipe/PipeProvider;->mList:Ljava/util/List;
invoke-interface {v0}, Ljava/util/List;->iterator()Ljava/util/Iterator;
move-result-object v3
move-object v1, v2
:goto_d
invoke-interface {v3}, Ljava/util/Iterator;->hasNext()Z
move-result v0
if-eqz v0, :cond_2c
invoke-interface {v3}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v0
check-cast v0, Ljava/lang/ref/WeakReference;
invoke-virtual {v0}, Ljava/lang/ref/WeakReference;->get()Ljava/lang/Object;
move-result-object v0
check-cast v0, Lcom/sdk/orion/ui/baselibrary/pipe/data/IPipe;
if-nez v0, :cond_27
invoke-interface {v3}, Ljava/util/Iterator;->remove()V
move-object v0, v1
:goto_25
move-object v1, v0
goto :goto_d
:cond_27
invoke-interface {v0, p1}, Lcom/sdk/orion/ui/baselibrary/pipe/data/IPipe;->transact(Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
goto :goto_25
:cond_2c
iget-object v0, p0, Lcom/sdk/orion/ui/baselibrary/pipe/PipeProvider;->mList:Ljava/util/List;
invoke-interface {v0}, Ljava/util/List;->size()I
move-result v0
const/4 v3, 0x1
if-ne v0, v3, :cond_37
:goto_35
move-object v2, v1
goto :goto_5
:cond_37
move-object v1, v2
goto :goto_35
.end method