导航菜单

页面标题

页面副标题

万能钥匙 v1.1.23 - IntentIntegrator.java 源代码

正在查看: 万能钥匙 v1.1.23 应用的 IntentIntegrator.java JAVA 源代码文件

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


package com.finogeeks.lib.applet.modules.barcode.zxing.integration.android;

import android.app.Activity;
import android.app.Fragment;
import android.content.Intent;
import android.os.Bundle;
import com.finogeeks.lib.applet.main.IntentsKt;
import com.finogeeks.lib.applet.modules.barcode.CaptureActivity;
import java.util.Arrays;
import java.util.Collection;
import java.util.Collections;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

public class IntentIntegrator {
    public static final String DATA_MATRIX = "DATA_MATRIX";
    public static final String PDF_417 = "PDF_417";
    public static final String QR_CODE = "QR_CODE";
    public static final int REQUEST_CODE = 49374;
    private static final String TAG = "IntentIntegrator";
    private final Activity activity;
    private Class<?> captureActivity;
    private Collection<String> desiredBarcodeFormats;
    private Fragment fragment;
    private final Map<String, Object> moreExtras = new HashMap(3);
    private int requestCode = REQUEST_CODE;
    private androidx.fragment.app.Fragment supportFragment;
    public static final String UPC_A = "UPC_A";
    public static final String UPC_E = "UPC_E";
    public static final String EAN_8 = "EAN_8";
    public static final String EAN_13 = "EAN_13";
    public static final String RSS_14 = "RSS_14";
    public static final String AZTEC = "AZTEC";
    public static final String CODABAR = "CODABAR";
    public static final String MAXICODE = "MAXICODE";
    public static final String UPC_EAN_EXTENSION = "UPC_EAN_EXTENSION";
    public static final String CODE_39 = "CODE_39";
    public static final String CODE_93 = "CODE_93";
    public static final String CODE_128 = "CODE_128";
    public static final String ITF = "ITF";
    public static final String RSS_EXPANDED = "RSS_EXPANDED";
    public static final Collection<String> BAR_CODE_TYPES = list(UPC_A, UPC_E, EAN_8, EAN_13, RSS_14, AZTEC, CODABAR, MAXICODE, UPC_EAN_EXTENSION, CODE_39, CODE_93, CODE_128, ITF, RSS_EXPANDED);
    public static final Collection<String> PRODUCT_CODE_TYPES = list(UPC_A, UPC_E, EAN_8, EAN_13, RSS_14);
    public static final Collection<String> ONE_D_CODE_TYPES = list(UPC_A, UPC_E, EAN_8, EAN_13, RSS_14, CODE_39, CODE_93, CODE_128, ITF, RSS_14, RSS_EXPANDED);
    public static final Collection<String> ALL_CODE_TYPES = null;

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

    private void attachMoreExtras(Intent intent) {
        for (Map.Entry<String, Object> entry : this.moreExtras.entrySet()) {
            String key = entry.getKey();
            Object value = entry.getValue();
            if (value instanceof Integer) {
                intent.putExtra(key, (Integer) value);
            } else if (value instanceof Long) {
                intent.putExtra(key, (Long) value);
            } else if (value instanceof Boolean) {
                intent.putExtra(key, (Boolean) value);
            } else if (value instanceof Double) {
                intent.putExtra(key, (Double) value);
            } else if (value instanceof Float) {
                intent.putExtra(key, (Float) value);
            } else if (value instanceof Bundle) {
                intent.putExtra(key, (Bundle) value);
            } else if (value instanceof int[]) {
                intent.putExtra(key, (int[]) value);
            } else if (value instanceof long[]) {
                intent.putExtra(key, (long[]) value);
            } else if (value instanceof boolean[]) {
                intent.putExtra(key, (boolean[]) value);
            } else if (value instanceof double[]) {
                intent.putExtra(key, (double[]) value);
            } else if (value instanceof float[]) {
                intent.putExtra(key, (float[]) value);
            } else if (value instanceof String[]) {
                intent.putExtra(key, (String[]) value);
            } else {
                intent.putExtra(key, value.toString());
            }
        }
    }

    public static IntentIntegrator forFragment(Fragment fragment) {
        IntentIntegrator intentIntegrator = new IntentIntegrator(fragment.getActivity());
        intentIntegrator.fragment = fragment;
        return intentIntegrator;
    }

