QRCodeScanActivity.java 源代码


package zbar;

import account.bean.BindDevBean;
import account.bean.EmptyBean;
import account.bean.LoginUserInfo;
import activity.addCamera.AddAndConfigWiFiActivity;
import activity.addCamera.AddCameraActivity;
import activity.addCamera.AddNewDeviceActivity;
import activity.addCamera.LANSearchCameraActivity;
import activity.addCamera.SoundWavesWiFiOneKeySetActivity;
import activity.cloud.api.UserApiFactory;
import activity.cloud.re.MyCallBack;
import activity.cloud.utils.DateUtils;
import android.content.Intent;
import android.os.Bundle;
import android.os.CountDownTimer;
import android.os.Handler;
import android.os.Message;
import android.text.TextUtils;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.LinearLayout;
import android.widget.RelativeLayout;
import android.widget.TextView;
import android.widget.Toast;
import base.HiActivity;
import bean.MyCamera;
import bean.RFDevice;
import cn.bingoogolapple.qrcode.core.QRCodeView;
import cn.bingoogolapple.qrcode.core.ScanBoxView;
import cn.bingoogolapple.qrcode.zbar.ZBarView;
import com.hichip.callback.ICameraIOSessionCallback;
import com.hichip.campro.R;
import com.hichip.content.HiChipDefines;
import com.hichip.control.HiCamera;
import com.hichip.sdk.HiChipSDK;
import com.hichip.tools.HiSearchSDK;
import com.meizu.cloud.pushsdk.constants.PushConstants;
import com.xiaomi.mipush.sdk.Constants;
import common.Constant;
import common.HiDataValue;
import common.TitleView;
import custom.dialog.NiftyDialogBuilder;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.Iterator;
import java.util.List;
import java.util.Locale;
import java.util.Random;
import liteos.addCamera.OSAddCameraActivity;
import main.MainActivity;
import main.NVR.adapter.NVRListBean;
import org.greenrobot.eventbus.EventBus;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
import utils.DialogUtilsCamHiPro;
import utils.HiLogcatUtil;
import utils.HiTools;
import utils.MD5Utils;
import utils.MyToast;
import utils.SharePreUtils;
import utils.TimeUtil;

public class QRCodeScanActivity extends HiActivity implements QRCodeView.Delegate, View.OnClickListener, ICameraIOSessionCallback {
    public static boolean CHOOSE_QRCODE = false;
    private static final int MY_PERMISSION_REQUEST_CODE = 10047;
    private Button but_other;
    private String[] code_arr;
    LinearLayout ll_hint;
    private NiftyDialogBuilder mDialog;
    private MyCamera mMyCamera;
    private String mUid;
    private String scan_uid;
    private HiSearchSDK searchSDK;
    private CountDownTimer timer;
    TitleView title;
    TextView tv_album;
    TextView tv_hint_1;
    TextView tv_hint_2;
    ZBarView zbarview;
    private int category = 0;
    private ArrayList<RFDevice> list_rf_info = new ArrayList<>();
    private ArrayList<RFDevice> list_rf_device_key = new ArrayList<>();
    private ArrayList<MyCamera> mAnalyCameraList = new ArrayList<>();
    private StringBuffer sbAddCamerUid = new StringBuffer();
    private List<HiChipDefines.HI_P2P_IPCRF_INFO> list_IPCRF = new ArrayList();
    private int num = 0;
    private List<Integer> list_index = new ArrayList();
    private boolean activityIsActive = true;
    private SimpleDateFormat sdf = new SimpleDateFormat(TimeUtil.FORMAT_DATE_TIME_FULL, Locale.getDefault());
    private Handler mHandler = new Handler() {
        @Override
        public void handleMessage(Message message) {
            HiSearchSDK.HiSearchResult hiSearchResult;
            int i = message.what;
            if (i != -1879048189) {
                if (i == -1879048187 && (hiSearchResult = (HiSearchSDK.HiSearchResult) message.obj) != null && !TextUtils.isEmpty(QRCodeScanActivity.this.scan_uid) && QRCodeScanActivity.this.scan_uid.equals(hiSearchResult.uid)) {
                    QRCodeScanActivity.this.dismissLoadDialog();
                    Bundle bundle = new Bundle();
                    bundle.putString(HiDataValue.EXTRAS_KEY_UID, QRCodeScanActivity.this.scan_uid);
                    Intent intent = new Intent();
                    intent.putExtras(bundle);
                    intent.setClass(QRCodeScanActivity.this, AddCameraActivity.class);
                    QRCodeScanActivity.this.startActivity(intent);
                    return;
                }
                return;
            }
            if (message.arg2 == 0) {
                byte[] byteArray = message.getData().getByteArray("data");
                int i2 = message.arg1;
                if (i2 == 16722) {
                    QRCodeScanActivity.access$708(QRCodeScanActivity.this);
                    if (QRCodeScanActivity.this.num == QRCodeScanActivity.this.code_arr.length) {
                        QRCodeScanActivity qRCodeScanActivity = QRCodeScanActivity.this;
                        MyToast.showToast(qRCodeScanActivity, qRCodeScanActivity.getString(R.string.add_success));
                        QRCodeScanActivity.this.finish();
                        return;
                    }
                    return;
                }
                if (i2 != 16723) {
                    return;
                }
                HiChipDefines.HI_P2P_IPCRF_ALL_INFO hi_p2p_ipcrf_all_info = new HiChipDefines.HI_P2P_IPCRF_ALL_INFO(byteArray);
                for (int i3 = 0; i3 < hi_p2p_ipcrf_all_info.sRfInfo.length; i3++) {
                    QRCodeScanActivity.this.list_IPCRF.add(hi_p2p_ipcrf_all_info.sRfInfo[i3]);
                }
                if (hi_p2p_ipcrf_all_info.u32Flag != 1 || QRCodeScanActivity.this.code_arr.length <= 1) {
                    return;
                }
                for (int i4 = 0; i4 < QRCodeScanActivity.this.list_IPCRF.size(); i4++) {
                    String trim = new String(((HiChipDefines.HI_P2P_IPCRF_INFO) QRCodeScanActivity.this.list_IPCRF.get(i4)).sRfCode).trim();
                    if (TextUtils.isEmpty(trim) || trim.length() < 10) {
                        if (QRCodeScanActivity.this.list_index.size() >= 5) {
                            break;
                        } else {
                            QRCodeScanActivity.this.list_index.add(Integer.valueOf(((HiChipDefines.HI_P2P_IPCRF_INFO) QRCodeScanActivity.this.list_IPCRF.get(i4)).u32Index));
                        }
                    }
                }
                if (QRCodeScanActivity.this.list_index.size() >= 4) {
                    for (int i5 = 0; i5 < QRCodeScanActivity.this.code_arr.length; i5++) {
                        String str = QRCodeScanActivity.this.code_arr[i5];
                        String substring = str.substring(2);
                        QRCodeScanActivity qRCodeScanActivity2 = QRCodeScanActivity.this;
                        qRCodeScanActivity2.handIndexAndAdd(((Integer) qRCodeScanActivity2.list_index.get(i5)).intValue(), QRCodeScanActivity.this.handCateType(str), (byte) 0, QRCodeScanActivity.this.handCate(str), substring);
                    }
                    return;
                }
                MyToast.showToast(QRCodeScanActivity.this, "已到达RF设备添加的上限,如果想继续添加,请删除之前添加的设备!");
                return;
            }
            int i6 = message.arg1;
            if (i6 == 16722 || i6 == 16723) {
                QRCodeScanActivity qRCodeScanActivity3 = QRCodeScanActivity.this;
                MyToast.showToast(qRCodeScanActivity3, qRCodeScanActivity3.getString(R.string.toast_scan_fail));
                QRCodeScanActivity.this.finish();
            }
        }
    };

