导航菜单

页面标题

页面副标题

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

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

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


package com.pdf.reader.fileviewer.ui.activity;

import android.app.Activity;
import android.app.Application;
import android.content.Context;
import android.content.Intent;
import android.content.IntentSender;
import android.net.Uri;
import android.os.Bundle;
import android.util.Log;
import android.view.LayoutInflater;
import androidx.activity.result.ActivityResult;
import androidx.activity.result.ActivityResultCallback;
import androidx.activity.result.ActivityResultLauncher;
import androidx.activity.result.IntentSenderRequest;
import androidx.activity.result.contract.ActivityResultContract;
import androidx.activity.result.contract.ActivityResultContracts;
import androidx.core.os.BundleKt;
import androidx.lifecycle.ViewModelProvider;
import com.blankj.utilcode.util.TimeUtils;
import com.google.android.gms.tasks.OnFailureListener;
import com.google.android.gms.tasks.OnSuccessListener;
import com.google.android.gms.tasks.Task;
import com.google.mlkit.vision.documentscanner.GmsDocumentScannerOptions;
import com.google.mlkit.vision.documentscanner.GmsDocumentScanning;
import com.google.mlkit.vision.documentscanner.GmsDocumentScanningResult;
import com.pdf.reader.fileviewer.App;
import com.pdf.reader.fileviewer.ad.AdUtils;
import com.pdf.reader.fileviewer.base.BaseActivity;
import com.pdf.reader.fileviewer.databinding.ActivityCameraPreviewBinding;
import com.pdf.reader.fileviewer.modul.Document;
import com.pdf.reader.fileviewer.utils.CommonUtil;
import com.pdf.reader.fileviewer.utils.EventUtils;
import com.pdf.reader.fileviewer.viewmodel.DocumentViewModel;
import com.tom_roush.pdfbox.contentstream.operator.OperatorName;
import com.yandex.div.core.dagger.Names;
import java.io.File;
import java.util.Date;
import kotlin.Metadata;
import kotlin.Pair;
import kotlin.TuplesKt;
import kotlin.Unit;
import kotlin.jvm.functions.Function1;
import kotlin.jvm.internal.DefaultConstructorMarker;
import kotlin.jvm.internal.Intrinsics;

