导航菜单

页面标题

页面副标题

xDrip+ v04633772025.07.16 - AndroidBarcode.java 源代码

正在查看: xDrip+ v04633772025.07.16 应用的 AndroidBarcode.java JAVA 源代码文件

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


package com.eveningoutpost.dexdrip.utils;

import android.app.Activity;
import android.os.Bundle;
import androidx.appcompat.app.AppCompatActivity;
import androidx.core.app.ActivityCompat;
import androidx.core.content.ContextCompat;
import com.eveningoutpost.dexdrip.importedlibraries.usbserial.driver.UsbId;
import com.eveningoutpost.dexdrip.models.JoH;
import com.eveningoutpost.dexdrip.xdrip;
import com.google.zxing.integration.android.IntentIntegrator;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;

public class AndroidBarcode extends AppCompatActivity {
    private static Object returnTo;
    private Activity activity;

    public AndroidBarcode(Activity activity) {
        this.activity = activity;
    }

    public AndroidBarcode() {
    }

    @Override
    protected void onCreate(Bundle bundle) {
        this.activity = (Activity) returnTo;
        returnTo = null;
        super.onCreate(bundle);
        requestPermission();
    }

    @Override
    public void onRequestPermissionsResult(int i, String[] strArr, int[] iArr) {
        if (i == 1003) {
            if (iArr.length > 0 && iArr[0] == 0) {
                actuallyStartScan();
            } else {
                JoH.static_toast_long(xdrip.gs(2131757047));
            }
        }
        try {
            finish();
        } catch (Exception unused) {
        }
    }

    private void actuallyStartScan() {
        new IntentIntegrator(this.activity).setPrompt(xdrip.gs(2131756232)).setDesiredBarcodeFormats(list("QR_CODE", "CODE_128")).initiateScan();
    }

    private static List<String> list(String... strArr) {
        return Collections.unmodifiableList(Arrays.asList(strArr));
    }

    private void requestPermission() {
        ActivityCompat.requestPermissions(this, new String[]{"android.permission.CAMERA"}, UsbId.VENDOR_ATMEL);
    }

    public void scan() {
        if (ContextCompat.checkSelfPermission(this.activity.getApplicationContext(), "android.permission.CAMERA") != 0) {
            try {
                requestPermission();
                return;
            } catch (NullPointerException unused) {
                returnTo = this.activity;
                JoH.startActivity(AndroidBarcode.class);
                return;
            }
        }
        actuallyStartScan();
    }
}