导航菜单

页面标题

页面副标题

CallApp v2.226 - PhoneStateReceiver.java 源代码

正在查看: CallApp v2.226 应用的 PhoneStateReceiver.java JAVA 源代码文件

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


package com.callapp.contacts.receiver;

import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.telephony.TelephonyManager;
import com.callapp.contacts.CallAppApplication;
import com.callapp.contacts.activity.setup.navigation.OnBoardingNavigationActivity;
import com.callapp.contacts.manager.analytics.AnalyticsManager;
import com.callapp.contacts.manager.phone.PhoneManager;
import com.callapp.contacts.manager.phone.PhoneStateManager;
import com.callapp.contacts.manager.preferences.Prefs;
import com.callapp.contacts.manager.preferences.prefs.IntegerPref;
import com.callapp.contacts.model.Constants;
import com.callapp.contacts.util.CLog;
import com.callapp.framework.util.StringUtils;
import java.util.Objects;

public class PhoneStateReceiver extends BaseReceiver {
    public static String b;

    @Override
    public final void a(Context context, Intent intent) {
        String str;
        String str2;
        boolean z;
        if (PhoneManager.get().isDefaultPhoneApp() && Prefs.f1.get().booleanValue()) {
            StringUtils.I(PhoneStateReceiver.class);
            CLog.a();
            return;
        }
        if (intent == null) {
            StringUtils.I(PhoneStateReceiver.class);
            CLog.a();
            return;
        }
        Bundle extras = intent.getExtras();
        if (extras == null) {
            Object[] objArr = {intent.getAction()};
            StringUtils.I(PhoneStateReceiver.class);
            CLog.c("PhoneStateReceiver.onReceive called with ACTION=[%s]", objArr);
            return;
        }
        String action = intent.getAction();
        int i = 0;
        if ("android.intent.action.PHONE_STATE".equals(action)) {
            str = intent.getStringExtra("state");
            str2 = extras.getString("incoming_number");
            if (str != null) {
                if (str.equals(TelephonyManager.EXTRA_STATE_IDLE)) {
                    z = false;
                } else if (str.equals(TelephonyManager.EXTRA_STATE_OFFHOOK)) {
                    i = 2;
                    z = false;
                } else if (str.equals(TelephonyManager.EXTRA_STATE_RINGING)) {
                    z = false;
                    i = 1;
                }
            }
            z = false;
            i = -1;
        } else if ("android.intent.action.NEW_OUTGOING_CALL".equals(action)) {
            str2 = intent.getStringExtra("android.intent.extra.PHONE_NUMBER");
            str = PhoneStateManager.CALL_STATE_OUTGOING_RINGING_STRING;
            i = -2;
            z = true;
        } else {
            str = "";
            str2 = "";
            z = false;
            i = -1;
        }
        Object[] objArr2 = {action, str2, Integer.valueOf(i)};
        StringUtils.I(PhoneStateReceiver.class);
        CLog.c("PhoneStateReceiver.onReceive called with ACTION = [%s], PHONE_NUMBER = [%s], EXTRA_STATE = [%d]", objArr2);
        if (StringUtils.t(str2)) {
            return;
        }
        if (!z && StringUtils.k(b, str)) {
            StringUtils.I(PhoneStateReceiver.class);
            CLog.a();
            return;
        }
        if (!z) {
            b = str;
        }
        if (!PhoneManager.get().isDefaultPhoneApp() || Prefs.f1.get().booleanValue()) {
            PhoneStateManager.get().onCallStateChanged(PhoneStateManager.EVENT_SOURCE.RECEIVER, i, str2);
            return;
        }
        if (i == 0) {
            IntegerPref integerPref = Prefs.U7;
            if (integerPref.isNull()) {
                integerPref.set(-1);
            }
            integerPref.a(1);
            if (integerPref.get().intValue() % 3 != 0) {
                Objects.toString(integerPref.get());
                StringUtils.I(PhoneStateReceiver.class);
                CLog.a();
            } else {
                Objects.toString(integerPref.get());
                StringUtils.I(PhoneStateReceiver.class);
                CLog.a();
                OnBoardingNavigationActivity.startActivity(CallAppApplication.get(), true, null, null, null);
                AnalyticsManager.get().o(Constants.REGISTRATION, "StartOnboardingWithDefaultDialer");
            }
        }
    }
}