    @Override
    public void onCameraAmbientBrightnessChanged(boolean z) {
    }

    @Override
    public void receiveSessionState(HiCamera hiCamera, int i) {
    }

    @Override
    protected int setLayoutId() {
        return R.layout.activity_qrcode_scan;
    }

    static int access$708(QRCodeScanActivity qRCodeScanActivity) {
        int i = qRCodeScanActivity.num;
        qRCodeScanActivity.num = i + 1;
        return i;
    }

    @Override
    public void onStart() {
        super.onStart();
        this.activityIsActive = true;
        this.zbarview.startCamera();
        this.zbarview.startSpotAndShowRect();
    }

    @Override
    protected void onRestart() {
        super.onRestart();
        this.activityIsActive = true;
        this.zbarview.startCamera();
        MyCamera myCamera = this.mMyCamera;
        if (myCamera != null) {
            myCamera.registerIOSessionListener(this);
        }
    }

    @Override
    public void onResume() {
        super.onResume();
        this.activityIsActive = true;
    }

    @Override
    public void onPause() {
        super.onPause();
        this.activityIsActive = false;
        MyCamera myCamera = this.mMyCamera;
        if (myCamera != null) {
            myCamera.unregisterIOSessionListener(this);
        }
        HiSearchSDK hiSearchSDK = this.searchSDK;
        if (hiSearchSDK != null) {
            hiSearchSDK.stop();
        }
        CountDownTimer countDownTimer = this.timer;
        if (countDownTimer != null) {
            countDownTimer.cancel();
            this.timer = null;
        }
    }

    @Override
    public void onStop() {
        this.zbarview.stopCamera();
        super.onStop();
    }

    @Override
    public void onDestroy() {
        this.zbarview.onDestroy();
        NiftyDialogBuilder niftyDialogBuilder = this.mDialog;
        if (niftyDialogBuilder != null && niftyDialogBuilder.isShowing()) {
            this.mDialog.dismiss();
        }
        super.onDestroy();
    }

    @Override
    protected void init(Bundle bundle) {
        this.zbarview.setDelegate(this);
        getIntentData();
        initTopView();
        initView();
        setListeners();
    }

    private void getIntentData() {
        this.category = getIntent().getIntExtra("category", 0);
        this.list_rf_info = (ArrayList) getIntent().getSerializableExtra("list_rf_info");
        this.list_rf_device_key = (ArrayList) getIntent().getSerializableExtra("list_rf_device_key");
        this.mUid = getIntent().getStringExtra(HiDataValue.EXTRAS_KEY_UID);
        for (MyCamera myCamera : HiDataValue.CameraList) {
            if (!TextUtils.isEmpty(this.mUid) && this.mUid.equalsIgnoreCase(myCamera.getUid())) {
                this.mMyCamera = myCamera;
                return;
            }
        }
    }

