导航菜单

页面标题

页面副标题

Clean Center v0.5.5 - GmsDocumentScanningDelegateActivity.java 源代码

正在查看: Clean Center v0.5.5 应用的 GmsDocumentScanningDelegateActivity.java JAVA 源代码文件

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


package com.google.mlkit.vision.documentscanner.internal;

import android.content.Context;
import android.content.Intent;
import android.content.pm.ApplicationInfo;
import android.os.Bundle;
import android.os.SystemClock;
import android.util.Log;
import androidx.activity.ComponentActivity;
import androidx.activity.result.ActivityResult;
import androidx.activity.result.ActivityResultCallback;
import androidx.activity.result.ActivityResultLauncher;
import androidx.activity.result.contract.ActivityResultContracts;
import com.google.android.gms.internal.mlkit_vision_document_scanner.zzlq;
import com.google.android.gms.internal.mlkit_vision_document_scanner.zzmk;
import com.google.android.gms.internal.mlkit_vision_document_scanner.zzml;
import com.google.android.gms.internal.mlkit_vision_document_scanner.zzmm;
import com.google.android.gms.internal.mlkit_vision_document_scanner.zznu;
import com.google.android.gms.internal.mlkit_vision_document_scanner.zzrk;
import com.google.android.gms.internal.mlkit_vision_document_scanner.zzrm;
import com.google.android.gms.internal.mlkit_vision_document_scanner.zzrn;
import com.google.android.gms.internal.mlkit_vision_document_scanner.zzrv;
import com.google.android.gms.tasks.OnFailureListener;
import com.google.android.gms.tasks.OnSuccessListener;
import com.google.mlkit.common.sdkinternal.MlKitContext;
import com.google.mlkit.vision.documentscanner.GmsDocumentScanningResult;
import java.util.List;

public class GmsDocumentScanningDelegateActivity extends ComponentActivity {
    private final zzrk zza = zzrv.zzb("play-services-mlkit-document-scanner");
    private final zzrm zzb = zzrm.zza(MlKitContext.getInstance().getApplicationContext());
    private zzlq zzc;
    private long zzd;
    private long zze;

    static Intent zza(Context context, Intent intent) {
        Intent action = new Intent().setPackage("com.google.android.gms").setAction("com.google.android.gms.mlkit.ACTION_SCAN_DOCUMENT");
        ApplicationInfo applicationInfo = context.getApplicationInfo();
        int i = applicationInfo.labelRes;
        return action.putExtra("string_extra_calling_app_name", i != 0 ? context.getString(i) : context.getPackageManager().getApplicationLabel(applicationInfo).toString()).putExtras(intent).setFlags(1);
    }

    private final void zzd() {
        setResult(0);
        zze(zzmk.CANCELLED, 0);
        finish();
    }

    private final void zze(zzmk zzmkVar, int i) {
        long elapsedRealtime = SystemClock.elapsedRealtime();
        long currentTimeMillis = System.currentTimeMillis();
        zzmm zzmmVar = new zzmm();
        zznu zznuVar = new zznu();
        zznuVar.zzc(Long.valueOf(elapsedRealtime - this.zzd));
        zznuVar.zzd(zzmkVar);
        zznuVar.zze(this.zzc);
        zznuVar.zzf(Integer.valueOf(i));
        zzmmVar.zzd(zznuVar.zzg());
        this.zza.zzc(zzrn.zze(zzmmVar), zzml.ON_DEVICE_DOCUMENT_SCANNER_UI_FINISH);
        this.zzb.zzc(24335, zzmkVar.zza(), this.zze, currentTimeMillis);
    }

    protected final void onCreate(Bundle bundle) {
        super.onCreate(bundle);
        this.zzc = zzf.zza(getIntent());
        ActivityResultLauncher registerForActivityResult = registerForActivityResult(new ActivityResultContracts.StartActivityForResult(), new ActivityResultCallback() {
            public final void onActivityResult(Object obj) {
                final GmsDocumentScanningDelegateActivity gmsDocumentScanningDelegateActivity = GmsDocumentScanningDelegateActivity.this;
                ActivityResult activityResult = (ActivityResult) obj;
                zzh.zzc(gmsDocumentScanningDelegateActivity.getApplicationContext()).zzb(activityResult.getResultCode(), activityResult.getData()).addOnSuccessListener(new OnSuccessListener() {
                    @Override
                    public final void onSuccess(Object obj2) {
                        GmsDocumentScanningDelegateActivity.this.zzb((GmsDocumentScanningResult) obj2);
                    }
                }).addOnFailureListener(new OnFailureListener() {
                    @Override
                    public final void onFailure(Exception exc) {
                        GmsDocumentScanningDelegateActivity.this.zzc(exc);
                    }
                });
            }
        });
        if (bundle != null) {
            this.zzd = bundle.getLong("elapsedStartTimeMsKey");
            this.zze = bundle.getLong("epochStartTimeMsKey");
            return;
        }
        this.zzd = SystemClock.elapsedRealtime();
        this.zze = System.currentTimeMillis();
        zzrk zzrkVar = this.zza;
        zzmm zzmmVar = new zzmm();
        zznu zznuVar = new zznu();
        zznuVar.zze(this.zzc);
        zzmmVar.zze(zznuVar.zzg());
        zzrkVar.zzc(zzrn.zze(zzmmVar), zzml.ON_DEVICE_DOCUMENT_SCANNER_UI_START);
        registerForActivityResult.launch(zza(this, getIntent()));
    }

    protected final void onSaveInstanceState(Bundle bundle) {
        super.onSaveInstanceState(bundle);
        bundle.putLong("elapsedStartTimeMsKey", this.zzd);
        bundle.putLong("epochStartTimeMsKey", this.zze);
    }

    final void zzb(GmsDocumentScanningResult gmsDocumentScanningResult) {
        if (gmsDocumentScanningResult == null) {
            zzd();
            return;
        }
        Intent intent = new Intent();
        intent.putExtra("extra_scanning_result", gmsDocumentScanningResult);
        setResult(-1, intent);
        List<GmsDocumentScanningResult.Page> pages = gmsDocumentScanningResult.getPages();
        GmsDocumentScanningResult.Pdf pdf = gmsDocumentScanningResult.getPdf();
        zze(zzmk.NO_ERROR, pages != null ? pages.size() : pdf != null ? pdf.getPageCount() : 0);
        finish();
    }

    final void zzc(Exception exc) {
        if (Log.isLoggable("GmsDocScanDelAct", 6)) {
            Log.e("GmsDocScanDelAct", "Failed to handle scanning result", exc);
        }
        zzd();
    }
}