OrionSpeakerStatusManager.smali

.class public Lcom/sdk/orion/ui/baselibrary/miniplayer/api/OrionSpeakerStatusManager;
.super Ljava/lang/Object;


# annotations
.annotation system Ldalvik/annotation/MemberClasses;
    value = {
        Lcom/sdk/orion/ui/baselibrary/miniplayer/api/OrionSpeakerStatusManager$StatusHandler;,
        Lcom/sdk/orion/ui/baselibrary/miniplayer/api/OrionSpeakerStatusManager$ProviderHolder;
    }
.end annotation


# static fields
.field private static final CONTROL_SPEAKER_DEVICE_ID:Ljava/lang/String; = "control_speaker_device_id"

.field public static final STATUS_UPDATE_TIME:I = 0xbb8


# instance fields
.field private mSpeakerStatus:Lcom/sdk/orion/bean/SpeakerStatus;

.field private mStatusCallback:Lcom/sdk/orion/ui/baselibrary/miniplayer/api/OrionISpeakerStatusCallback;

.field private mStatusCallbackList:Ljava/util/List;
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "Ljava/util/List",
            "<",
            "Lcom/sdk/orion/ui/baselibrary/miniplayer/api/OrionISpeakerStatusCallback;",
            ">;"
        }
    .end annotation
.end field

.field private mStatusHandler:Lcom/sdk/orion/ui/baselibrary/miniplayer/api/OrionSpeakerStatusManager$StatusHandler;


# direct methods
.method private constructor <init>()V
    .registers 3

    invoke-direct {p0}, Ljava/lang/Object;-><init>()V

    new-instance v0, Ljava/util/ArrayList;

    invoke-direct {v0}, Ljava/util/ArrayList;-><init>()V

    iput-object v0, p0, Lcom/sdk/orion/ui/baselibrary/miniplayer/api/OrionSpeakerStatusManager;->mStatusCallbackList:Ljava/util/List;

    new-instance v0, Lcom/sdk/orion/ui/baselibrary/miniplayer/api/OrionSpeakerStatusManager$StatusHandler;

    invoke-static {}, Landroid/os/Looper;->getMainLooper()Landroid/os/Looper;

    move-result-object v1

    invoke-direct {v0, p0, v1}, Lcom/sdk/orion/ui/baselibrary/miniplayer/api/OrionSpeakerStatusManager$StatusHandler;-><init>(Lcom/sdk/orion/ui/baselibrary/miniplayer/api/OrionSpeakerStatusManager;Landroid/os/Looper;)V

    iput-object v0, p0, Lcom/sdk/orion/ui/baselibrary/miniplayer/api/OrionSpeakerStatusManager;->mStatusHandler:Lcom/sdk/orion/ui/baselibrary/miniplayer/api/OrionSpeakerStatusManager$StatusHandler;

    return-void
.end method

.method synthetic constructor <init>(Lcom/sdk/orion/ui/baselibrary/miniplayer/api/OrionSpeakerStatusManager$1;)V
    .registers 2

    invoke-direct {p0}, Lcom/sdk/orion/ui/baselibrary/miniplayer/api/OrionSpeakerStatusManager;-><init>()V

    return-void
.end method

.method static synthetic access$200(Lcom/sdk/orion/ui/baselibrary/miniplayer/api/OrionSpeakerStatusManager;)Lcom/sdk/orion/ui/baselibrary/miniplayer/api/OrionSpeakerStatusManager$StatusHandler;
    .registers 2

    iget-object v0, p0, Lcom/sdk/orion/ui/baselibrary/miniplayer/api/OrionSpeakerStatusManager;->mStatusHandler:Lcom/sdk/orion/ui/baselibrary/miniplayer/api/OrionSpeakerStatusManager$StatusHandler;

    return-object v0
.end method

