KAbstractMultiMessage.smali

.class public abstract Lcom/cmcm/locker/sdk/notificationhelper/impl/model/KAbstractMultiMessage;
.super Lcom/cmcm/locker/sdk/notificationhelper/impl/model/KAbstractMessage;
.source "KAbstractMultiMessage.java"

# interfaces
.implements Lcom/cmcm/locker/sdk/notificationhelper/impl/model/KMultiMessage;


# instance fields
.field private mMessages:Ljava/util/List;
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "Ljava/util/List",
            "<",
            "Lcom/cmcm/locker/sdk/notificationhelper/impl/inter/IMessage;",
            ">;"
        }
    .end annotation
.end field

.field private mMessagesReadOnly:Ljava/util/List;
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "Ljava/util/List",
            "<",
            "Lcom/cmcm/locker/sdk/notificationhelper/impl/inter/IMessage;",
            ">;"
        }
    .end annotation
.end field


# direct methods
.method protected constructor <init>()V
    .registers 2

    .prologue
    .line 15
    invoke-direct {p0}, Lcom/cmcm/locker/sdk/notificationhelper/impl/model/KAbstractMessage;-><init>()V

    .line 11
    new-instance v0, Ljava/util/ArrayList;

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

    iput-object v0, p0, Lcom/cmcm/locker/sdk/notificationhelper/impl/model/KAbstractMultiMessage;->mMessages:Ljava/util/List;

    .line 12
    iget-object v0, p0, Lcom/cmcm/locker/sdk/notificationhelper/impl/model/KAbstractMultiMessage;->mMessages:Ljava/util/List;

    invoke-static {v0}, Ljava/util/Collections;->unmodifiableList(Ljava/util/List;)Ljava/util/List;

    move-result-object v0

    iput-object v0, p0, Lcom/cmcm/locker/sdk/notificationhelper/impl/model/KAbstractMultiMessage;->mMessagesReadOnly:Ljava/util/List;

    .line 16
    return-void
.end method

.method protected constructor <init>(Lcom/cmcm/locker/sdk/notificationhelper/impl/inter/IMessage;)V
    .registers 3

    .prologue
    .line 19
    invoke-direct {p0}, Lcom/cmcm/locker/sdk/notificationhelper/impl/model/KAbstractMessage;-><init>()V

    .line 11
    new-instance v0, Ljava/util/ArrayList;

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

    iput-object v0, p0, Lcom/cmcm/locker/sdk/notificationhelper/impl/model/KAbstractMultiMessage;->mMessages:Ljava/util/List;

    .line 12
    iget-object v0, p0, Lcom/cmcm/locker/sdk/notificationhelper/impl/model/KAbstractMultiMessage;->mMessages:Ljava/util/List;

    invoke-static {v0}, Ljava/util/Collections;->unmodifiableList(Ljava/util/List;)Ljava/util/List;

    move-result-object v0

    iput-object v0, p0, Lcom/cmcm/locker/sdk/notificationhelper/impl/model/KAbstractMultiMessage;->mMessagesReadOnly:Ljava/util/List;

    .line 20
    invoke-virtual {p0, p1}, Lcom/cmcm/locker/sdk/notificationhelper/impl/model/KAbstractMultiMessage;->changeMessage(Lcom/cmcm/locker/sdk/notificationhelper/impl/inter/IMessage;)V

    .line 21
    return-void
.end method


# virtual methods
.method public final addMessage(Lcom/cmcm/locker/sdk/notificationhelper/impl/inter/IMessage;)V
    .registers 4

    .prologue
    .line 35
    iget-object v0, p0, Lcom/cmcm/locker/sdk/notificationhelper/impl/model/KAbstractMultiMessage;->mMessages:Ljava/util/List;

    const/4 v1, 0x0

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

    .line 36
    invoke-virtual {p0, p1}, Lcom/cmcm/locker/sdk/notificationhelper/impl/model/KAbstractMultiMessage;->onMessageAdd(Lcom/cmcm/locker/sdk/notificationhelper/impl/inter/IMessage;)V

    .line 37
    return-void
.end method

.method public final changeMessage(Lcom/cmcm/locker/sdk/notificationhelper/impl/inter/IMessage;)V
    .registers 3

    .prologue
    .line 41
    iget-object v0, p0, Lcom/cmcm/locker/sdk/notificationhelper/impl/model/KAbstractMultiMessage;->mMessages:Ljava/util/List;

    invoke-interface {v0}, Ljava/util/List;->clear()V

    .line 42
    iget-object v0, p0, Lcom/cmcm/locker/sdk/notificationhelper/impl/model/KAbstractMultiMessage;->mMessages:Ljava/util/List;

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

    .line 43
    invoke-virtual {p0, p1}, Lcom/cmcm/locker/sdk/notificationhelper/impl/model/KAbstractMultiMessage;->onMessageChange(Lcom/cmcm/locker/sdk/notificationhelper/impl/inter/IMessage;)V

    .line 44
    return-void
.end method

.method public final getCount()I
    .registers 2

    .prologue
    .line 25
    iget-object v0, p0, Lcom/cmcm/locker/sdk/notificationhelper/impl/model/KAbstractMultiMessage;->mMessages:Ljava/util/List;

    invoke-interface {v0}, Ljava/util/List;->size()I

    move-result v0

    return v0
.end method

.method public final getList()Ljava/util/List;
    .registers 2
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "()",
            "Ljava/util/List",
            "<",
            "Lcom/cmcm/locker/sdk/notificationhelper/impl/inter/IMessage;",
            ">;"
        }
    .end annotation

    .prologue
    .line 30
    iget-object v0, p0, Lcom/cmcm/locker/sdk/notificationhelper/impl/model/KAbstractMultiMessage;->mMessagesReadOnly:Ljava/util/List;

    return-object v0
.end method

.method public abstract isSameMessage(Lcom/cmcm/locker/sdk/notificationhelper/impl/inter/IMessage;)Z
.end method

.method public isSupportExpand()Z
    .registers 2

    .prologue
    .line 54
    const/4 v0, 0x1

    return v0
.end method

.method protected abstract onMessageAdd(Lcom/cmcm/locker/sdk/notificationhelper/impl/inter/IMessage;)V
.end method

.method protected onMessageChange(Lcom/cmcm/locker/sdk/notificationhelper/impl/inter/IMessage;)V
    .registers 2

    .prologue
    .line 63
    invoke-virtual {p0, p1}, Lcom/cmcm/locker/sdk/notificationhelper/impl/model/KAbstractMultiMessage;->onMessageAdd(Lcom/cmcm/locker/sdk/notificationhelper/impl/inter/IMessage;)V

    .line 64
    return-void
.end method

.method protected abstract onMessageRemove(Lcom/cmcm/locker/sdk/notificationhelper/impl/inter/IMessage;)V
.end method

.method public removeMessage(Lcom/cmcm/locker/sdk/notificationhelper/impl/inter/IMessage;)V
    .registers 3

    .prologue
    .line 48
    iget-object v0, p0, Lcom/cmcm/locker/sdk/notificationhelper/impl/model/KAbstractMultiMessage;->mMessages:Ljava/util/List;

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

    .line 49
    invoke-virtual {p0, p1}, Lcom/cmcm/locker/sdk/notificationhelper/impl/model/KAbstractMultiMessage;->onMessageRemove(Lcom/cmcm/locker/sdk/notificationhelper/impl/inter/IMessage;)V

    .line 50
    return-void
.end method