@Metadata(d1 = {"\u0000T\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\b\u0003\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0000\n\u0002\u0010\u000e\n\u0002\b\u0005\n\u0002\u0018\u0002\n\u0000\n\u0002\u0010\u0002\n\u0000\n\u0002\u0018\u0002\n\u0002\b\u0004\n\u0002\u0018\u0002\n\u0002\b\u0004\n\u0002\u0018\u0002\n\u0002\b\u0002\n\u0002\u0018\u0002\n\u0002\b\u0002\u0018\u0000 #2\b\u0012\u0004\u0012\u00020\u00020\u0001:\u0001#B\u0007¢\u0006\u0004\b\u0003\u0010\u0004J\u0010\u0010\u000f\u001a\u00020\u00022\u0006\u0010\u0010\u001a\u00020\u0011H\u0016J\u0012\u0010\u0012\u001a\u00020\u00132\b\u0010\u0014\u001a\u0004\u0018\u00010\u0015H\u0014J\b\u0010\u0016\u001a\u00020\u0013H\u0014J\b\u0010\u0017\u001a\u00020\u0013H\u0002J\u0010\u0010\u0018\u001a\u00020\u00132\u0006\u0010\u0019\u001a\u00020\u001aH\u0002J\u0012\u0010\u001b\u001a\u00020\u00132\b\u0010\u001c\u001a\u0004\u0018\u00010\u000bH\u0002J\u0018\u0010\u001d\u001a\u00020\u00132\u0006\u0010\u001e\u001a\u00020\u001f2\u0006\u0010 \u001a\u00020\u000bH\u0002J\b\u0010!\u001a\u00020\"H\u0002R\u000e\u0010\u0005\u001a\u00020\u0006X\u0082.¢\u0006\u0002\n\u0000R\u0014\u0010\u0007\u001a\b\u0012\u0004\u0012\u00020\t0\bX\u0082.¢\u0006\u0002\n\u0000R\u000e\u0010\n\u001a\u00020\u000bX\u0082D¢\u0006\u0002\n\u0000R\u000e\u0010\f\u001a\u00020\u000bX\u0082D¢\u0006\u0002\n\u0000R\u000e\u0010\r\u001a\u00020\u000bX\u0082D¢\u0006\u0002\n\u0000R\u000e\u0010\u000e\u001a\u00020\u000bX\u0082\u000e¢\u0006\u0002\n\u0000¨\u0006$"}, d2 = {"Lcom/pdf/reader/fileviewer/ui/activity/CameraPreviewActivity;", "Lcom/pdf/reader/fileviewer/base/BaseActivity;", "Lcom/pdf/reader/fileviewer/databinding/ActivityCameraPreviewBinding;", "<init>", "()V", "model", "Lcom/pdf/reader/fileviewer/viewmodel/DocumentViewModel;", "scannerLauncher", "Landroidx/activity/result/ActivityResultLauncher;", "Landroidx/activity/result/IntentSenderRequest;", "FULL_MODE", "", "BASE_MODE", "BASE_MODE_WITH_FILTER", "selectedMode", "initViewBinding", "layoutInflater", "Landroid/view/LayoutInflater;", "onCreate", "", "savedInstanceState", "Landroid/os/Bundle;", "onDestroy", "onScanButtonClicked", "handleActivityResult", "activityResult", "Landroidx/activity/result/ActivityResult;", "intentToReader", "uri2", "startReaderActivity", "document", "Lcom/pdf/reader/fileviewer/modul/Document;", "from", "createPdfFile", "Ljava/io/File;", "Companion", "com.pdf.reader.fileviewer-55_release"}, k = 1, mv = {2, 1, 0}, xi = 48)
public final class CameraPreviewActivity extends BaseActivity<ActivityCameraPreviewBinding> {

    public static final Companion INSTANCE = new Companion(null);
    private DocumentViewModel model;
    private ActivityResultLauncher<IntentSenderRequest> scannerLauncher;
    private final String FULL_MODE = "FULL";
    private final String BASE_MODE = "BASE";
    private final String BASE_MODE_WITH_FILTER = "BASE_WITH_FILTER";
    private String selectedMode = "FULL";

    @Metadata(d1 = {"\u0000\u001e\n\u0002\u0018\u0002\n\u0002\u0010\u0000\n\u0002\b\u0003\n\u0002\u0010\u0002\n\u0000\n\u0002\u0018\u0002\n\u0000\n\u0002\u0010\u000e\n\u0000\b\u0086\u0003\u0018\u00002\u00020\u0001B\t\b\u0002¢\u0006\u0004\b\u0002\u0010\u0003J\u0016\u0010\u0004\u001a\u00020\u00052\u0006\u0010\u0006\u001a\u00020\u00072\u0006\u0010\b\u001a\u00020\t¨\u0006\n"}, d2 = {"Lcom/pdf/reader/fileviewer/ui/activity/CameraPreviewActivity$Companion;", "", "<init>", "()V", "start", "", Names.CONTEXT, "Landroid/content/Context;", "from", "", "com.pdf.reader.fileviewer-55_release"}, k = 1, mv = {2, 1, 0}, xi = 48)
    public static final class Companion {
        public Companion(DefaultConstructorMarker defaultConstructorMarker) {
            this();
        }

        private Companion() {
        }

        public final void start(Context context, String from) {
            Intrinsics.checkNotNullParameter(context, Names.CONTEXT);
            Intrinsics.checkNotNullParameter(from, "from");
            Intent intent = new Intent(context, (Class<?>) CameraPreviewActivity.class);
            intent.putExtra("from", from);
            context.startActivity(intent);
        }
    }

