导航菜单

页面标题

页面副标题

Hopscotch v9.7.2 - CTFirebaseMessagingReceiver.java 源代码

正在查看: Hopscotch v9.7.2 应用的 CTFirebaseMessagingReceiver.java JAVA 源代码文件

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


package com.clevertap.android.sdk.pushnotification.fcm;

import android.annotation.SuppressLint;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.os.CountDownTimer;
import com.clevertap.android.sdk.n1;
import com.clevertap.android.sdk.pushnotification.j;
import com.clevertap.android.sdk.u;
import com.clevertap.android.sdk.y0;
import com.google.firebase.messaging.RemoteMessage;
import java.util.concurrent.TimeUnit;

public class CTFirebaseMessagingReceiver extends BroadcastReceiver implements com.clevertap.android.sdk.interfaces.e {
    private static final String TAG = "CTRM";
    public static final int a = 0;
    private CountDownTimer countDownTimer;
    private boolean isPRFinished;
    private String key = "";
    private BroadcastReceiver.PendingResult pendingResult;
    private long start;

    public class a extends CountDownTimer {
        public a(long j, long j2) {
            super(j, j2);
        }

        @Override
        public final void onFinish() {
            int i = CTFirebaseMessagingReceiver.a;
            CTFirebaseMessagingReceiver.this.b("receiver life time is expired");
        }

        @Override
        public final void onTick(long j) {
        }
    }

    @Override
    @SuppressLint({"RestrictedApi"})
    public final void a() {
        y0.k(TAG, "push impression sent successfully by core, i should inform OS to kill receiver. my callback key is " + this.key);
        b("push impression sent successfully by core");
    }

    public final void b(String str) {
        try {
            y0.k(TAG, "got a signal to kill receiver and timer because ".concat(str));
            if (!this.key.trim().isEmpty()) {
                u.Z(this.key);
            }
            long nanoTime = System.nanoTime();
            if (this.pendingResult == null || this.isPRFinished) {
                y0.k(TAG, "have already informed OS to kill receiver, can not inform again else OS will get angry :-O");
                return;
            }
            y0.k(TAG, "informing OS to kill receiver...");
            this.pendingResult.finish();
            this.isPRFinished = true;
            CountDownTimer countDownTimer = this.countDownTimer;
            if (countDownTimer != null) {
                countDownTimer.cancel();
            }
            y0.k(TAG, "informed OS to kill receiver...");
            y0.k(TAG, "receiver was alive for " + TimeUnit.NANOSECONDS.toSeconds(nanoTime - this.start) + " seconds");
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

    @Override
    @SuppressLint({"RestrictedApi"})
    public final void onReceive(Context context, Intent intent) {
        this.start = System.nanoTime();
        y0.b(TAG, "received a message from Firebase");
        if (context == null || intent == null) {
            return;
        }
        RemoteMessage remoteMessage = new RemoteMessage(intent.getExtras());
        new d();
        Bundle a2 = d.a(remoteMessage);
        if (a2 == null) {
            return;
        }
        if (remoteMessage.n() != 2) {
            y0.b(TAG, "returning from CTRM because message priority is not normal");
            return;
        }
        long parseLong = Long.parseLong(a2.getString("ctrmt", "4500"));
        this.pendingResult = goAsync();
        if (!u.A(a2).a) {
            y0.k(TAG, "Notification payload is not from CleverTap.");
            b("push is not from CleverTap.");
            return;
        }
        boolean z = n1.a;
        boolean parseBoolean = Boolean.parseBoolean((String) remoteMessage.c().get("wzrk_tsr_fb"));
        boolean parseBoolean2 = Boolean.parseBoolean((String) remoteMessage.c().get("wzrk_fallback"));
        if (parseBoolean || !parseBoolean2) {
            y0.k(TAG, "Notification payload does not have a fallback key.");
            b("isRenderFallback is false");
            return;
        }
        String k = android.support.v4.media.a.k(j.a(a2), "_", a2.getString("wzrk_pid", ""));
        this.key = k;
        u.h(k, this);
        a aVar = new a(parseLong, 1000L);
        this.countDownTimer = aVar;
        aVar.start();
        new Thread(new b(this, context, a2, 0)).start();
    }
}