导航菜单

页面标题

页面副标题

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

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

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


package com.urbanairship.push;

import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import com.urbanairship.AirshipExecutors;
import com.urbanairship.Autopilot;
import com.urbanairship.Logger;
import com.urbanairship.PendingResult;
import com.urbanairship.UAirship;
import java.util.concurrent.ExecutionException;
import java.util.concurrent.TimeUnit;
import java.util.concurrent.TimeoutException;

public class NotificationProxyReceiver extends BroadcastReceiver {
    private static final long ACTION_TIMEOUT_SECONDS = 9;

    @Override
    public void onReceive(final Context context, final Intent intent) {
        Autopilot.automaticTakeOff(context);
        if (!UAirship.isTakingOff() && !UAirship.isFlying()) {
            Logger.error("NotificationProxyReceiver - unable to receive intent, takeOff not called.", new Object[0]);
            return;
        }
        if (intent == null || intent.getAction() == null) {
            return;
        }
        Logger.verbose("Received intent: %s", intent.getAction());
        final BroadcastReceiver.PendingResult goAsync = goAsync();
        final PendingResult<Boolean> process = new NotificationIntentProcessor(context, intent).process();
        AirshipExecutors.threadPoolExecutor().execute(new Runnable() {
            @Override
            public void run() {
                try {
                    Logger.verbose("Finished processing notification intent with result %s.", (Boolean) process.get(NotificationProxyReceiver.ACTION_TIMEOUT_SECONDS, TimeUnit.SECONDS));
                } catch (InterruptedException e) {
                    e = e;
                    Logger.error(e, "NotificationProxyReceiver - Exception when processing notification intent.", new Object[0]);
                    Thread.currentThread().interrupt();
                } catch (ExecutionException e2) {
                    e = e2;
                    Logger.error(e, "NotificationProxyReceiver - Exception when processing notification intent.", new Object[0]);
                    Thread.currentThread().interrupt();
                } catch (TimeoutException unused) {
                    Logger.error("NotificationProxyReceiver - Application took too long to process notification intent.", new Object[0]);
                }
                goAsync.finish();
            }
        });
    }
}