.method public static getInstance()Lcom/sdk/orion/ui/baselibrary/miniplayer/api/OrionSpeakerStatusManager;
    .registers 1

    # getter for: Lcom/sdk/orion/ui/baselibrary/miniplayer/api/OrionSpeakerStatusManager$ProviderHolder;->M_INSTANCE:Lcom/sdk/orion/ui/baselibrary/miniplayer/api/OrionSpeakerStatusManager;
    invoke-static {}, Lcom/sdk/orion/ui/baselibrary/miniplayer/api/OrionSpeakerStatusManager$ProviderHolder;->access$000()Lcom/sdk/orion/ui/baselibrary/miniplayer/api/OrionSpeakerStatusManager;

    move-result-object v0

    return-object v0
.end method


# virtual methods
.method public destroy()V
    .registers 3

    iget-object v0, p0, Lcom/sdk/orion/ui/baselibrary/miniplayer/api/OrionSpeakerStatusManager;->mStatusHandler:Lcom/sdk/orion/ui/baselibrary/miniplayer/api/OrionSpeakerStatusManager$StatusHandler;

    const/4 v1, 0x0

    invoke-virtual {v0, v1}, Lcom/sdk/orion/ui/baselibrary/miniplayer/api/OrionSpeakerStatusManager$StatusHandler;->removeCallbacksAndMessages(Ljava/lang/Object;)V

    return-void
.end method

.method public getLastSpeakerStatus()Lcom/sdk/orion/bean/SpeakerStatus;
    .registers 2

    iget-object v0, p0, Lcom/sdk/orion/ui/baselibrary/miniplayer/api/OrionSpeakerStatusManager;->mSpeakerStatus:Lcom/sdk/orion/bean/SpeakerStatus;

    return-object v0
.end method

.method public getSpeakerStatus(Z)V
    .registers 6

    const-string/jumbo v0, ""

    invoke-static {}, Lcom/sdk/orion/utils/Constant;->getSpeakerDeviceId()Ljava/lang/String;

    move-result-object v1

    invoke-static {v1}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z

    move-result v1

    if-nez v1, :cond_21

    invoke-static {}, Lcom/sdk/orion/utils/Constant;->getSpeakerDeviceId()Ljava/lang/String;

    move-result-object v0

    :cond_11
    :goto_11
    invoke-static {}, Lcom/sdk/orion/orion/OrionClient;->getInstance()Lcom/sdk/orion/orion/OrionClient;

    move-result-object v1

    const-string/jumbo v2, ""

    new-instance v3, Lcom/sdk/orion/ui/baselibrary/miniplayer/api/OrionSpeakerStatusManager$1;

    invoke-direct {v3, p0, p1}, Lcom/sdk/orion/ui/baselibrary/miniplayer/api/OrionSpeakerStatusManager$1;-><init>(Lcom/sdk/orion/ui/baselibrary/miniplayer/api/OrionSpeakerStatusManager;Z)V

    invoke-virtual {v1, v0, v2, v3}, Lcom/sdk/orion/orion/OrionClient;->getSpeakerStatus(Ljava/lang/String;Ljava/lang/String;Lcom/sdk/orion/callback/JsonCallback;)V

    return-void

    :cond_21
    const-string/jumbo v1, "control_speaker_device_id"

    invoke-static {v1}, Lcom/sdk/orion/utils/SPUtil;->getString(Ljava/lang/String;)Ljava/lang/String;

    move-result-object v1

    invoke-static {v1}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z

    move-result v1

    if-nez v1, :cond_11

    const-string/jumbo v0, "control_speaker_device_id"

    invoke-static {v0}, Lcom/sdk/orion/utils/SPUtil;->getString(Ljava/lang/String;)Ljava/lang/String;

    move-result-object v0

    goto :goto_11
.end method

