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);
}
}
}