    public static IntentIntegrator forSupportFragment(androidx.fragment.app.Fragment fragment) {
        IntentIntegrator intentIntegrator = new IntentIntegrator(fragment.getActivity());
        intentIntegrator.supportFragment = fragment;
        return intentIntegrator;
    }

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

    public final IntentIntegrator addExtra(String str, Object obj) {
        this.moreExtras.put(str, obj);
        return this;
    }

    public Intent createScanIntent() {
        return createScanIntent(null);
    }

    public Intent createScanIntent(String str) {
        Intent intent = new Intent(this.activity, getCaptureActivity());
        intent.setAction("com.google.zxing.client.android.SCAN");
        if (str != null) {
            intent.putExtra(IntentsKt.EXTRA_APP_ID, str);
        }
        if (this.desiredBarcodeFormats != null) {
            StringBuilder sb = new StringBuilder();
            for (String str2 : this.desiredBarcodeFormats) {
                if (sb.length() > 0) {
                    sb.append(',');
                }
                sb.append(str2);
            }
            intent.putExtra("SCAN_FORMATS", sb.toString());
        }
        attachMoreExtras(intent);
        return intent;
    }

    public Class<?> getCaptureActivity() {
        if (this.captureActivity == null) {
            this.captureActivity = getDefaultCaptureActivity();
        }
        return this.captureActivity;
    }

    public Class<?> getDefaultCaptureActivity() {
        return CaptureActivity.class;
    }

    public Map<String, ?> getMoreExtras() {
        return this.moreExtras;
    }

    public final void initiateScan() {
        startActivityForResult(createScanIntent(), this.requestCode);
    }

    public final void initiateScan(Collection<String> collection) {
        setDesiredBarcodeFormats(collection);
        initiateScan();
    }

    public IntentIntegrator setBarcodeImageEnabled(boolean z10) {
        addExtra("BARCODE_IMAGE_ENABLED", Boolean.valueOf(z10));
        return this;
    }

    public IntentIntegrator setBeepEnabled(boolean z10) {
        addExtra("BEEP_ENABLED", Boolean.valueOf(z10));
        return this;
    }

    public IntentIntegrator setCameraId(int i) {
        if (i >= 0) {
            addExtra("SCAN_CAMERA_ID", Integer.valueOf(i));
        }
        return this;
    }

    public IntentIntegrator setCaptureActivity(Class<?> cls) {
        this.captureActivity = cls;
        return this;
    }

    public IntentIntegrator setDesiredBarcodeFormats(Collection<String> collection) {
        this.desiredBarcodeFormats = collection;
        return this;
    }

    public IntentIntegrator setDesiredBarcodeFormats(String... strArr) {
        this.desiredBarcodeFormats = Arrays.asList(strArr);
        return this;
    }

    public IntentIntegrator setOnlyFromCamera(boolean z10) {
        addExtra("onlyFromCamera", Boolean.valueOf(z10));
        return this;
    }

    public IntentIntegrator setOrientationLocked(boolean z10) {
        addExtra("SCAN_ORIENTATION_LOCKED", Boolean.valueOf(z10));
        return this;
    }

    public IntentIntegrator setRequestCode(int i) {
        if (i <= 0 || i > 65535) {
            throw new IllegalArgumentException("requestCode out of range");
        }
        this.requestCode = i;
        return this;
    }

    public IntentIntegrator setScanType(int i) {
        addExtra("SCAN_TYPE", Integer.valueOf(i));
        return this;
    }

    public IntentIntegrator setTimeout(long j) {
        addExtra("TIMEOUT", Long.valueOf(j));
        return this;
    }

    public IntentIntegrator setTorchEnabled(boolean z10) {
        addExtra("TORCH_ENABLED", Boolean.valueOf(z10));
        return this;
    }

    public void startActivity(Intent intent) {
        Fragment fragment = this.fragment;
        if (fragment != null) {
            fragment.startActivity(intent);
            return;
        }
        androidx.fragment.app.Fragment fragment2 = this.supportFragment;
        if (fragment2 != null) {
            fragment2.startActivity(intent);
        } else {
            this.activity.startActivity(intent);
        }
    }

    public void startActivityForResult(Intent intent, int i) {
        Fragment fragment = this.fragment;
        if (fragment != null) {
            fragment.startActivityForResult(intent, i);
            return;
        }
        androidx.fragment.app.Fragment fragment2 = this.supportFragment;
        if (fragment2 != null) {
            fragment2.startActivityForResult(intent, i);
        } else {
            this.activity.startActivityForResult(intent, i);
        }
    }
}