TakeNameToCamActivity.java 源代码
package activity.addCamera;
import activity.cloud.api.ApiFactory;
import activity.cloud.bean.ServiceRequ;
import activity.cloud.bean.ServiceResp;
import activity.cloud.re.MyCallBack;
import activity.cloud.utils.DateUtils;
import android.content.Intent;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.text.TextUtils;
import android.util.Log;
import android.view.View;
import android.widget.EditText;
import android.widget.TextView;
import base.HiActivity;
import bean.MyCamera;
import bean.ShowBuyCloudTip;
import com.hichip.callback.ICameraIOSessionCallback;
import com.hichip.campro.R;
import com.hichip.control.HiCamera;
import com.hichip.tools.Packet;
import com.xiaomi.mipush.sdk.Constants;
import common.Constant;
import common.ConstantCommand;
import common.HiDataValue;
import common.TitleView;
import custom.dialog.Effectstype;
import custom.dialog.WarningDialogBuilder;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.Iterator;
import java.util.Locale;
import java.util.Random;
import main.MainActivity;
import org.greenrobot.eventbus.EventBus;
import service.WakeUpDevService;
import utils.HiLogcatUtil;
import utils.HiTools;
import utils.SharePreUtils;
import utils.TimeUtil;
public class TakeNameToCamActivity extends HiActivity implements View.OnClickListener, ICameraIOSessionCallback {
EditText et_name;
private MyCamera mMyCamera;
private String str_name;
TitleView title;
TextView tv_confirm;
TextView tv_eight;
TextView tv_five;
TextView tv_four;
TextView tv_one;
TextView tv_seven;
TextView tv_six;
TextView tv_there;
TextView tv_two;
private ArrayList<TextView> listTv = new ArrayList<>();
SimpleDateFormat format = new SimpleDateFormat(TimeUtil.FORMAT_DATE_TIME_FULL, Locale.getDefault());
private Handler mIOHandler = new Handler() {
@Override
public void handleMessage(Message message) {
MyCamera myCamera = (MyCamera) message.obj;
int i = message.what;
if (i == -1879048191) {
TakeNameToCamActivity.this.handSessionState(message, myCamera);
} else if (i == -1879048189 && message.arg2 == 0) {
TakeNameToCamActivity.this.handIOCTRLSuccess(message, myCamera);
}
}
};
private MyCamera.OnBindPushResult bindPushResult = new MyCamera.OnBindPushResult() {
@Override
public void onBindFail(MyCamera myCamera) {
}
@Override
public void onBindSuccess(MyCamera myCamera) {
}
@Override
public void onBindTokenIsNull(MyCamera myCamera, boolean z) {
}
@Override
public void onUnBindFail(MyCamera myCamera) {
}
@Override
public void onUnBindSuccess(MyCamera myCamera) {
}
@Override
public void onUpdatePushNameFail(MyCamera myCamera) {
}
@Override
public void onUpdatePushNameSuccess(MyCamera myCamera) {
TakeNameToCamActivity.this.mMyCamera.setPushDevName(TakeNameToCamActivity.this.str_name);
}
};
@Override
protected int setLayoutId() {
return R.layout.activity_takename_tocam;
}
@Override
protected void init(Bundle bundle) {
getIntentData();
connect();
initViewAndData();
setListeners();
}
private void getIntentData() {
String stringExtra = getIntent().getStringExtra(HiDataValue.EXTRAS_KEY_UID);
if (!TextUtils.isEmpty(stringExtra)) {
Iterator<MyCamera> it = HiDataValue.CameraList.iterator();
while (true) {
if (!it.hasNext()) {
break;
}
MyCamera next = it.next();
if (stringExtra.equals(next.getUid())) {
this.mMyCamera = next;
break;
}
}
}
if (HiTools.cameraWhetherNull(this.mMyCamera, this)) {
return;
}
SharePreUtils.putInt(HiDataValue.CACHE, this, this.mMyCamera.getUid() + "isOpenedDefaultAlarmPush", 1);
if (this.mMyCamera.getPassword().equals("admin")) {
SharePreUtils.putInt(HiDataValue.CACHE, this, this.mMyCamera.getUid() + Constant.HINT_PSW, 0);
}
try {
this.mMyCamera.setTimerFlag(Integer.parseInt(this.mMyCamera.uid.split(Constants.ACCEPT_TIME_SEPARATOR_SERVER)[1]));
} catch (NumberFormatException e) {
e.printStackTrace();
this.mMyCamera.setTimerFlag(new Random().nextInt());
}
if (HiTools.isNVRDev(this.mMyCamera.uid)) {
this.et_name.setText(getResources().getString(R.string.nvradd_web_camext));
this.tv_one.setText(getResources().getString(R.string.home));
this.tv_two.setText(getResources().getString(R.string.factory));
this.tv_there.setText(getResources().getString(R.string.farm));
this.tv_four.setText(getResources().getString(R.string.company));
this.tv_five.setText(getResources().getString(R.string.school));
this.tv_six.setText(getResources().getString(R.string.shop));
this.tv_seven.setText(getResources().getString(R.string.warehouse));
this.tv_eight.setText(getResources().getString(R.string.parking_lot));
}
}
private void connect() {
new Thread(new Runnable() {
@Override
public final void run() {
TakeNameToCamActivity.this.lambda$connect$1$TakeNameToCamActivity();
}
}).start();
}
public void lambda$connect$1$TakeNameToCamActivity() {
MyCamera myCamera = this.mMyCamera;
if (myCamera == null) {
return;
}
myCamera.registerIOSessionListener(this);
new Thread(new Runnable() {
@Override
public final void run() {
TakeNameToCamActivity.this.lambda$connect$0$TakeNameToCamActivity();
}
}).start();
}
public void lambda$connect$0$TakeNameToCamActivity() {
if (this.mMyCamera.getIsDevNVR()) {
MyCamera myCamera = this.mMyCamera;
myCamera.connectNVR(myCamera.isNvrLoginType);
} else {
if (this.mMyCamera.getIsLiteOs()) {
Intent intent = new Intent(this, (Class<?>) WakeUpDevService.class);
intent.putExtra(HiDataValue.EXTRAS_KEY_UID, this.mMyCamera.getUid());
startService(intent);
return;
}
this.mMyCamera.connect();
}
}
private void checkShowCloudBuyTip() {
Log.e("CameraFragmentonResume", "checkShowCloudBuyTip = ");
if ((this.mMyCamera.getIsSupportCloud() || this.mMyCamera.getIsSupportLiteCloud()) && this.mMyCamera.getConnectState() == 4) {
if ((this.mMyCamera.getCameraLevel() == 1 && this.mMyCamera.isBindCurrentAccount() == HiTools.BindCurrentAccount_Y) || this.mMyCamera.getCameraLevel() == 20) {
ApiFactory.getApi().GetService(new ServiceRequ(this.mMyCamera.getUid(), DateUtils.getDate())).enqueue(new MyCallBack<ServiceResp>() {
@Override
public void onSuccess(ServiceResp serviceResp) {
Date date;
if (TakeNameToCamActivity.this.isFinishing()) {
return;
}
if (!TakeNameToCamActivity.this.mMyCamera.getIs_UseCloud()) {
TakeNameToCamActivity.this.mMyCamera.setmIs_UseCloud(true);
}
if (TextUtils.isEmpty(TakeNameToCamActivity.this.mMyCamera.getCloudEndTime())) {
TakeNameToCamActivity.this.mMyCamera.setCloudEndTime(serviceResp.getEndDate());
}
if (serviceResp.getEndDate().isEmpty() && TakeNameToCamActivity.this.mMyCamera.getCameraLevel() == 1 && TakeNameToCamActivity.this.mMyCamera.isBindCurrentAccount() == HiTools.BindCurrentAccount_Y) {
EventBus.getDefault().post(new ShowBuyCloudTip(TakeNameToCamActivity.this.mMyCamera));
return;
}
SimpleDateFormat simpleDateFormat = new SimpleDateFormat(TimeUtil.FORMAT_DATE_TIME_FULL, Locale.getDefault());
Date date2 = null;
try {
date = simpleDateFormat.parse(serviceResp.getEndDate());
try {
date2 = simpleDateFormat.parse(serviceResp.getDate());
} catch (ParseException e) {
e = e;
e.printStackTrace();
if (date == null) {
return;
} else {
return;
}
}
} catch (ParseException e2) {
e = e2;
date = null;
}
if (date == null && date2 != null && date.getTime() < date2.getTime() + 28800000 && TakeNameToCamActivity.this.mMyCamera.getCameraLevel() == 1 && TakeNameToCamActivity.this.mMyCamera.isBindCurrentAccount() == HiTools.BindCurrentAccount_Y) {
EventBus.getDefault().post(new ShowBuyCloudTip(TakeNameToCamActivity.this.mMyCamera));
}
}
@Override
public void onError(Throwable th, String str) {
Log.e("TakeNameToCamActivity====", "onError = " + str + "-----isFinishing = " + TakeNameToCamActivity.this.isFinishing());
if (TakeNameToCamActivity.this.isFinishing()) {
return;
}
if (TakeNameToCamActivity.this.mMyCamera.getIs_UseCloud()) {
TakeNameToCamActivity.this.mMyCamera.setmIs_UseCloud(false);
}
if (TakeNameToCamActivity.this.mMyCamera.getCameraLevel() == 1 && TakeNameToCamActivity.this.mMyCamera.isBindCurrentAccount() == HiTools.BindCurrentAccount_Y) {
EventBus.getDefault().post(new ShowBuyCloudTip(TakeNameToCamActivity.this.mMyCamera));
}
}
});
}
}
}
private void setListeners() {
Iterator<TextView> it = this.listTv.iterator();
while (it.hasNext()) {
it.next().setOnClickListener(this);
}
this.tv_confirm.setOnClickListener(this);
}
private void initViewAndData() {
this.title.setTitle(getString(R.string.title_name_setting));
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) {
TakeNameToCamActivity.this.startActivity(new Intent(TakeNameToCamActivity.this, (Class<?>) MainActivity.class));
} else {
if (i != 2) {
return;
}
TakeNameToCamActivity.this.startActivity(new Intent(TakeNameToCamActivity.this, (Class<?>) MainActivity.class), true);
}
}
});
this.listTv.add(this.tv_one);
this.listTv.add(this.tv_two);
this.listTv.add(this.tv_there);
this.listTv.add(this.tv_four);
this.listTv.add(this.tv_five);
this.listTv.add(this.tv_six);
this.listTv.add(this.tv_seven);
this.listTv.add(this.tv_eight);
EditText editText = this.et_name;
editText.setSelection(editText.getText().toString().length());
}
@Override
public void onClick(View view) {
switch (view.getId()) {
case R.id.tv_confirm:
if (HiTools.isCustomFastClick(700)) {
return;
}
String trim = this.et_name.getText().toString().trim();
this.str_name = trim;
if (TextUtils.isEmpty(trim)) {
showAlert(getString(R.string.device_name_cannot_be_empty));
return;
}
this.mMyCamera.setNikeName(this.str_name);
this.mMyCamera.updateInDatabase(this);
if (this.mMyCamera.getPushState() > 0) {
updatePushDevName(this.str_name);
}
startActivity(new Intent(this, (Class<?>) MainActivity.class), true);
finish();
return;
case R.id.tv_eight:
if (HiTools.isNVRDev(this.mMyCamera.uid)) {
this.et_name.setText(getString(R.string.parking_lot));
} else {
this.et_name.setText(getString(R.string.office));
}
setTxtViewSelect(7);
EditText editText = this.et_name;
editText.setSelection(editText.getText().toString().length());
return;
case R.id.tv_five:
if (HiTools.isNVRDev(this.mMyCamera.uid)) {
this.et_name.setText(getString(R.string.school));
} else {
this.et_name.setText(getString(R.string.shop));
}
setTxtViewSelect(4);
EditText editText2 = this.et_name;
editText2.setSelection(editText2.getText().toString().length());
return;
case R.id.tv_four:
if (HiTools.isNVRDev(this.mMyCamera.uid)) {
this.et_name.setText(getString(R.string.company));
} else {
this.et_name.setText(getString(R.string.babyroom));
}
setTxtViewSelect(3);
EditText editText3 = this.et_name;
editText3.setSelection(editText3.getText().toString().length());
return;
case R.id.tv_one:
if (HiTools.isNVRDev(this.mMyCamera.uid)) {
this.et_name.setText(getString(R.string.home));
} else {
this.et_name.setText(getString(R.string.parlour));
}
setTxtViewSelect(0);
EditText editText4 = this.et_name;
editText4.setSelection(editText4.getText().toString().length());
return;
case R.id.tv_seven:
if (HiTools.isNVRDev(this.mMyCamera.uid)) {
this.et_name.setText(getString(R.string.warehouse));
} else {
this.et_name.setText(getString(R.string.hall));
}
setTxtViewSelect(6);
EditText editText5 = this.et_name;
editText5.setSelection(editText5.getText().toString().length());
return;
case R.id.tv_six:
if (HiTools.isNVRDev(this.mMyCamera.uid)) {
this.et_name.setText(getString(R.string.shop));
} else {
this.et_name.setText(getString(R.string.corridor));
}
setTxtViewSelect(5);
EditText editText6 = this.et_name;
editText6.setSelection(editText6.getText().toString().length());
return;
case R.id.tv_there:
if (HiTools.isNVRDev(this.mMyCamera.uid)) {
this.et_name.setText(getString(R.string.farm));
} else {
this.et_name.setText(getString(R.string.doorway));
}
setTxtViewSelect(2);
EditText editText7 = this.et_name;
editText7.setSelection(editText7.getText().toString().length());
return;
case R.id.tv_two:
if (HiTools.isNVRDev(this.mMyCamera.uid)) {
this.et_name.setText(getString(R.string.factory));
} else {
this.et_name.setText(getString(R.string.bedroom));
}
setTxtViewSelect(1);
EditText editText8 = this.et_name;
editText8.setSelection(editText8.getText().toString().length());
return;
default:
return;
}
}
private void updatePushDevName(String str) {
if (this.mMyCamera.f987push != null) {
this.mMyCamera.updateDevName(str, this.bindPushResult);
}
}
private void setTxtViewSelect(int i) {
int i2 = 0;
while (i2 < this.listTv.size()) {
this.listTv.get(i2).setSelected(i2 == i);
i2++;
}
}
@Override
public void showAlert(CharSequence charSequence) {
WarningDialogBuilder warningDialogBuilder = WarningDialogBuilder.getInstance(this);
warningDialogBuilder.withMessage(charSequence).isCancelable(true).isCancelableOnTouchOutside(true).withEffect(Effectstype.Shake);
warningDialogBuilder.show();
}
@Override
public void onPause() {
super.onPause();
finish();
}
@Override
public void receiveSessionState(HiCamera hiCamera, int i) {
Message obtainMessage = this.mIOHandler.obtainMessage();
obtainMessage.what = HiDataValue.HANDLE_MESSAGE_SESSION_STATE;
obtainMessage.arg1 = i;
obtainMessage.obj = hiCamera;
this.mIOHandler.sendMessage(obtainMessage);
}
@Override
public void receiveIOCtrlData(HiCamera hiCamera, int i, byte[] bArr, int i2) {
if (i == 37125 && i2 == 0) {
MyCamera myCamera = (MyCamera) hiCamera;
HiLogcatUtil.i("==DEVICE_FISH_PARAM: " + myCamera.reciveBmpBuffer(bArr) + "");
if (!myCamera.reciveBmpBuffer(bArr)) {
return;
}
}
Bundle bundle = new Bundle();
bundle.putByteArray("data", bArr);
Message obtainMessage = this.mIOHandler.obtainMessage();
obtainMessage.what = HiDataValue.HANDLE_MESSAGE_RECEIVE_IOCTRL;
obtainMessage.obj = hiCamera;
obtainMessage.arg1 = i;
obtainMessage.arg2 = i2;
obtainMessage.setData(bundle);
this.mIOHandler.sendMessage(obtainMessage);
}
public void handSessionState(Message message, MyCamera myCamera) {
if (message.arg1 != 4) {
return;
}
Log.e("wry----", myCamera.getUid() + "----CAMERA_CONNECTION_STATE_LOGIN------camera.getCameraLevel() = " + myCamera.getCameraLevel() + "---camera.isBindCurrentAccount() = " + myCamera.isBindCurrentAccount() + "---camera.getIsLiteOs() = " + myCamera.getIsLiteOs());
if ((myCamera.getCameraLevel() == 1 && myCamera.isBindCurrentAccount() == HiTools.BindCurrentAccount_Y) || myCamera.getCameraLevel() == 20) {
if (myCamera.mIsLiteOs) {
if (myCamera.appGetCommandFunction(ConstantCommand.HI_P2P_GET_CLOUD_INFO)) {
myCamera.sendIOCtrl(ConstantCommand.HI_P2P_GET_CLOUD_INFO, new byte[0]);
}
} else if (myCamera.appGetCommandFunction(ConstantCommand.HI_P2P_CLOUD_CHECK)) {
if (myCamera.appGetCommandFunction(ConstantCommand.HI_P2P_GET_CLOUD_PARAM)) {
myCamera.sendIOCtrl(ConstantCommand.HI_P2P_GET_CLOUD_PARAM, new byte[0]);
}
} else if (myCamera.appGetCommandFunction(16798)) {
myCamera.sendIOCtrl(16798, new byte[0]);
}
}
}
public void handIOCTRLSuccess(Message message, MyCamera myCamera) {
byte[] byteArray = message.getData().getByteArray("data");
HiDataValue.CameraList.indexOf(myCamera);
if (byteArray == null) {
return;
}
Log.e("CameraFragmentonResume", "msg.arg1 = " + message.arg1);
int i = message.arg1;
Date date = null;
if (i == 16798) {
ConstantCommand.HI_P2P_CLOUD_UPDATE hi_p2p_cloud_update = new ConstantCommand.HI_P2P_CLOUD_UPDATE(byteArray);
if (!TextUtils.isEmpty(SharePreUtils.getString(HiDataValue.CACHE, this, myCamera.getUid() + Constant.NOT_SEND_CLOUD_STATUS))) {
hi_p2p_cloud_update.u32CloudEnable = 1;
hi_p2p_cloud_update.u32CloudUpdate = 1;
myCamera.sendIOCtrl(16797, hi_p2p_cloud_update.parseContent());
} else if (hi_p2p_cloud_update.u32CloudEnable == 0 && !TextUtils.isEmpty(myCamera.getCloudEndTime())) {
try {
date = this.format.parse(myCamera.getCloudEndTime());
} catch (ParseException e) {
e.printStackTrace();
}
if (date == null) {
return;
}
if (date.getTime() > System.currentTimeMillis()) {
hi_p2p_cloud_update.u32CloudEnable = 1;
hi_p2p_cloud_update.u32CloudUpdate = 1;
myCamera.sendIOCtrl(16797, hi_p2p_cloud_update.parseContent());
}
}
checkShowCloudBuyTip();
return;
}
if (i != 16822) {
if (i != 65569) {
return;
}
ConstantCommand.HI_P2P_CLOUD_UPDATE hi_p2p_cloud_update2 = new ConstantCommand.HI_P2P_CLOUD_UPDATE(byteArray);
if (hi_p2p_cloud_update2.u32CloudServer == 1) {
if (!myCamera.getIsSupportLiteCloud()) {
myCamera.setIsSupportLiteCloud(true);
}
if (!TextUtils.isEmpty(SharePreUtils.getString(HiDataValue.CACHE, this, myCamera.getUid() + Constant.NOT_SEND_CLOUD_STATUS))) {
hi_p2p_cloud_update2.u32CloudEnable = 1;
hi_p2p_cloud_update2.u32CloudUpdate = 1;
myCamera.sendIOCtrl(ConstantCommand.HI_P2P_SET_CLOUD_INFO, hi_p2p_cloud_update2.parseContent());
} else if (hi_p2p_cloud_update2.u32CloudEnable == 0 && !TextUtils.isEmpty(myCamera.getCloudEndTime())) {
try {
date = this.format.parse(myCamera.getCloudEndTime());
} catch (ParseException e2) {
e2.printStackTrace();
}
if (date == null) {
return;
}
if (date.getTime() > System.currentTimeMillis()) {
hi_p2p_cloud_update2.u32CloudEnable = 1;
hi_p2p_cloud_update2.u32CloudUpdate = 1;
myCamera.sendIOCtrl(ConstantCommand.HI_P2P_SET_CLOUD_INFO, hi_p2p_cloud_update2.parseContent());
}
}
checkShowCloudBuyTip();
return;
}
myCamera.setIsSupportLiteCloud(false);
return;
}
ConstantCommand.HI_P2P_GET_CLOUD_PARAM hi_p2p_get_cloud_param = new ConstantCommand.HI_P2P_GET_CLOUD_PARAM(byteArray);
if (hi_p2p_get_cloud_param.u32MfrsName == 1) {
myCamera.setIsSupportCloud(true);
myCamera.setCloudType(1);
String string = Packet.getString(hi_p2p_get_cloud_param.u8CloudAddr);
if (Constant.stringIsIP(string)) {
myCamera.setEcsIp(string);
}
if (hi_p2p_get_cloud_param.u32CloudPort > 0) {
myCamera.setEcsPort(hi_p2p_get_cloud_param.u32CloudPort + 9);
}
if (!TextUtils.isEmpty(SharePreUtils.getString(HiDataValue.CACHE, this, myCamera.getUid() + Constant.NOT_SEND_CLOUD_STATUS))) {
hi_p2p_get_cloud_param.u32CloudEnable = 1;
hi_p2p_get_cloud_param.u32CloudUpdate = 1;
myCamera.sendIOCtrl(ConstantCommand.HI_P2P_SET_CLOUD_PARAM, hi_p2p_get_cloud_param.parseContent());
} else if (!TextUtils.isEmpty(myCamera.getCloudEndTime())) {
try {
date = this.format.parse(myCamera.getCloudEndTime());
} catch (ParseException e3) {
e3.printStackTrace();
}
if (date == null) {
return;
}
if (date.getTime() > System.currentTimeMillis() && hi_p2p_get_cloud_param.u32CloudEnable == 0) {
hi_p2p_get_cloud_param.u32CloudEnable = 1;
hi_p2p_get_cloud_param.u32CloudUpdate = 1;
myCamera.sendIOCtrl(ConstantCommand.HI_P2P_SET_CLOUD_PARAM, hi_p2p_get_cloud_param.parseContent());
}
}
checkShowCloudBuyTip();
}
}
@Override
public void onDestroy() {
super.onDestroy();
if (this.mMyCamera != null) {
Log.e("CameraFragmentonResume", "onDestroy = ");
this.mMyCamera.unregisterIOSessionListener(this);
}
Handler handler = this.mIOHandler;
if (handler != null) {
handler.removeCallbacksAndMessages(null);
}
}
}