QR Scanner v2.8.7版本的 MD5 值为:9dcdcf654454b02f97d5fcd68f9f4629

以下内容为反编译后的 PhotoActivityImpl.java 源代码,内容仅作参考


package net.qrbot.ui.photo;

import a9.d;
import a9.h;
import android.content.ActivityNotFoundException;
import android.content.Context;
import android.content.Intent;
import android.graphics.Bitmap;
import android.graphics.Canvas;
import android.graphics.Paint;
import android.graphics.RectF;
import android.net.Uri;
import android.os.AsyncTask;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.MotionEvent;
import android.view.View;
import android.view.ViewTreeObserver;
import android.widget.TextView;
import com.github.appintro.BuildConfig;
import com.github.appintro.R;
import da.k;
import ea.l0;
import ea.q0;
import ea.w;
import ea.z;
import java.io.FileOutputStream;
import java.util.ArrayList;
import java.util.List;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import net.qrbot.MyApp;
import net.qrbot.provider.e;
import net.qrbot.ui.detail.DetailActivity;
import net.qrbot.ui.photo.PhotoActivityImpl;
import y9.f;
import y9.g;
public class PhotoActivityImpl extends f9.a {
    private PhotoCropImageView f12152q;
    private f f12153r;
    private TextView f12154s;
    private MenuItem f12155t;
    private final List<AsyncTask<?, ?, ?>> f12156u = new ArrayList();
    private final ExecutorService f12157v = Executors.newSingleThreadExecutor();
    private String f12158w;
    private Intent f12159x;

    public class a extends AsyncTask<Void, Void, f> {
        final String f12160a;
        final RectF f12161b;

        a(String str, RectF rectF) {
            this.f12160a = str;
            this.f12161b = rectF;
        }

        @Override
        public f doInBackground(Void... voidArr) {
            return PhotoActivityImpl.this.B(this.f12160a, this.f12161b);
        }

        @Override
        public void onPostExecute(f fVar) {
            PhotoActivityImpl.this.f12153r = fVar;
            if (fVar != null) {
                PhotoActivityImpl.this.f12154s.setText(PhotoActivityImpl.this.getString(R.string.message_code_of_certain_kind_detected, new Object[]{PhotoActivityImpl.this.getString(d.i(fVar.c(), fVar.f()).c())}));
            } else {
                PhotoActivityImpl.this.f12154s.setText(BuildConfig.FLAVOR);
            }
            if (PhotoActivityImpl.this.f12155t != null) {
                PhotoActivityImpl.this.f12155t.setVisible(fVar != null);
            }
        }
    }

    private void A() {
        for (AsyncTask<?, ?, ?> asyncTask : this.f12156u) {
            asyncTask.cancel(false);
        }
        this.f12156u.clear();
    }

    public f B(String str, RectF rectF) {
        g gVar = new g(getApplicationContext());
        try {
            int[] iArr = {2048, 1024, 512, 256};
            for (int i10 = 0; i10 < 4; i10++) {
                int i11 = iArr[i10];
                Bitmap b10 = l0.b(this, str, i11, i11, rectF);
                if (b10 == null) {
                    return null;
                }
                f a10 = gVar.a(b10);
                b10.recycle();
                if (a10 != null) {
                    return a10;
                }
            }
            return null;
        } finally {
            gVar.c();
        }
    }

    private Intent C() {
        Intent intent = getIntent();
        if (intent != null) {
            String action = intent.getAction();
            String type = intent.getType();
            if ("android.intent.action.SEND".equals(action) && type != null && type.startsWith("image/")) {
                return intent;
            }
            return null;
        }
        return null;
    }

    private void D() {
        f fVar = this.f12153r;
        if (fVar != null) {
            I(fVar);
        }
        finish();
    }

    public boolean E(View view, MotionEvent motionEvent) {
        if (motionEvent.getAction() == 1) {
            J(this.f12158w);
            return false;
        }
        return false;
    }

    public void F() {
        float width = this.f12152q.getWidth();
        float height = this.f12152q.getHeight();
        this.f12152q.setFrameRectViaReflection(new RectF(0.05f * width, 0.25f * height, width * 0.95f, height * 0.69f));
        K("demo-image", this.f12152q.getRelativeCropRect());
    }

    public static void G(Context context) {
        f9.a.o(context, PhotoActivityImpl.class);
    }

    private void H() {
        Intent intent = new Intent();
        intent.setAction("android.intent.action.GET_CONTENT");
        intent.setType("image/*");
        intent.addFlags(1);
        try {
            startActivityForResult(intent, 0);
        } catch (ActivityNotFoundException unused) {
            z.c(this, "com.google.android.apps.photos");
        }
    }

