导航菜单

页面标题

页面副标题

Jurassic World v1.83.4 - FirebaseMessagingManager.java 源代码

正在查看: Jurassic World v1.83.4 应用的 FirebaseMessagingManager.java JAVA 源代码文件

本页面展示 JAVA 反编译生成的源代码文件,支持语法高亮显示。 仅供安全研究与技术分析使用,严禁用于任何非法用途。请遵守相关法律法规。


package com.ludia.framework.firebase;

import android.content.Context;
import android.util.Log;
import com.google.android.gms.tasks.OnCompleteListener;
import com.google.android.gms.tasks.Task;
import com.google.firebase.messaging.FirebaseMessaging;
import com.google.firebase.messaging.FirebaseMessagingService;
import com.google.firebase.messaging.RemoteMessage;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;

public class FirebaseMessagingManager extends FirebaseMessagingService {
    private static final String TAG = "LudiaSDK/FirebaseMessagingManager";
    private static List<IFirebaseMessagingListener> m_firebaseListener = new ArrayList();
    private static String deviceToken = "";

    public static void removeFirebaseListener(IFirebaseMessagingListener iFirebaseMessagingListener) {
        m_firebaseListener.remove(iFirebaseMessagingListener);
    }

    public static void addFirebaseListener(IFirebaseMessagingListener iFirebaseMessagingListener) {
        m_firebaseListener.add(iFirebaseMessagingListener);
    }

    public static void refreshToken(Context context) {
        Iterator<IFirebaseMessagingListener> it = m_firebaseListener.iterator();
        while (it.hasNext()) {
            it.next().onTokenRefresh(context, deviceToken);
        }
    }

    public static void setupToken(final Context context) {
        FirebaseMessaging.getInstance().getToken().addOnCompleteListener(new OnCompleteListener<String>() {
            public void onComplete(Task<String> task) {
                if (task.isSuccessful()) {
                    FirebaseMessagingManager.deviceToken = (String) task.getResult();
                    Log.d(FirebaseMessagingManager.TAG, String.format("Apply device token : %s", FirebaseMessagingManager.deviceToken));
                    FirebaseMessagingManager.refreshToken(context);
                }
            }
        });
    }

    public String getToken() {
        return deviceToken;
    }

    public void onNewToken(String str) {
        if (deviceToken.equals(str)) {
            return;
        }
        deviceToken = str;
        Log.d(TAG, String.format("New device token : %s", str));
        refreshToken(this);
    }

    public void onMessageReceived(RemoteMessage remoteMessage) {
        Log.d(TAG, "Notification received");
        Iterator<IFirebaseMessagingListener> it = m_firebaseListener.iterator();
        while (it.hasNext()) {
            it.next().onMessageReceived(this, remoteMessage);
        }
    }
}