.method public registerListener(Lcom/sdk/orion/ui/baselibrary/miniplayer/api/OrionISpeakerStatusCallback;)V
    .registers 6

    const/4 v1, 0x0

    iget-object v0, p0, Lcom/sdk/orion/ui/baselibrary/miniplayer/api/OrionSpeakerStatusManager;->mStatusCallbackList:Ljava/util/List;

    invoke-interface {v0, p1}, Ljava/util/List;->add(Ljava/lang/Object;)Z

    iget-object v0, p0, Lcom/sdk/orion/ui/baselibrary/miniplayer/api/OrionSpeakerStatusManager;->mStatusHandler:Lcom/sdk/orion/ui/baselibrary/miniplayer/api/OrionSpeakerStatusManager$StatusHandler;

    invoke-virtual {v0, v1}, Lcom/sdk/orion/ui/baselibrary/miniplayer/api/OrionSpeakerStatusManager$StatusHandler;->hasMessages(I)Z

    move-result v0

    if-nez v0, :cond_15

    iget-object v0, p0, Lcom/sdk/orion/ui/baselibrary/miniplayer/api/OrionSpeakerStatusManager;->mStatusHandler:Lcom/sdk/orion/ui/baselibrary/miniplayer/api/OrionSpeakerStatusManager$StatusHandler;

    const-wide/16 v2, 0xbb8

    invoke-virtual {v0, v1, v2, v3}, Lcom/sdk/orion/ui/baselibrary/miniplayer/api/OrionSpeakerStatusManager$StatusHandler;->sendEmptyMessageDelayed(IJ)Z

    :cond_15
    return-void
.end method

.method public unregisterListener(Lcom/sdk/orion/ui/baselibrary/miniplayer/api/OrionISpeakerStatusCallback;)V
    .registers 3

    iget-object v0, p0, Lcom/sdk/orion/ui/baselibrary/miniplayer/api/OrionSpeakerStatusManager;->mStatusCallbackList:Ljava/util/List;

    invoke-interface {v0, p1}, Ljava/util/List;->remove(Ljava/lang/Object;)Z

    return-void
.end method

.method public updateFailedStatus(ILjava/lang/String;)V
    .registers 5

    iget-object v0, p0, Lcom/sdk/orion/ui/baselibrary/miniplayer/api/OrionSpeakerStatusManager;->mStatusCallbackList: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/sdk/orion/ui/baselibrary/miniplayer/api/OrionISpeakerStatusCallback;

    invoke-interface {v0, p1, p2}, Lcom/sdk/orion/ui/baselibrary/miniplayer/api/OrionISpeakerStatusCallback;->onFailed(ILjava/lang/String;)V

    goto :goto_6

    :cond_16
    return-void
.end method

.method public updateSuccessStatus(Lcom/sdk/orion/bean/SpeakerStatus;)V
    .registers 4

    iput-object p1, p0, Lcom/sdk/orion/ui/baselibrary/miniplayer/api/OrionSpeakerStatusManager;->mSpeakerStatus:Lcom/sdk/orion/bean/SpeakerStatus;

    iget-object v0, p0, Lcom/sdk/orion/ui/baselibrary/miniplayer/api/OrionSpeakerStatusManager;->mStatusCallbackList:Ljava/util/List;

    invoke-interface {v0}, Ljava/util/List;->iterator()Ljava/util/Iterator;

    move-result-object v1

    :goto_8
    invoke-interface {v1}, Ljava/util/Iterator;->hasNext()Z

    move-result v0

    if-eqz v0, :cond_18

    invoke-interface {v1}, Ljava/util/Iterator;->next()Ljava/lang/Object;

    move-result-object v0

    check-cast v0, Lcom/sdk/orion/ui/baselibrary/miniplayer/api/OrionISpeakerStatusCallback;

    invoke-interface {v0, p1}, Lcom/sdk/orion/ui/baselibrary/miniplayer/api/OrionISpeakerStatusCallback;->onSucceed(Lcom/sdk/orion/bean/SpeakerStatus;)V

    goto :goto_8

    :cond_18
    return-void
.end method