    private void I(f fVar) {
        h c10 = fVar.c();
        String f10 = fVar.f();
        String d10 = fVar.d();
        q0.a(this, c10, f10);
        boolean j10 = da.a.f9401v.j(this, false);
        Uri h10 = e.h(this, c10, f10, d10, false, j10);
        if (k.f9432t.o(this) == 1 && k.f9430r.j(this, 0L) == 0 && k.f9433u.j(this, 0L) == 0) {
            MyApp.d(this);
            MyApp.e(this);
        }
        if (j10) {
            return;
        }
        DetailActivity.w(this, h10, true, 0);
    }

    private void J(String str) {
        K(str, this.f12152q.getRelativeCropRect());
    }

    private void K(String str, RectF rectF) {
        A();
        a aVar = new a(str, rectF);
        this.f12156u.add(aVar);
        aVar.executeOnExecutor(this.f12157v, new Void[0]);
    }

    private void L() {
        try {
            Bitmap createBitmap = Bitmap.createBitmap(1500, 2000, Bitmap.Config.ARGB_8888);
            Canvas canvas = new Canvas(createBitmap);
            canvas.drawColor(-1);
            Paint paint = new Paint();
            paint.setColor(-16777216);
            canvas.drawBitmap(ea.h.a("QR Scanner", com.google.zxing.a.PDF_417, BuildConfig.FLAVOR, 1400), 50.0f, 50.0f, paint);
            canvas.drawBitmap(ea.h.a("QR Scanner - https://qrbot.net", com.google.zxing.a.DATA_MATRIX, BuildConfig.FLAVOR, 900), 300.0f, 490.0f, paint);
            canvas.drawBitmap(ea.h.a("QR Scanner", com.google.zxing.a.AZTEC, BuildConfig.FLAVOR, 500), 500.0f, 1450.0f, paint);
            FileOutputStream openFileOutput = openFileOutput("demo-image", 0);
            createBitmap.compress(Bitmap.CompressFormat.PNG, 100, openFileOutput);
            openFileOutput.close();
            this.f12152q.setPictureName("demo-image");
            this.f12152q.getViewTreeObserver().addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() {
                @Override
                public final void onGlobalLayout() {
                    PhotoActivityImpl.this.F();
                }
            });
        } catch (Exception e10) {
            throw new RuntimeException(e10);
        }
    }

    @Override
    public void onActivityResult(int i10, int i11, Intent intent) {
        super.onActivityResult(i10, i11, intent);
        if (i11 == -1 && intent != null) {
            String b10 = w.b(this, intent, "picture-scan");
            this.f12158w = b10;
            if (b10 == null && checkCallingOrSelfPermission("android.permission.READ_EXTERNAL_STORAGE") != 0) {
                this.f12159x = intent;
                requestPermissions(new String[]{"android.permission.READ_EXTERNAL_STORAGE"}, 1);
                return;
            }
        }
        String str = this.f12158w;
        if (str == null) {
            finish();
            return;
        }
        this.f12152q.setPictureName(str);
        this.f12152q.setOnTouchListener(new View.OnTouchListener() {
            @Override
            public final boolean onTouch(View view, MotionEvent motionEvent) {
                boolean E;
                E = PhotoActivityImpl.this.E(view, motionEvent);
                return E;
            }
        });
        J(this.f12158w);
    }

    @Override
    public void onCreate(Bundle bundle) {
        super.onCreate(bundle);
        setContentView(R.layout.activity_photo);
        androidx.appcompat.app.a supportActionBar = getSupportActionBar();
        if (supportActionBar != null) {
            supportActionBar.u(true);
        }
        this.f12152q = (PhotoCropImageView) findViewById(R.id.crop_image_view);
        this.f12154s = (TextView) findViewById(R.id.scan_result_text);
        Intent C = C();
        if (C != null) {
            onActivityResult(0, -1, C);
        } else if (l()) {
            L();
        } else {
            H();
        }
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        getMenuInflater().inflate(R.menu.menu_photo, menu);
        this.f12155t = menu.findItem(R.id.action_done);
        return true;
    }

    @Override
    public void onDestroy() {
        super.onDestroy();
        String str = this.f12158w;
        if (str != null) {
            deleteFile(str);
        }
    }

    @Override
    public boolean onOptionsItemSelected(MenuItem menuItem) {
        int itemId = menuItem.getItemId();
        if (itemId == 16908332) {
            onBackPressed();
            return true;
        } else if (itemId != R.id.action_done) {
            return super.onOptionsItemSelected(menuItem);
        } else {
            D();
            return true;
        }
    }

    @Override
    public void onPause() {
        super.onPause();
        A();
    }

    @Override
    public void onRequestPermissionsResult(int i10, String[] strArr, int[] iArr) {
        Intent intent = this.f12159x;
        this.f12159x = null;
        if (iArr.length > 0 && iArr[0] == 0) {
            onActivityResult(0, -1, intent);
        } else {
            finish();
        }
    }
}