PushFactory.smali

.class public Lio/rong/push/pushconfig/PushFactory;
.super Ljava/lang/Object;
.source "PushFactory.java"


# static fields
.field private static final TAG:Ljava/lang/String; = "PushFactory"

.field private static pushProcessorMap:Ljava/util/concurrent/ConcurrentHashMap;
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "Ljava/util/concurrent/ConcurrentHashMap<",
            "Lio/rong/push/PushType;",
            "Lio/rong/push/platform/IPush;",
            ">;"
        }
    .end annotation
.end field


# direct methods
.method static constructor <clinit>()V
    .registers 1

    .line 1
    new-instance v0, Ljava/util/concurrent/ConcurrentHashMap;

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

    sput-object v0, Lio/rong/push/pushconfig/PushFactory;->pushProcessorMap:Ljava/util/concurrent/ConcurrentHashMap;

    return-void
.end method

.method public constructor <init>()V
    .registers 1

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

    return-void
.end method

.method public static getPushProcessorByType(Lio/rong/push/PushType;)Lio/rong/push/platform/IPush;
    .registers 3

    .line 1
    sget-object v0, Lio/rong/push/pushconfig/PushFactory;->pushProcessorMap:Ljava/util/concurrent/ConcurrentHashMap;

    invoke-virtual {v0, p0}, Ljava/util/concurrent/ConcurrentHashMap;->get(Ljava/lang/Object;)Ljava/lang/Object;

    move-result-object v0

    check-cast v0, Lio/rong/push/platform/IPush;

    if-eqz v0, :cond_b

    return-object v0

    .line 2
    :cond_b
    sget-object v0, Lio/rong/push/PushType;->GOOGLE_GCM:Lio/rong/push/PushType;

    invoke-virtual {p0, v0}, Ljava/lang/Enum;->equals(Ljava/lang/Object;)Z

    move-result v0

    if-eqz v0, :cond_19

    .line 3
    new-instance v0, Lio/rong/push/platform/google/GCMPush;

    invoke-direct {v0}, Lio/rong/push/platform/google/GCMPush;-><init>()V

    goto :goto_7a

    .line 4
    :cond_19
    sget-object v0, Lio/rong/push/PushType;->GOOGLE_FCM:Lio/rong/push/PushType;

    invoke-virtual {p0, v0}, Ljava/lang/Enum;->equals(Ljava/lang/Object;)Z

    move-result v0

    if-eqz v0, :cond_27

    .line 5
    new-instance v0, Lio/rong/push/platform/google/FCMPush;

    invoke-direct {v0}, Lio/rong/push/platform/google/FCMPush;-><init>()V

    goto :goto_7a

    .line 6
    :cond_27
    sget-object v0, Lio/rong/push/PushType;->HUAWEI:Lio/rong/push/PushType;

    invoke-virtual {p0, v0}, Ljava/lang/Enum;->equals(Ljava/lang/Object;)Z

    move-result v0

    if-eqz v0, :cond_35

    .line 7
    new-instance v0, Lio/rong/push/platform/hms/HWPush;

    invoke-direct {v0}, Lio/rong/push/platform/hms/HWPush;-><init>()V

    goto :goto_7a

    .line 8
    :cond_35
    sget-object v0, Lio/rong/push/PushType;->XIAOMI:Lio/rong/push/PushType;

    invoke-virtual {p0, v0}, Ljava/lang/Enum;->equals(Ljava/lang/Object;)Z

    move-result v0

    if-eqz v0, :cond_43

    .line 9
    new-instance v0, Lio/rong/push/platform/mi/MiPush;

    invoke-direct {v0}, Lio/rong/push/platform/mi/MiPush;-><init>()V

    goto :goto_7a

    .line 10
    :cond_43
    sget-object v0, Lio/rong/push/PushType;->MEIZU:Lio/rong/push/PushType;

    invoke-virtual {p0, v0}, Ljava/lang/Enum;->equals(Ljava/lang/Object;)Z

    move-result v0

    if-eqz v0, :cond_51

    .line 11
    new-instance v0, Lio/rong/push/platform/meizu/MeizuPush;

    invoke-direct {v0}, Lio/rong/push/platform/meizu/MeizuPush;-><init>()V

    goto :goto_7a

    .line 12
    :cond_51
    sget-object v0, Lio/rong/push/PushType;->RONG:Lio/rong/push/PushType;

    invoke-virtual {p0, v0}, Ljava/lang/Enum;->equals(Ljava/lang/Object;)Z

    move-result v0

    if-eqz v0, :cond_5f

    .line 13
    new-instance v0, Lio/rong/push/rongpush/RongPush;

    invoke-direct {v0}, Lio/rong/push/rongpush/RongPush;-><init>()V

    goto :goto_7a

    .line 14
    :cond_5f
    sget-object v0, Lio/rong/push/PushType;->VIVO:Lio/rong/push/PushType;

    invoke-virtual {p0, v0}, Ljava/lang/Enum;->equals(Ljava/lang/Object;)Z

    move-result v0

    if-eqz v0, :cond_6d

    .line 15
    new-instance v0, Lio/rong/push/platform/vivo/VivoPush;

    invoke-direct {v0}, Lio/rong/push/platform/vivo/VivoPush;-><init>()V

    goto :goto_7a

    .line 16
    :cond_6d
    sget-object v0, Lio/rong/push/PushType;->OPPO:Lio/rong/push/PushType;

    invoke-virtual {p0, v0}, Ljava/lang/Enum;->equals(Ljava/lang/Object;)Z

    move-result v0

    if-eqz v0, :cond_80

    .line 17
    new-instance v0, Lio/rong/push/platform/oppo/OppoPush;

    invoke-direct {v0}, Lio/rong/push/platform/oppo/OppoPush;-><init>()V

    .line 18
    :goto_7a
    sget-object v1, Lio/rong/push/pushconfig/PushFactory;->pushProcessorMap:Ljava/util/concurrent/ConcurrentHashMap;

    invoke-virtual {v1, p0, v0}, Ljava/util/concurrent/ConcurrentHashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;

    return-object v0

    .line 19
    :cond_80
    sget-object p0, Lio/rong/push/pushconfig/PushFactory;->TAG:Ljava/lang/String;

    const-string v0, "unsupported push type!!"

    invoke-static {p0, v0}, Lio/rong/push/common/RLog;->e(Ljava/lang/String;Ljava/lang/String;)V

    const/4 p0, 0x0

    return-object p0
.end method

.method public static setPushProcessor(Lio/rong/push/PushType;Lio/rong/push/platform/IPush;)V
    .registers 3

    .line 1
    sget-object v0, Lio/rong/push/pushconfig/PushFactory;->pushProcessorMap:Ljava/util/concurrent/ConcurrentHashMap;

    invoke-virtual {v0, p0, p1}, Ljava/util/concurrent/ConcurrentHashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;

    return-void
.end method