AddCameraActivity.java 源代码
package activity.addCamera;
import android.content.Intent;
import android.os.Build;
import android.os.Bundle;
import android.text.InputFilter;
import android.text.TextUtils;
import android.view.View;
import android.widget.EditText;
import android.widget.LinearLayout;
import android.widget.TextView;
import base.HiActivity;
import bean.MyCamera;
import com.hichip.base.HiLog;
import com.hichip.campro.R;
import com.hichip.sdk.HiChipSDK;
import com.hichip.tools.HiLitosSDK;
import com.xiaomi.mipush.sdk.Constants;
import common.A2bigA;
import common.Constant;
import common.HiDataValue;
import common.TitleView;
import main.MainActivity;
import main.NVR.adapter.NVRListBean;
import org.greenrobot.eventbus.EventBus;
import utils.DialogUtilsCamHiPro;
import utils.EmojiFilter;
import utils.FullCharUnionFilter;
import utils.HiLogcatUtil;
import utils.HiTools;
import utils.MyToast;
import utils.NotCopyAndPaste;
import utils.SharePreUtils;
import utils.SystemUtils;
import zbar.QRZXBScanActivity;
public class AddCameraActivity extends HiActivity implements View.OnClickListener {
private static final int MY_PERMISSION_REQUEST_CODE = 10004;
private static final int REQUESTCODE_LANSEARCHUID = 111;
private static final int REQUESTCODE_SCANGETUID = 110;
private static final int REQUEST_SCANNIN_GREQUEST_CODE = 1;
private MyCamera camera;
EditText et_add_camera_password;
EditText et_add_camera_uid;
EditText et_add_camera_username;
LinearLayout ll_add_camera_password;
LinearLayout ll_scan_getuid;
LinearLayout ll_search_getuid;
private String mUid;
TitleView titleview;
TextView tv_confirm_add;
TextView tv_hint_get_uid;
private int mType = 0;
private boolean isApMode = false;
private HiLitosSDK hiLitosSDK = null;
@Override
protected int setLayoutId() {
return R.layout.activity_add_camera;
}
@Override
protected void init(Bundle bundle) {
getIntentData();
initView();
setListerners();
}
private void getIntentData() {
this.mType = getIntent().getIntExtra("type", 0);
this.isApMode = getIntent().getBooleanExtra("isApMode", false);
String stringExtra = getIntent().getStringExtra(HiDataValue.EXTRAS_KEY_UID);
if (!TextUtils.isEmpty(stringExtra)) {
this.et_add_camera_uid.setText(stringExtra);
}
Bundle extras = getIntent().getExtras();
if (extras != null) {
this.mUid = extras.getString(HiDataValue.EXTRAS_KEY_UID);
}
}
private void setListerners() {
this.ll_scan_getuid.setOnClickListener(this);
this.ll_search_getuid.setOnClickListener(this);
this.tv_confirm_add.setOnClickListener(this);
}
private void initView() {
this.titleview.setButton(0);
this.titleview.setRightTxtBack(R.mipmap.x_bule);
this.titleview.setTitle(getString(R.string.add_device));
this.titleview.setNavigationBarButtonListener(new TitleView.NavigationBarButtonListener() {
@Override
public void OnNavigationButtonClick(int i) {
if (i == 0) {
AddCameraActivity.this.finish();
} else {
if (i != 2) {
return;
}
AddCameraActivity.this.startActivity(new Intent(AddCameraActivity.this, (Class<?>) MainActivity.class), true);
}
}
});
this.et_add_camera_password.setCustomSelectionActionModeCallback(new NotCopyAndPaste());
this.et_add_camera_password.setFilters(new InputFilter[]{new InputFilter.LengthFilter(63), new FullCharUnionFilter(this), new EmojiFilter()});
this.et_add_camera_username.setCustomSelectionActionModeCallback(new NotCopyAndPaste());
this.et_add_camera_username.setFilters(new InputFilter[]{new InputFilter.LengthFilter(63), new FullCharUnionFilter(this), new EmojiFilter()});
this.et_add_camera_uid.setTransformationMethod(new A2bigA());
if (!TextUtils.isEmpty(this.mUid)) {
this.et_add_camera_uid.setText(this.mUid);
this.et_add_camera_uid.setEnabled(false);
}
int i = this.mType;
if (i == 1 || i == 2 || i == 4 || i == 400 || i == 8) {
if (i != 400) {
this.ll_scan_getuid.setVisibility(8);
this.tv_hint_get_uid.setVisibility(8);
}
this.ll_search_getuid.setVisibility(8);
this.ll_scan_getuid.setVisibility(8);
this.tv_hint_get_uid.setVisibility(8);
}
if (this.mType == 101) {
this.ll_add_camera_password.setVisibility(8);
}
}
@Override
public void onClick(View view) {
switch (view.getId()) {
case R.id.ll_scan_getuid:
if (HiTools.isCustomFastClick(500)) {
return;
}
Intent intent = new Intent(this, (Class<?>) QRZXBScanActivity.class);
int i = this.mType;
if (i == 400) {
intent.putExtra("category", 400);
} else if (i == 101) {
intent.putExtra("category", 101);
} else {
intent.putExtra("category", 3);
}
startActivityForResult(intent, 110);
return;
case R.id.ll_search_getuid:
if (HiTools.isCustomFastClick(500)) {
return;
}
HiLog.e("" + HiDataValue.mHi_wifiConnect_Q);
if (HiTools.isWifiConnected(this) || HiDataValue.mHi_wifiConnect_Q.length() > 0) {
Intent intent2 = new Intent(this, (Class<?>) LANSearchCameraActivity.class);
intent2.putExtra("type", 3);
int i2 = this.mType;
if (101 == i2) {
intent2.putExtra("type", i2);
}
startActivityForResult(intent2, 111);
return;
}
MyToast.showToast(this, getString(R.string.toast_connect_wifi));
return;
case R.id.tv_confirm_add:
chickDone();
return;
default:
return;
}
}
private void chickDone() {
String upperCase = this.et_add_camera_uid.getText().toString().trim().toUpperCase();
String obj = this.et_add_camera_username.getText().toString();
String trim = this.et_add_camera_password.getText().toString().trim();
for (int i = 0; i < HiDataValue.zifu.length; i++) {
if (upperCase.contains(HiDataValue.zifu[i])) {
MyToast.showToast(this, getString(R.string.tips_invalid_uid));
return;
}
}
if (TextUtils.isEmpty(upperCase)) {
showAlert(getText(R.string.tips_null_uid));
return;
}
String handUid = HiTools.handUid(upperCase);
if (handUid == null) {
MyToast.showToast(this, getString(R.string.tips_invalid_uid));
return;
}
if (obj.length() == 0) {
MyToast.showToast(this, getString(R.string.tips_null_username));
return;
}
if (obj.getBytes().length > 64) {
MyToast.showToast(this, getString(R.string.tips_username_tolong));
return;
}
if (trim.getBytes().length > 64) {
MyToast.showToast(this, getString(R.string.tips_password_tolong));
return;
}
if (HiDataValue.CameraList != null && HiDataValue.CameraList.size() >= 64) {
MyToast.showToast(this, getString(R.string.tips_limit_add_camera));
return;
}
if (this.mType == 400) {
if (HiTools.isOtherLiteosDev(handUid)) {
new DialogUtilsCamHiPro(this).title(getText(R.string.tip_reminder)).message(getText(R.string.tips_choose_battery_wifi_type)).cancelText(getString(R.string.got_it)).setCancelable(false).setCanceledOnTouchOutside(false).setCancelOnClickListener(new View.OnClickListener() {
@Override
public final void onClick(View view) {
AddCameraActivity.this.lambda$chickDone$0$AddCameraActivity(view);
}
}).build().show();
return;
} else if (HiTools.isNVRDev(handUid)) {
new DialogUtilsCamHiPro(this).title(getText(R.string.tip_reminder)).message(getText(R.string.tips_choose_nvr_type)).cancelText(getString(R.string.got_it)).setCancelable(false).setCanceledOnTouchOutside(false).setCancelOnClickListener(new View.OnClickListener() {
@Override
public final void onClick(View view) {
AddCameraActivity.this.lambda$chickDone$1$AddCameraActivity(view);
}
}).build().show();
return;
}
}
for (int i2 = 0; i2 < HiDataValue.CameraList.size(); i2++) {
MyCamera myCamera = HiDataValue.CameraList.get(i2);
if (handUid.equalsIgnoreCase(myCamera.getUid())) {
if (this.ll_scan_getuid.getVisibility() == 8 && this.mType != 400) {
myCamera.disconnect(1);
HiDataValue.CameraList.remove(myCamera);
} else {
showAlert(getText(R.string.device_is_already_exists));
return;
}
}
}
if (HiTools.isNVRDev(handUid)) {
this.camera = new MyCamera(getApplicationContext(), getString(R.string.nvradd_web_camext), handUid, obj, trim);
} else {
this.camera = new MyCamera(getApplicationContext(), getString(R.string.title_camera_fragment), handUid, obj, trim);
}
boolean z = SharePreUtils.getBoolean(HiDataValue.CACHE, this, Constant.DEV_IsVivoMedia, false);
if (SystemUtils.isVIVOMobile(this) && Build.VERSION.SDK_INT > 29 && !z) {
this.camera.SetDecodeViVoVideoType(0);
} else {
this.camera.SetDecodeViVoVideoType(1);
}
this.camera.isFirstAdd = true;
if (this.mType == 400 && HiTools.is4GLiteOSDev(this.camera.getUid())) {
this.camera.setmIs_4G(true);
this.camera.setMacAddress(Constant.get4G_MAC());
this.camera.setIsLiteOs(true);
}
if (HiTools.isOtherLiteosDev(handUid)) {
this.camera.setMacAddress(Constant.get4G_MAC().trim());
this.camera.setIsLiteOs(true);
}
if (HiTools.is4GLiteOSDev(this.camera.getUid())) {
this.camera.setmIs_4G(true);
this.camera.setMacAddress(Constant.get4G_MAC());
this.camera.setIsLiteOs(true);
}
if (this.isApMode) {
setDevRunMode();
}
if (HiTools.isNVRDev(this.camera.getUid())) {
this.mType = 101;
SharePreUtils.putBoolean(HiDataValue.CACHE, this, this.camera.getUid() + "mIsDevNVR", true);
this.camera.setIsDevNVR(true);
this.camera.mIsReceived_4179 = true;
this.camera.Hi_SetNvrAccount(obj, trim, "account");
this.camera.Hi_SetNvrAccount("account", "ad1m2in3", "account");
this.camera.Hi_SetNvrAccount("account", "ad1m2in3", HiDataValue.userAccount);
this.camera.isNvrLoginType = true;
}
this.camera.setCameraLevel(1);
this.camera.setNeedUpServer(true);
this.camera.saveInDatabase(this);
this.camera.saveInCameraList();
if (HiTools.isOtherLiteosDev(handUid) || HiTools.is4GLiteOSDev(handUid)) {
MyCamera myCamera2 = this.camera;
if (myCamera2 != null && myCamera2.getConnectState() == 4) {
this.camera.disconnect(1);
}
EventBus.getDefault().post(this.camera);
} else {
MyCamera myCamera3 = this.camera;
if (myCamera3 != null) {
myCamera3.disconnect(1);
}
}
MyCamera myCamera4 = this.camera;
new NVRListBean(myCamera4, 0, HiTools.isNVRDev(myCamera4.getUid())).saveInCameraList();
Intent intent = new Intent();
intent.putExtra("mIsAdd", true);
intent.setAction(HiDataValue.ACTION_CAMERA_INIT_END);
sendBroadcast(intent);
if (this.mType == 400 && HiTools.is4GLiteOSDev(this.camera.getUid())) {
MyCamera myCamera5 = this.camera;
if (myCamera5 != null && myCamera5.getConnectState() == 4) {
this.camera.disconnect(1);
}
EventBus.getDefault().post(this.camera);
}
MyToast.showToast(this, getString(R.string.add_success));
Intent intent2 = new Intent(this, (Class<?>) TakeNameToCamActivity.class);
intent2.putExtra(HiDataValue.EXTRAS_KEY_UID, this.camera.getUid());
startActivity(intent2);
}
public void lambda$chickDone$0$AddCameraActivity(View view) {
startActivity(new Intent(this, (Class<?>) MainActivity.class));
finish();
}
public void lambda$chickDone$1$AddCameraActivity(View view) {
startActivity(new Intent(this, (Class<?>) MainActivity.class));
finish();
}
private void setDevRunMode() {
HiLitosSDK hiLitosSDK = new HiLitosSDK(new HiLitosSDK.ILitosResult() {
@Override
public void onReceiveLitosResult(String str, int i, int i2, int i3) {
if (!TextUtils.isEmpty(str) && str.split("\r\n").length > 3) {
AddCameraActivity.this.camera.setIsAPRunMode(true);
} else {
AddCameraActivity addCameraActivity = AddCameraActivity.this;
MyToast.showToast(addCameraActivity, addCameraActivity.getString(R.string.netword_abnormal));
}
}
});
this.hiLitosSDK = hiLitosSDK;
hiLitosSDK.HttpRequest("192.168.55.1", 15555, "/liteos/param.cgi?cmd=setsysmode&-mode=1&", 5, 5);
}
@Override
public void onActivityResult(int i, int i2, Intent intent) {
Bundle extras;
super.onActivityResult(i, i2, intent);
if (i2 == -1) {
if (i != 110) {
if (i == 111 && (extras = intent.getExtras()) != null) {
this.mUid = extras.getString(HiDataValue.EXTRAS_KEY_UID);
this.mType = intent.getIntExtra("type", 0);
this.et_add_camera_uid.setEnabled(false);
this.et_add_camera_uid.setText(this.mUid);
if (intent != null) {
this.isApMode = intent.getBooleanExtra("isApMode", false);
return;
}
return;
}
return;
}
String trim = intent.getExtras().getString(HiDataValue.EXTRAS_KEY_UID).trim();
if (TextUtils.isEmpty(trim) || trim.length() <= 8) {
return;
}
if (trim.substring(0, 8).equalsIgnoreCase(getString(R.string.app_name) + "_AC")) {
byte[] bytes = trim.getBytes();
HiChipSDK.Aes_Decrypt(bytes, bytes.length);
} else {
this.et_add_camera_uid.setEnabled(false);
this.et_add_camera_uid.setText(trim.toUpperCase());
}
}
}
@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 == 10004) {
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);
}
}
}