导航菜单

页面标题

页面副标题

Zepto v25.1.4 - VerificationClient.java 源代码

正在查看: Zepto v25.1.4 应用的 VerificationClient.java JAVA 源代码文件

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


package com.truecaller.android.sdk.legacy.clients;

import android.content.Context;
import android.os.Build;
import android.os.Handler;
import android.os.Process;
import android.provider.Settings;
import android.telephony.TelephonyManager;
import androidx.annotation.RestrictTo;
import com.truecaller.android.sdk.R;
import com.truecaller.android.sdk.common.VerificationRequestManager;
import com.truecaller.android.sdk.common.VerificationRequestManagerImpl;
import com.truecaller.android.sdk.common.callVerification.CallRejector;
import com.truecaller.android.sdk.common.callVerification.CallRejectorLegacyImpl;
import com.truecaller.android.sdk.common.callVerification.CallRejectorPieImpl;
import com.truecaller.android.sdk.common.callVerification.IncomingCallListener;
import com.truecaller.android.sdk.common.callbacks.MissedCallInstallationCallback;
import com.truecaller.android.sdk.common.network.ProfileService;
import com.truecaller.android.sdk.common.network.RestAdapter;
import com.truecaller.android.sdk.common.network.VerificationService;
import com.truecaller.android.sdk.common.otpVerification.SmsRetrieverClientHandler;
import com.truecaller.android.sdk.legacy.ITrueCallback;

@RestrictTo
public final class VerificationClient extends TcClient implements VerificationRequestManager.Client {

    public final VerificationRequestManagerImpl f2841h;

    public final CallRejector f2842i;

    public final boolean f2843j;

    public IncomingCallListener f2844k;

    public Handler f2845l;

    public VerificationClient(Context context, String str, ITrueCallback iTrueCallback, boolean z) {
        super(context, str, iTrueCallback, 2);
        this.f2843j = z;
        String string = context.getString(R.string.sdk_variant);
        String string2 = context.getString(R.string.sdk_variant_version);
        this.f2841h = new VerificationRequestManagerImpl(this, (ProfileService) RestAdapter.a("https://outline.truecaller.com/v1/", ProfileService.class, string, string2), (VerificationService) RestAdapter.a("https://sdk-otp-verification-noneu.truecaller.com/v3/otp/installation/", VerificationService.class, string, string2), iTrueCallback, new SmsRetrieverClientHandler(context));
        this.f2842i = Build.VERSION.SDK_INT >= 28 ? new CallRejectorPieImpl(context) : new CallRejectorLegacyImpl(context);
    }

    @Override
    public final void a() {
        this.f2842i.a();
    }

    @Override
    public final boolean b() {
        return Settings.Global.getInt(this.a.getContentResolver(), "airplane_mode_on", 0) == 0;
    }

    @Override
    public final void c(MissedCallInstallationCallback missedCallInstallationCallback) {
        TelephonyManager telephonyManager = (TelephonyManager) this.a.getSystemService("phone");
        IncomingCallListener incomingCallListener = new IncomingCallListener(missedCallInstallationCallback);
        this.f2844k = incomingCallListener;
        telephonyManager.listen(incomingCallListener, 32);
    }

    @Override
    public final boolean d() {
        if (g("android.permission.READ_PHONE_STATE") && g("android.permission.READ_CALL_LOG")) {
            if (Build.VERSION.SDK_INT < 26 ? g("android.permission.CALL_PHONE") : g("android.permission.ANSWER_PHONE_CALLS")) {
                return true;
            }
        }
        return false;
    }

    @Override
    public final int e() {
        TelephonyManager telephonyManager = (TelephonyManager) this.a.getSystemService("phone");
        if (telephonyManager == null) {
            return 0;
        }
        return telephonyManager.getSimState();
    }

    @Override
    public final void f() {
        ((TelephonyManager) this.a.getSystemService("phone")).listen(this.f2844k, 0);
    }

    public final boolean g(String str) {
        return this.a.checkPermission(str, Process.myPid(), Process.myUid()) == 0;
    }

    @Override
    public final Handler getHandler() {
        if (this.f2845l == null) {
            this.f2845l = new Handler();
        }
        return this.f2845l;
    }
}