    @Override
    public ActivityCameraPreviewBinding initViewBinding(LayoutInflater layoutInflater) {
        Intrinsics.checkNotNullParameter(layoutInflater, "layoutInflater");
        ActivityCameraPreviewBinding inflate = ActivityCameraPreviewBinding.inflate(layoutInflater);
        Intrinsics.checkNotNullExpressionValue(inflate, "inflate(...)");
        return inflate;
    }

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        AdUtils.INSTANCE.setCanShowOpenStopFromBackground(false);
        Context applicationContext = getApplicationContext();
        Intrinsics.checkNotNull(applicationContext, "null cannot be cast to non-null type com.pdf.reader.fileviewer.App");
        ViewModelProvider.AndroidViewModelFactory.Companion companion = ViewModelProvider.AndroidViewModelFactory.Companion;
        Application application = getApplication();
        Intrinsics.checkNotNullExpressionValue(application, "getApplication(...)");
        this.model = new ViewModelProvider((App) applicationContext, companion.getInstance(application)).get(DocumentViewModel.class);
        this.scannerLauncher = registerForActivityResult((ActivityResultContract) new ActivityResultContracts.StartIntentSenderForResult(), new ActivityResultCallback() {
            public final void onActivityResult(Object obj) {
                CameraPreviewActivity.onCreate$lambda$0(CameraPreviewActivity.this, (ActivityResult) obj);
            }
        });
        onScanButtonClicked();
        EventUtils.INSTANCE.log("cameraPageView", BundleKt.bundleOf(new Pair[]{TuplesKt.to("from", getIntent().getStringExtra("from"))}));
    }

    public static final void onCreate$lambda$0(CameraPreviewActivity cameraPreviewActivity, ActivityResult activityResult) {
        Intrinsics.checkNotNull(activityResult);
        cameraPreviewActivity.handleActivityResult(activityResult);
    }

    protected void onDestroy() {
        super.onDestroy();
        AdUtils.INSTANCE.setCanShowOpenStopFromBackground(true);
    }

    private final void onScanButtonClicked() {
        GmsDocumentScannerOptions.Builder galleryImportAllowed = new GmsDocumentScannerOptions.Builder().setScannerMode(3).setResultFormats(102, new int[0]).setGalleryImportAllowed(true);
        Intrinsics.checkNotNullExpressionValue(galleryImportAllowed, "setGalleryImportAllowed(...)");
        String str = this.selectedMode;
        if (Intrinsics.areEqual(str, this.FULL_MODE)) {
            Intrinsics.checkNotNullExpressionValue(galleryImportAllowed.setScannerMode(1), "setScannerMode(...)");
        } else if (Intrinsics.areEqual(str, this.BASE_MODE)) {
            Intrinsics.checkNotNullExpressionValue(galleryImportAllowed.setScannerMode(3), "setScannerMode(...)");
        } else if (Intrinsics.areEqual(str, this.BASE_MODE_WITH_FILTER)) {
            Intrinsics.checkNotNullExpressionValue(galleryImportAllowed.setScannerMode(2), "setScannerMode(...)");
        } else {
            Integer.valueOf(Log.e("TAG", "Unknown selectedMode: " + this.selectedMode));
        }
        galleryImportAllowed.setPageLimit(10);
        Task startScanIntent = GmsDocumentScanning.getClient(galleryImportAllowed.build()).getStartScanIntent((Activity) this);
        final Function1 function1 = new Function1() {
            public final Object invoke(Object obj) {
                Unit onScanButtonClicked$lambda$1;
                onScanButtonClicked$lambda$1 = CameraPreviewActivity.onScanButtonClicked$lambda$1(CameraPreviewActivity.this, (IntentSender) obj);
                return onScanButtonClicked$lambda$1;
            }
        };
        startScanIntent.addOnSuccessListener(new OnSuccessListener() {
            public final void onSuccess(Object obj) {
                function1.invoke(obj);
            }
        }).addOnFailureListener(new OnFailureListener() {
            public final void onFailure(Exception exc) {
                CameraPreviewActivity.onScanButtonClicked$lambda$3(CameraPreviewActivity.this, exc);
            }
        });
    }

    public static final Unit onScanButtonClicked$lambda$1(CameraPreviewActivity cameraPreviewActivity, IntentSender intentSender) {
        Intrinsics.checkNotNullParameter(intentSender, "intentSender");
        ActivityResultLauncher<IntentSenderRequest> activityResultLauncher = cameraPreviewActivity.scannerLauncher;
        if (activityResultLauncher == null) {
            Intrinsics.throwUninitializedPropertyAccessException("scannerLauncher");
            activityResultLauncher = null;
        }
        activityResultLauncher.launch(new IntentSenderRequest.Builder(intentSender).build());
        return Unit.INSTANCE;
    }

    public static final void onScanButtonClicked$lambda$3(CameraPreviewActivity cameraPreviewActivity, Exception exc) {
        Intrinsics.checkNotNullParameter(exc, "e");
        cameraPreviewActivity.finish();
    }

    private final void handleActivityResult(ActivityResult activityResult) {
        Uri uri;
        int resultCode = activityResult.getResultCode();
        GmsDocumentScanningResult fromActivityResultIntent = GmsDocumentScanningResult.fromActivityResultIntent(activityResult.getData());
        if (resultCode != -1 || fromActivityResultIntent == null) {
            if (resultCode == 0) {
                finish();
                return;
            } else {
                finish();
                return;
            }
        }
        GmsDocumentScanningResult.Pdf pdf = fromActivityResultIntent.getPdf();
        if (pdf == null || (uri = pdf.getUri()) == null) {
            return;
        }
        File file = new File(uri.getPath());
        File createPdfFile = createPdfFile();
        file.renameTo(createPdfFile);
        intentToReader(createPdfFile.getPath());
    }

    private final void intentToReader(String uri2) {
        if (uri2 == null) {
            finish();
            return;
        }
        try {
            DocumentViewModel documentViewModel = this.model;
            DocumentViewModel documentViewModel2 = null;
            if (documentViewModel == null) {
                Intrinsics.throwUninitializedPropertyAccessException("model");
                documentViewModel = null;
            }
            Document checkLike = documentViewModel.checkLike(uri2);
            if (checkLike == null) {
                File file = new File(uri2);
                if (file.exists()) {
                    DocumentViewModel documentViewModel3 = this.model;
                    if (documentViewModel3 == null) {
                        Intrinsics.throwUninitializedPropertyAccessException("model");
                        documentViewModel3 = null;
                    }
                    Document document = new Document();
                    document.setPath(file.getPath());
                    document.setTitle(file.getName());
                    document.setTimeCreate(file.lastModified());
                    document.setTimeAccess(file.lastModified());
                    document.setFavorite(false);
                    document.setLength(file.length());
                    document.setExist(true);
                    documentViewModel3.insertBG(document);
                }
                DocumentViewModel documentViewModel4 = this.model;
                if (documentViewModel4 == null) {
                    Intrinsics.throwUninitializedPropertyAccessException("model");
                } else {
                    documentViewModel2 = documentViewModel4;
                }
                checkLike = documentViewModel2.check(file.getPath());
            }
            if (checkLike != null) {
                startReaderActivity(checkLike, AdUtils.scan);
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
        finish();
    }

    private final void startReaderActivity(Document document, String from) {
        Intent intent = new Intent((Context) this, (Class<?>) OfferDetailActivity.class);
        intent.putExtra("FILE_PATH", document.getPath());
        intent.putExtra(OperatorName.BEGIN_INLINE_IMAGE_DATA, document.id);
        intent.putExtra("from", from);
        startActivity(intent);
        DocumentViewModel documentViewModel = this.model;
        if (documentViewModel == null) {
            Intrinsics.throwUninitializedPropertyAccessException("model");
            documentViewModel = null;
        }
        document.setRecent(true);
        documentViewModel.update(document);
    }

    private final File createPdfFile() {
        File scanDir = CommonUtil.INSTANCE.getScanDir();
        if (scanDir != null && !scanDir.exists()) {
            scanDir.mkdirs();
        }
        return new File(scanDir, "Scan_" + TimeUtils.date2String(new Date(System.currentTimeMillis()), "YYYYMMDD") + "_" + TimeUtils.date2String(new Date(System.currentTimeMillis()), "HHMMSS") + ".pdf");
    }
}