    private void initTopView() {
        this.title.setTitle(getString(R.string.title_scan_qrcode));
        this.title.setButton(0);
        this.title.setRightTxtBack(R.mipmap.x_bule);
        this.title.setNavigationBarButtonListener(new TitleView.NavigationBarButtonListener() {
            @Override
            public void OnNavigationButtonClick(int i) {
                if (i == 0) {
                    QRCodeScanActivity.this.finish();
                    return;
                }
                if (i != 2) {
                    return;
                }
                if (QRCodeScanActivity.this.category == 999) {
                    QRCodeScanActivity.this.finish();
                } else {
                    QRCodeScanActivity.this.startActivity(new Intent(QRCodeScanActivity.this, (Class<?>) MainActivity.class), true);
                }
            }
        });
    }

    private void initView() {
        Button button = (Button) findViewById(R.id.but_other);
        this.but_other = button;
        button.setVisibility(this.category != 0 ? 0 : 8);
        this.tv_hint_2.setVisibility(this.category != 0 ? 0 : 8);
        int i = this.category;
        if (i != 1 && i != 2) {
            if (i == 4) {
                this.tv_album.setVisibility(8);
            } else if (i == 5) {
                this.but_other.setText(getString(R.string.jump_over));
                this.tv_album.setVisibility(8);
                this.tv_hint_2.setText(getString(R.string.not_code_jump));
            } else if (i == 3) {
                this.but_other.setVisibility(8);
                this.tv_hint_2.setVisibility(8);
            } else if (i == 8) {
                this.but_other.setVisibility(8);
                this.tv_hint_2.setVisibility(8);
                this.tv_hint_1.setText(getString(R.string.code_put_into_frame));
                ScanBoxView scanBoxView = this.zbarview.getScanBoxView();
                scanBoxView.setQRCodeTipText(getString(R.string.scan_share_code));
                scanBoxView.setIsBarcode(scanBoxView.getIsBarcode());
            } else if (i == 400) {
                this.but_other.setVisibility(8);
                this.tv_hint_1.setVisibility(8);
                this.tv_hint_2.setVisibility(8);
            } else if (i == 999) {
                this.ll_hint.setVisibility(8);
                this.tv_album.setVisibility(8);
                this.but_other.setVisibility(8);
            } else if (i == 700) {
                this.ll_hint.setVisibility(8);
                this.but_other.setVisibility(8);
            }
        }
        this.but_other.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                if (QRCodeScanActivity.this.category != 2) {
                    if (QRCodeScanActivity.this.category != 3) {
                        if (QRCodeScanActivity.this.category != 4) {
                            if (QRCodeScanActivity.this.category == 5) {
                                QRCodeScanActivity.this.startActivity(new Intent(QRCodeScanActivity.this, (Class<?>) SoundWavesWiFiOneKeySetActivity.class));
                                return;
                            }
                            return;
                        }
                        if (HiTools.isWifiConnected(QRCodeScanActivity.this) || HiDataValue.mHi_wifiConnect_Q.length() > 0) {
                            QRCodeScanActivity.this.startActivity(new Intent(QRCodeScanActivity.this, (Class<?>) LANSearchCameraActivity.class));
                            return;
                        } else {
                            QRCodeScanActivity qRCodeScanActivity = QRCodeScanActivity.this;
                            MyToast.showToast(qRCodeScanActivity, qRCodeScanActivity.getString(R.string.toast_connect_wifi));
                            return;
                        }
                    }
                    if (HiTools.isWifiConnected(QRCodeScanActivity.this) || HiDataValue.mHi_wifiConnect_Q.length() > 0) {
                        Intent intent = new Intent(QRCodeScanActivity.this, (Class<?>) LANSearchCameraActivity.class);
                        intent.putExtra("type", 3);
                        QRCodeScanActivity.this.startActivity(intent);
                        return;
                    } else {
                        QRCodeScanActivity qRCodeScanActivity2 = QRCodeScanActivity.this;
                        MyToast.showToast(qRCodeScanActivity2, qRCodeScanActivity2.getString(R.string.toast_connect_wifi));
                        return;
                    }
                }
                QRCodeScanActivity.this.startActivity(new Intent(QRCodeScanActivity.this, (Class<?>) AddNewDeviceActivity.class));
            }
        });
        if (HiTools.checkDeviceHasNavigationBar(this)) {
            RelativeLayout.LayoutParams layoutParams = new RelativeLayout.LayoutParams(HiTools.dip2px(this, 280.0f), HiTools.dip2px(this, 80.0f));
            layoutParams.setMargins(0, HiTools.dip2px(this, 75.0f), 0, 0);
            layoutParams.addRule(14);
            this.ll_hint.setLayoutParams(layoutParams);
        }
    }

    private void setListeners() {
        this.tv_album.setOnClickListener(this);
    }

    @Override
    public void onScanQRCodeSuccess(String str) {
        handScanSuccess(str);
    }

    @Override
    public void onScanQRCodeOpenCameraError() {
        finish();
        MyToast.showToast(this, getString(R.string.tips_no_permission));
    }

    private void handScanSuccess(String str) {
        Log.e("Zbar", "1:" + str);
        if (this.activityIsActive) {
            String trim = !TextUtils.isEmpty(str) ? str.trim() : "";
            Log.e("Zbar", "2:" + trim);
            if (TextUtils.isEmpty(trim)) {
                Toast.makeText(this, getString(R.string.toast_scan_fail), 0).show();
                return;
            }
            if (!TextUtils.isEmpty(trim) && trim.length() > 8) {
                String substring = trim.substring(0, getString(R.string.app_account).length());
                Log.e("Zbar", "sub=" + substring);
                int i = this.category;
                if (i == 8 || i == 3 || i == 400 || i == 700) {
                    if (substring.equalsIgnoreCase(getString(R.string.app_account))) {
                        handData(trim);
                        return;
                    } else if (substring.startsWith("CamHipro_AC")) {
                        MyToast.showToast(this, getString(R.string.data_format_error));
                        finish();
                        return;
                    } else {
                        onScanUid(trim, this.category);
                        return;
                    }
                }
                if (i == 1 && trim.substring(0, 1).equalsIgnoreCase(PushConstants.PUSH_TYPE_NOTIFY)) {
                    handRFData(trim);
                    return;
                }
                int i2 = this.category;
                if (i2 == 2) {
                    if (HiTools.checkIsUid(trim)) {
                        showLoadDialog(getString(R.string.confirm_add_method), false, false);
                        this.scan_uid = trim;
                        startSearch();
                        return;
                    } else {
                        MyToast.showToast(this, getString(R.string.data_error));
                        finish();
                        return;
                    }
                }
                if (i2 == 5) {
                    if (trim.trim().contains("LITE") || HiTools.isOtherLiteosDev(trim.trim()) || HiTools.is4GLiteOSDev(trim.trim())) {
                        MyToast.showToast(this, getString(R.string.scan_code_type_error));
                        finish();
                        return;
                    } else {
                        Intent intent = new Intent(this, (Class<?>) SoundWavesWiFiOneKeySetActivity.class);
                        intent.putExtra(HiDataValue.EXTRAS_KEY_UID, trim.trim());
                        startActivity(intent);
                        return;
                    }
                }
                if (HiTools.checkIsUid(trim) && this.category == 4) {
                    if (HiDataValue.CameraList.size() > 0) {
                        for (MyCamera myCamera : HiDataValue.CameraList) {
                            if (trim.equals(myCamera.getUid())) {
                                showAddedDialog(myCamera.getUid());
                                return;
                            }
                        }
                    }
                    Intent intent2 = new Intent(this, (Class<?>) AddAndConfigWiFiActivity.class);
                    intent2.putExtra(HiDataValue.EXTRAS_KEY_UID, trim);
                    intent2.putExtra("type", 2);
                    startActivity(intent2);
                    return;
                }
                Intent intent3 = new Intent();
                Bundle bundle = new Bundle();
                bundle.putString(HiDataValue.EXTRAS_KEY_UID, trim);
                intent3.putExtras(bundle);
                setResult(-1, intent3);
                finish();
                return;
            }
            MyToast.showToast(this, getString(R.string.data_format_error));
            finish();
        }
    }

    private void onScanUid(String str, int i) {
        if (HiTools.checkIsUid(str)) {
            if (HiTools.is4GLiteOSDev(str)) {
                if (i == 400) {
                    Intent intent = new Intent();
                    Bundle bundle = new Bundle();
                    bundle.putString(HiDataValue.EXTRAS_KEY_UID, str);
                    intent.putExtras(bundle);
                    setResult(-1, intent);
                    finish();
                    return;
                }
                Intent intent2 = new Intent(this, (Class<?>) AddCameraActivity.class);
                intent2.putExtra("type", 400);
                intent2.putExtra(HiDataValue.EXTRAS_KEY_UID, str);
                startActivity(intent2);
                finish();
                return;
            }
            if (!HiTools.isOtherLiteosDev(str)) {
                if (i == 3 || i == 400) {
                    Intent intent3 = new Intent();
                    Bundle bundle2 = new Bundle();
                    bundle2.putString(HiDataValue.EXTRAS_KEY_UID, str);
                    intent3.putExtras(bundle2);
                    setResult(-1, intent3);
                    finish();
                    return;
                }
                Intent intent4 = new Intent(this, (Class<?>) AddCameraActivity.class);
                intent4.putExtra(HiDataValue.EXTRAS_KEY_UID, str);
                startActivity(intent4);
                finish();
                return;
            }
            if (i == 700) {
                Intent intent5 = new Intent();
                Bundle bundle3 = new Bundle();
                bundle3.putString(HiDataValue.EXTRAS_KEY_UID, str);
                intent5.putExtras(bundle3);
                setResult(-1, intent5);
                finish();
                return;
            }
            Bundle bundle4 = new Bundle();
            bundle4.putString(HiDataValue.EXTRAS_KEY_UID, str);
            bundle4.putString(Constant.MAC, Constant.get4G_MAC());
            Intent intent6 = new Intent();
            intent6.putExtras(bundle4);
            intent6.setClass(this, OSAddCameraActivity.class);
            intent6.putExtra("type", 4);
            startActivity(intent6);
            finish();
        }
    }

    private void handData(String str) {
        String substring = str.substring(getString(R.string.app_account).length(), str.length());
        byte[] bArr = new byte[str.getBytes().length];
        byte[] bytes = substring.getBytes();
        System.arraycopy(bytes, 0, bArr, 0, bytes.length);
        HiChipSDK.Aes_Decrypt(bArr, bytes.length);
        String trim = new String(bArr).trim();
        NiftyDialogBuilder niftyDialogBuilder = this.mDialog;
        if (niftyDialogBuilder == null || !niftyDialogBuilder.isShowing()) {
            analyData(trim);
        }
    }

    private void analyData(String str) {
        String str2 = "T";
        String str3 = "M";
        String str4 = "P";
        try {
            JSONArray jSONArray = new JSONArray(str);
            int i = 0;
            int i2 = 0;
            boolean z = false;
            while (i2 < jSONArray.length()) {
                JSONObject jSONObject = jSONArray.getJSONObject(i2);
                String substring = jSONObject.getString("U").substring(i, jSONObject.getString("U").length() - 2);
                String substring2 = jSONObject.getString("A").substring(i, jSONObject.getString("A").length() - 2);
                String substring3 = jSONObject.getString(str4).substring(i, jSONObject.getString(str4).length() - 2);
                String substring4 = jSONObject.getString(str3).substring(i, jSONObject.getString(str3).length() - 2);
                String substring5 = jSONObject.getString(str2).substring(i, jSONObject.getString(str2).length() - 2);
                jSONObject.getString("C").substring(i, 1);
                String string = jSONObject.getString("G");
                String string2 = jSONObject.getString("APRun");
                int i3 = jSONObject.getInt("L");
                if (MD5Utils.md5(HiDataValue.userAccount).equalsIgnoreCase(jSONObject.getString("AU"))) {
                    String str5 = str2;
                    String str6 = str3;
                    String str7 = str4;
                    MyCamera myCamera = new MyCamera(this, getString(R.string.title_camera_fragment), substring, substring2, substring3);
                    myCamera.setCameraLevel(i3);
                    myCamera.setNeedUpServer(true);
                    try {
                        myCamera.setTimerFlag(Integer.parseInt(myCamera.getUid().split(Constants.ACCEPT_TIME_SEPARATOR_SERVER)[1]));
                    } catch (NumberFormatException e) {
                        e.printStackTrace();
                        myCamera.setTimerFlag(new Random().nextInt());
                    }
                    myCamera.isFirstAdd = true;
                    if (!HiTools.isOtherLiteosDev(substring) && !HiTools.is4GLiteOSDev(substring)) {
                        myCamera.setIsLiteOs(false);
                        myCamera.mMacAddress = "";
                        if (string.equals("1")) {
                            myCamera.setmIsLE4G(true);
                        } else {
                            myCamera.setmIsLE4G(false);
                        }
                        if (!TextUtils.isEmpty(string2) && string2.equals("1")) {
                            myCamera.mIsAPRunMode = true;
                        }
                        if (new Date().getTime() / 1000 <= Integer.parseInt(substring5) + 259200) {
                            z = true;
                        } else {
                            this.mAnalyCameraList.add(myCamera);
                        }
                        i2++;
                        str2 = str5;
                        str3 = str6;
                        str4 = str7;
                        i = 0;
                    }
                    myCamera.setIsLiteOs(true);
                    if (Constant.stringIsMac(substring4)) {
                        myCamera.mMacAddress = substring4;
                    } else {
                        myCamera.mMacAddress = Constant.get4G_MAC();
                    }
                    if (string.equals("1")) {
                        myCamera.setmIs_4G(true);
                    } else {
                        myCamera.setmIs_4G(false);
                    }
                    if (!TextUtils.isEmpty(string2)) {
                        myCamera.mIsAPRunMode = true;
                    }
                    if (new Date().getTime() / 1000 <= Integer.parseInt(substring5) + 259200) {
                    }
                    i2++;
                    str2 = str5;
                    str3 = str6;
                    str4 = str7;
                    i = 0;
                } else {
                    new DialogUtilsCamHiPro(this).title(getString(R.string.tips_share_match_title)).setCancelable(false).setCanceledOnTouchOutside(false).message(getString(R.string.tips_share_match)).sureText(getString(R.string.got_it)).setSureOnClickListener(new View.OnClickListener() {
                        @Override
                        public final void onClick(View view) {
                            QRCodeScanActivity.this.lambda$analyData$0$QRCodeScanActivity(view);
                        }
                    }).build().show();
                    return;
                }
            }
            ArrayList<MyCamera> arrayList = this.mAnalyCameraList;
            if ((arrayList == null || arrayList.size() < 1) && z) {
                MyToast.showToast(this, getString(R.string.code_invalid_error));
                finish();
                return;
            }
            ArrayList<MyCamera> arrayList2 = this.mAnalyCameraList;
            if (arrayList2 == null || arrayList2.size() <= 0) {
                return;
            }
            for (MyCamera myCamera2 : HiDataValue.CameraList) {
                for (int i4 = 0; i4 < this.mAnalyCameraList.size(); i4++) {
                    if (myCamera2.getUid().equalsIgnoreCase(this.mAnalyCameraList.get(i4).getUid())) {
                        this.mAnalyCameraList.remove(i4);
                        showShareAddedDialog(myCamera2.getUid());
                        return;
                    }
                }
            }
            if (this.mAnalyCameraList.size() < 1) {
                MyToast.showToast(this, getString(R.string.toast_device_added));
                finish();
                return;
            }
            for (int i5 = 0; i5 < this.mAnalyCameraList.size(); i5++) {
                MyCamera myCamera3 = this.mAnalyCameraList.get(i5);
                if (i5 < this.mAnalyCameraList.size() - 1) {
                    this.sbAddCamerUid.append(myCamera3.getUid() + "\n");
                } else {
                    this.sbAddCamerUid.append(myCamera3.getUid());
                }
            }
            this.mDialog = NiftyDialogBuilder.getInstance(this);
            if (this.mAnalyCameraList.size() > 3) {
                this.mDialog.withMessageLayoutWrap();
            }
            this.mDialog.withTitle(getString(R.string.add_camera)).withMessage(this.sbAddCamerUid.toString()).withButton1Text(getString(R.string.cancel)).withButton2Text(getString(R.string.toast_confirm_add));
            this.mDialog.setButton1Click(new View.OnClickListener() {
                @Override
                public void onClick(View view) {
                    QRCodeScanActivity.this.mDialog.dismiss();
                    QRCodeScanActivity.this.finish();
                }
            });
            this.mDialog.setButton2Click(new View.OnClickListener() {
                @Override
                public void onClick(View view) {
                    QRCodeScanActivity.this.mDialog.dismiss();
                    Locale.getDefault().getLanguage();
                    Locale.getDefault().getCountry();
                    Iterator it = QRCodeScanActivity.this.mAnalyCameraList.iterator();
                    while (it.hasNext()) {
                        MyCamera myCamera4 = (MyCamera) it.next();
                        SharePreUtils.putInt(HiDataValue.CACHE, QRCodeScanActivity.this, myCamera4.getUid() + "isOpenedDefaultAlarmPush", 1);
                        if (!TextUtils.isEmpty(myCamera4.mMacAddress)) {
                            myCamera4.setIsLiteOs(true);
                            myCamera4.setMacAddress(myCamera4.mMacAddress);
                            String[] split = myCamera4.getUid().split(Constants.ACCEPT_TIME_SEPARATOR_SERVER);
                            if (!TextUtils.isEmpty(split[1])) {
                                myCamera4.setTimerFlag(Integer.parseInt(split[1]));
                            }
                            EventBus.getDefault().post(myCamera4);
                        }
                        if (myCamera4.mIsAPRunMode) {
                            myCamera4.setIsAPRunMode(true);
                        }
                        if (myCamera4.getPassword().equals("admin")) {
                            SharePreUtils.putInt(HiDataValue.CACHE, QRCodeScanActivity.this, myCamera4.getUid() + Constant.HINT_PSW, 0);
                        }
                        myCamera4.saveInDatabase(QRCodeScanActivity.this);
                        myCamera4.saveInCameraList();
                        new NVRListBean(myCamera4, 0, HiTools.isNVRDev(myCamera4.getUid())).saveInCameraList();
                    }
                    QRCodeScanActivity qRCodeScanActivity = QRCodeScanActivity.this;
                    MyToast.showToast(qRCodeScanActivity, qRCodeScanActivity.getString(R.string.add_success));
                    Intent intent = new Intent();
                    intent.setAction(HiDataValue.ACTION_CAMERA_INIT_END);
                    QRCodeScanActivity.this.sendBroadcast(intent);
                    QRCodeScanActivity.this.startActivity(new Intent(QRCodeScanActivity.this, (Class<?>) MainActivity.class));
                }
            });
            this.mDialog.isCancelable(false);
            this.mDialog.show();
        } catch (JSONException e2) {
            MyToast.showToast(this, getString(R.string.toast_scan_fail));
            e2.printStackTrace();
        }
    }

    public void lambda$analyData$0$QRCodeScanActivity(View view) {
        finish();
    }

    private void bindDevToService(MyCamera myCamera) {
        if (myCamera == null || TextUtils.isEmpty(LoginUserInfo.getInstance().getToken(this))) {
            return;
        }
        UserApiFactory.getApi().DvBind(new BindDevBean(LoginUserInfo.getInstance().getToken(this), myCamera.getUid(), "", "", "", "", "", "", "", "", "", "", "", myCamera.getMacAddress(), "", String.valueOf(myCamera.getCameraLevel()), "", DateUtils.getDate())).enqueue(new MyCallBack<EmptyBean>() {
            @Override
            public void onError(Throwable th, String str) {
            }

            @Override
            public void onSuccess(EmptyBean emptyBean) {
            }
        });
    }

    private void startSearch() {
        CountDownTimer countDownTimer = this.timer;
        if (countDownTimer != null) {
            countDownTimer.cancel();
            this.timer = null;
        }
        HiSearchSDK hiSearchSDK = new HiSearchSDK(new HiSearchSDK.ISearchResult() {
            @Override
            public void onReceiveSearchResult(HiSearchSDK.HiSearchResult hiSearchResult) {
                if (TextUtils.isEmpty(hiSearchResult.uid.substring(0, 4))) {
                    return;
                }
                Message obtainMessage = QRCodeScanActivity.this.mHandler.obtainMessage();
                obtainMessage.obj = hiSearchResult;
                obtainMessage.what = HiDataValue.HANDLE_MESSAGE_SCAN_RESULT;
                QRCodeScanActivity.this.mUid = hiSearchResult.uid;
                QRCodeScanActivity.this.mHandler.sendMessage(obtainMessage);
            }
        });
        this.searchSDK = hiSearchSDK;
        hiSearchSDK.search2();
        this.timer = new CountDownTimer(7000, 1000L) {
            @Override
            public void onTick(long j) {
            }

            @Override
            public void onFinish() {
                if (QRCodeScanActivity.this.category == 2) {
                    QRCodeScanActivity.this.dismissLoadDialog();
                    Intent intent = new Intent(QRCodeScanActivity.this, (Class<?>) SoundWavesWiFiOneKeySetActivity.class);
                    if (!TextUtils.isEmpty(QRCodeScanActivity.this.scan_uid)) {
                        intent.putExtra(HiDataValue.EXTRAS_KEY_UID, QRCodeScanActivity.this.scan_uid);
                    }
                    QRCodeScanActivity.this.startActivity(intent);
                }
            }
        }.start();
    }

    private void handRFData(String str) {
        String[] split = str.split(Constants.ACCEPT_TIME_SEPARATOR_SERVER);
        this.code_arr = split;
        if (split.length == 1) {
            handLen_1(str);
            return;
        }
        if (split.length == 4) {
            ArrayList<RFDevice> arrayList = this.list_rf_device_key;
            if (arrayList != null && arrayList.size() > 0) {
                MyToast.showToast(this, "请删除添加的遥控器,再扫码添加!");
                finish();
                return;
            }
            StringBuffer stringBuffer = new StringBuffer();
            for (String str2 : this.code_arr) {
                stringBuffer.append(handCate(str2) + "\n");
            }
            final NiftyDialogBuilder niftyDialogBuilder = NiftyDialogBuilder.getInstance(this);
            niftyDialogBuilder.withMessageLayoutWrap();
            niftyDialogBuilder.withTitle("设别成功").withMessage("检测到传感器:\n\n" + stringBuffer.toString() + "\n确认是否添加?\n");
            niftyDialogBuilder.withButton1Text("取消").withButton2Text("确认添加");
            niftyDialogBuilder.setButton1Click(new View.OnClickListener() {
                @Override
                public void onClick(View view) {
                    niftyDialogBuilder.dismiss();
                    QRCodeScanActivity.this.finish();
                }
            });
            niftyDialogBuilder.setButton2Click(new View.OnClickListener() {
                @Override
                public void onClick(View view) {
                    niftyDialogBuilder.dismiss();
                    QRCodeScanActivity.this.mMyCamera.sendIOCtrl(HiChipDefines.HI_P2P_IPCRF_ALL_INFO_GET, null);
                }
            });
            niftyDialogBuilder.isCancelableOnTouchOutside(false).isCancelable(false);
            niftyDialogBuilder.show();
        }
    }

    private void handLen_1(String str) {
        String substring = str.substring(2);
        if (substring.length() != 12) {
            MyToast.showToast(this, "数据错误!");
            return;
        }
        ArrayList<RFDevice> arrayList = this.list_rf_info;
        if (arrayList != null && arrayList.size() > 0) {
            Iterator<RFDevice> it = this.list_rf_info.iterator();
            while (it.hasNext()) {
                if (substring.equalsIgnoreCase(it.next().code)) {
                    MyToast.showToast(this, "该设备已经添加过!");
                    finish();
                    return;
                }
            }
        }
        String handCate = handCate(str);
        final NiftyDialogBuilder niftyDialogBuilder = NiftyDialogBuilder.getInstance(this);
        niftyDialogBuilder.withTitle("设别成功").withMessage("检测到传感器:  " + handCate + "\n确认是否添加?");
        niftyDialogBuilder.withButton1Text("取消").withButton2Text("确认添加");
        niftyDialogBuilder.setButton1Click(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                niftyDialogBuilder.dismiss();
                QRCodeScanActivity.this.finish();
            }
        });
        niftyDialogBuilder.setButton2Click(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                niftyDialogBuilder.dismiss();
            }
        });
        niftyDialogBuilder.isCancelableOnTouchOutside(false).isCancelable(false);
        niftyDialogBuilder.show();
    }

    public String handCate(String str) {
        char c = 0;
        String substring = str.substring(0, 2);
        substring.hashCode();
        switch (substring.hashCode()) {
            case 1537:
                break;
            case 1538:
                if (substring.equals("02")) {
                    c = 1;
                    break;
                }
                c = 65535;
                break;
            case 1539:
                if (substring.equals("03")) {
                    c = 2;
                    break;
                }
                c = 65535;
                break;
            case 1540:
                if (substring.equals("04")) {
                    c = 3;
                    break;
                }
                c = 65535;
                break;
            case 1541:
                if (substring.equals("05")) {
                    c = 4;
                    break;
                }
                c = 65535;
                break;
            case 1542:
                if (substring.equals("06")) {
                    c = 5;
                    break;
                }
                c = 65535;
                break;
            case 1543:
                if (substring.equals("07")) {
                    c = 6;
                    break;
                }
                c = 65535;
                break;
            case 1544:
                if (substring.equals("08")) {
                    c = 7;
                    break;
                }
                c = 65535;
                break;
            case 1545:
                if (substring.equals("09")) {
                    c = '\b';
                    break;
                }
                c = 65535;
                break;
            case 1546:
            case 1547:
            case 1548:
            case 1549:
            case 1550:
            case 1551:
            case 1552:
            default:
                c = 65535;
                break;
            case 1553:
                if (substring.equals("0A")) {
                    c = '\t';
                    break;
                }
                c = 65535;
                break;
        }
        switch (c) {
            case 0:
                return "红外";
            case 1:
                return "门磁";
            case 2:
                return "烟雾";
            case 3:
                return "燃气";
            case 4:
                return "门铃";
            case 5:
                return "插座";
            case 6:
                return "RF报警:开";
            case 7:
                return "RF报警:关";
            case '\b':
                return "SOS";
            case '\t':
                return "报警响铃";
            default:
                return substring;
        }
    }

    public void handIndexAndAdd(int i, String str, byte b, String str2, String str3) {
        this.mMyCamera.sendIOCtrl(HiChipDefines.HI_P2P_IPCRF_SINGLE_INFO_SET, HiChipDefines.HI_P2P_IPCRF_INFO.parseContent(i, 1, str3, str, str2, (byte) 1, b));
    }

    public String handCateType(String str) {
        char c = 0;
        String substring = str.substring(0, 2);
        substring.hashCode();
        switch (substring.hashCode()) {
            case 1537:
                break;
            case 1538:
                if (substring.equals("02")) {
                    c = 1;
                    break;
                }
                c = 65535;
                break;
            case 1539:
                if (substring.equals("03")) {
                    c = 2;
                    break;
                }
                c = 65535;
                break;
            case 1540:
                if (substring.equals("04")) {
                    c = 3;
                    break;
                }
                c = 65535;
                break;
            case 1541:
                if (substring.equals("05")) {
                    c = 4;
                    break;
                }
                c = 65535;
                break;
            case 1542:
                if (substring.equals("06")) {
                    c = 5;
                    break;
                }
                c = 65535;
                break;
            case 1543:
                if (substring.equals("07")) {
                    c = 6;
                    break;
                }
                c = 65535;
                break;
            case 1544:
                if (substring.equals("08")) {
                    c = 7;
                    break;
                }
                c = 65535;
                break;
            case 1545:
                if (substring.equals("09")) {
                    c = '\b';
                    break;
                }
                c = 65535;
                break;
            case 1546:
            case 1547:
            case 1548:
            case 1549:
            case 1550:
            case 1551:
            case 1552:
            default:
                c = 65535;
                break;
            case 1553:
                if (substring.equals("0A")) {
                    c = '\t';
                    break;
                }
                c = 65535;
                break;
        }
        switch (c) {
            case 0:
                return HiChipDefines.HI_P2P_IPCRF_SENSOR_TYPE_INFRA;
            case 1:
                return HiChipDefines.HI_P2P_IPCRF_SENSOR_TYPE_DOOR;
            case 2:
                return HiChipDefines.HI_P2P_IPCRF_SENSOR_TYPE_FIRE;
            case 3:
                return HiChipDefines.HI_P2P_IPCRF_SENSOR_TYPE_GAS;
            case 4:
            case 5:
                return HiChipDefines.HI_P2P_IPCRF_SENSOR_TYPE_BEEP;
            case 6:
                return HiChipDefines.HI_P2P_IPCRF_SENSOR_TYPE_KEY_1;
            case 7:
                return HiChipDefines.HI_P2P_IPCRF_SENSOR_TYPE_KEY_0;
            case '\b':
                return HiChipDefines.HI_P2P_IPCRF_SENSOR_TYPE_KEY_2;
            case '\t':
                return HiChipDefines.HI_P2P_IPCRF_SENSOR_TYPE_KEY_3;
            default:
                return substring;
        }
    }

    @Override
    public void onActivityResult(int i, int i2, Intent intent) {
        super.onActivityResult(i, i2, intent);
        if (i2 == -1 && i == 34) {
            this.zbarview.decodeQRCode(UriUtils.getRealPathFromUri(this, intent.getData()));
            CHOOSE_QRCODE = false;
        }
    }

    @Override
    public void onClick(View view) {
        if (view.getId() != R.id.tv_album) {
            return;
        }
        CHOOSE_QRCODE = true;
        Intent intent = new Intent("android.intent.action.GET_CONTENT");
        intent.setType("image/*");
        startActivityForResult(intent, 34);
    }

    @Override
    public void receiveIOCtrlData(HiCamera hiCamera, int i, byte[] bArr, int i2) {
        if (this.mMyCamera != hiCamera) {
            return;
        }
        Message obtainMessage = this.mHandler.obtainMessage();
        obtainMessage.what = HiDataValue.HANDLE_MESSAGE_RECEIVE_IOCTRL;
        obtainMessage.arg1 = i;
        obtainMessage.arg2 = i2;
        Bundle bundle = new Bundle();
        bundle.putByteArray("data", bArr);
        obtainMessage.setData(bundle);
        this.mHandler.sendMessage(obtainMessage);
    }

    private void showAddedDialog(String str) {
        new DialogUtilsCamHiPro(this).title("").setCancelable(false).setCanceledOnTouchOutside(false).message(str + "\n" + getString(R.string.device_added)).sureText(getString(R.string.YES)).setSureOnClickListener(new View.OnClickListener() {
            @Override
            public final void onClick(View view) {
                QRCodeScanActivity.this.lambda$showAddedDialog$1$QRCodeScanActivity(view);
            }
        }).build().show();
    }

    public void lambda$showAddedDialog$1$QRCodeScanActivity(View view) {
        finish();
    }

    private void showShareAddedDialog(String str) {
        new DialogUtilsCamHiPro(this).title("").setCancelable(false).setCanceledOnTouchOutside(false).message(str + "\n" + getString(R.string.tips_share_exist)).sureText(getString(R.string.YES)).setSureOnClickListener(new View.OnClickListener() {
            @Override
            public final void onClick(View view) {
                QRCodeScanActivity.this.lambda$showShareAddedDialog$2$QRCodeScanActivity(view);
            }
        }).build().show();
    }

    public void lambda$showShareAddedDialog$2$QRCodeScanActivity(View view) {
        finish();
    }

    @Override
    public void onRequestPermissionsResult(int i, String[] strArr, int[] iArr) {
        super.onRequestPermissionsResult(i, strArr, iArr);
        boolean z = true;
        HiLogcatUtil.e("" + i);
        int length = strArr.length;
        for (int i2 = 0; i2 < length; i2++) {
            HiLogcatUtil.e(strArr.length + Constants.COLON_SEPARATOR + strArr[i2]);
        }
        for (int i3 : iArr) {
            HiLogcatUtil.e(iArr.length + Constants.COLON_SEPARATOR + i3);
        }
        if (i == MY_PERMISSION_REQUEST_CODE) {
            int length2 = iArr.length;
            int i4 = 0;
            while (true) {
                if (i4 >= length2) {
                    break;
                }
                if (iArr[i4] != 0) {
                    z = false;
                    break;
                }
                i4++;
            }
            if (z) {
                return;
            }
            HiTools.Hi_GoToSetting(strArr, this, this);
        }
    }
}