AlarmActionActivity.java 源代码
package activity.setting;
import android.animation.AnimatorSet;
import android.animation.ObjectAnimator;
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.CompoundButton;
import android.widget.LinearLayout;
import android.widget.RadioButton;
import android.widget.RadioGroup;
import android.widget.TextView;
import base.HiActivity;
import bean.MyCamera;
import com.hichip.base.HiLog;
import com.hichip.callback.ICameraIOSessionCallback;
import com.hichip.campro.R;
import com.hichip.content.HiChipDefines;
import com.hichip.control.HiCamera;
import common.CamHiDefines;
import common.HiDataValue;
import common.TitleView;
import custom.SwitchButton;
import java.util.Iterator;
import java.util.regex.Pattern;
import utils.MyToast;
public class AlarmActionActivity extends HiActivity implements ICameraIOSessionCallback, RadioGroup.OnCheckedChangeListener, CompoundButton.OnCheckedChangeListener, View.OnClickListener {
private static final int HANDLE_MESSAGE_BIND_FAIL = -2147483646;
private static final int HANDLE_MESSAGE_BIND_SUCCESS = -2147483647;
private static final int HANDLE_MESSAGE_UNBIND_FAIL = -2147483644;
private static final int HANDLE_MESSAGE_UNBIND_SUCCESS = -2147483645;
private SwitchButton alarm_push_email_alarm_tgbtn;
private SwitchButton alarm_push_push_tgbtn;
private SwitchButton alarm_push_save_picture_tgbtn;
private SwitchButton alarm_push_sd_video_tgbtn;
private SwitchButton alarm_push_video_tgbtn;
LinearLayout ll_alarm_action_setting;
LinearLayout ll_alarm_antion;
LinearLayout ll_alarm_time;
LinearLayout ll_alarm_voice_type;
private HiChipDefines.ALARMTOSOUND_TYPE mAlarmToSoundType;
private MyCamera mCamera;
private RadioGroup mRgPictureNum;
private HiChipDefines.HI_P2P_S_ALARM_PARAM param;
RadioButton radio_one;
RadioButton radio_there;
RadioButton radio_two;
private HiChipDefines.HI_P2P_SNAP_ALARM snapParam;
SwitchButton switch_alarm_action;
TextView tv_alarm_time;
TextView tv_voice_type;
private int mPictureNum = 1;
private int mVoiceType = 0;
private int mTime = 0;
private int mEnable = 0;
private MyCamera.OnBindPushResult bindPushResult = new MyCamera.OnBindPushResult() {
@Override
public void onBindTokenIsNull(MyCamera myCamera, boolean z) {
}
@Override
public void onUpdatePushNameFail(MyCamera myCamera) {
}
@Override
public void onUpdatePushNameSuccess(MyCamera myCamera) {
}
@Override
public void onBindSuccess(MyCamera myCamera) {
Message obtainMessage = AlarmActionActivity.this.handler.obtainMessage();
obtainMessage.what = -2147483647;
obtainMessage.obj = myCamera;
AlarmActionActivity.this.handler.sendMessage(obtainMessage);
}
@Override
public void onBindFail(MyCamera myCamera) {
Message obtainMessage = AlarmActionActivity.this.handler.obtainMessage();
obtainMessage.what = -2147483646;
AlarmActionActivity.this.handler.sendMessage(obtainMessage);
}
@Override
public void onUnBindSuccess(MyCamera myCamera) {
Message obtainMessage = AlarmActionActivity.this.handler.obtainMessage();
obtainMessage.what = AlarmActionActivity.HANDLE_MESSAGE_UNBIND_SUCCESS;
AlarmActionActivity.this.handler.sendMessage(obtainMessage);
}
@Override
public void onUnBindFail(MyCamera myCamera) {
Message obtainMessage = AlarmActionActivity.this.handler.obtainMessage();
obtainMessage.what = AlarmActionActivity.HANDLE_MESSAGE_UNBIND_FAIL;
AlarmActionActivity.this.handler.sendMessage(obtainMessage);
}
};
private Handler handler = new Handler() {
@Override
public void handleMessage(Message message) {
AlarmActionActivity alarmActionActivity;
int i;
int i2 = message.what;
if (i2 != -1879048189) {
switch (i2) {
case -2147483647:
AlarmActionActivity.this.dismissjuHuaDialog();
MyCamera myCamera = (MyCamera) message.obj;
myCamera.setServerData(myCamera.getCorrectAddress());
myCamera.updateInDatabase(AlarmActionActivity.this);
AlarmActionActivity.this.sendServer(myCamera);
AlarmActionActivity.this.sendRegister();
return;
case -2147483646:
AlarmActionActivity alarmActionActivity2 = AlarmActionActivity.this;
MyToast.showToast(alarmActionActivity2, alarmActionActivity2.getString(R.string.tip_open_faild));
AlarmActionActivity.this.mChecked = true;
AlarmActionActivity.this.alarm_push_push_tgbtn.setChecked(false);
AlarmActionActivity.this.dismissjuHuaDialog();
AlarmActionActivity.this.mCamera.updateInDatabase(AlarmActionActivity.this);
return;
case AlarmActionActivity.HANDLE_MESSAGE_UNBIND_SUCCESS:
AlarmActionActivity.this.sendUnRegister();
AlarmActionActivity.this.mCamera.setPushState(0);
AlarmActionActivity.this.dismissjuHuaDialog();
AlarmActionActivity.this.mCamera.updateInDatabase(AlarmActionActivity.this);
return;
case AlarmActionActivity.HANDLE_MESSAGE_UNBIND_FAIL:
AlarmActionActivity alarmActionActivity3 = AlarmActionActivity.this;
MyToast.showToast(alarmActionActivity3, alarmActionActivity3.getString(R.string.tip_close_failed));
AlarmActionActivity.this.mChecked = true;
AlarmActionActivity.this.alarm_push_push_tgbtn.setChecked(true);
AlarmActionActivity.this.dismissjuHuaDialog();
AlarmActionActivity.this.mCamera.updateInDatabase(AlarmActionActivity.this);
return;
default:
return;
}
}
if (message.arg2 == 0) {
byte[] byteArray = message.getData().getByteArray("data");
int i3 = message.arg1;
if (i3 == 16656) {
AlarmActionActivity.this.snapParam = new HiChipDefines.HI_P2P_SNAP_ALARM(byteArray);
int i4 = AlarmActionActivity.this.snapParam.u32Number;
if (i4 == 1) {
AlarmActionActivity.this.radio_one.setChecked(true);
} else if (i4 == 2) {
AlarmActionActivity.this.radio_two.setChecked(true);
} else if (i4 == 3) {
AlarmActionActivity.this.radio_there.setChecked(true);
}
AlarmActionActivity.this.mRgPictureNum.setOnCheckedChangeListener(AlarmActionActivity.this);
return;
}
if (i3 == 16657) {
AlarmActionActivity.this.dismissjuHuaDialog();
return;
}
if (i3 == 16720) {
AlarmActionActivity.this.dismissjuHuaDialog();
return;
}
if (i3 != 16773) {
if (i3 == 16774) {
AlarmActionActivity.this.dismissjuHuaDialog();
return;
}
if (i3 != 20743) {
if (i3 != 20744) {
return;
}
AlarmActionActivity.this.mCamera.updateInDatabase(AlarmActionActivity.this);
AlarmActionActivity.this.dismissjuHuaDialog();
return;
}
AlarmActionActivity.this.param = new HiChipDefines.HI_P2P_S_ALARM_PARAM(byteArray);
AlarmActionActivity.this.alarm_push_sd_video_tgbtn.setChecked(AlarmActionActivity.this.param.u32SDRec == 1);
AlarmActionActivity.this.alarm_push_sd_video_tgbtn.setOnCheckedChangeListener(AlarmActionActivity.this);
AlarmActionActivity.this.alarm_push_email_alarm_tgbtn.setChecked(AlarmActionActivity.this.param.u32EmailSnap == 1);
AlarmActionActivity.this.alarm_push_email_alarm_tgbtn.setOnCheckedChangeListener(AlarmActionActivity.this);
AlarmActionActivity.this.alarm_push_save_picture_tgbtn.setChecked(AlarmActionActivity.this.param.u32FtpSnap == 1);
AlarmActionActivity.this.alarm_push_save_picture_tgbtn.setOnCheckedChangeListener(AlarmActionActivity.this);
AlarmActionActivity.this.alarm_push_video_tgbtn.setChecked(AlarmActionActivity.this.param.u32FtpRec == 1);
AlarmActionActivity.this.alarm_push_video_tgbtn.setOnCheckedChangeListener(AlarmActionActivity.this);
return;
}
AlarmActionActivity.this.mAlarmToSoundType = new HiChipDefines.ALARMTOSOUND_TYPE(byteArray);
AlarmActionActivity alarmActionActivity4 = AlarmActionActivity.this;
alarmActionActivity4.mVoiceType = alarmActionActivity4.mAlarmToSoundType.SoundType;
AlarmActionActivity alarmActionActivity5 = AlarmActionActivity.this;
alarmActionActivity5.mTime = alarmActionActivity5.mAlarmToSoundType.TimeLast;
AlarmActionActivity alarmActionActivity6 = AlarmActionActivity.this;
alarmActionActivity6.mEnable = alarmActionActivity6.mAlarmToSoundType.enable;
AlarmActionActivity.this.switch_alarm_action.setChecked(AlarmActionActivity.this.mAlarmToSoundType.enable == 1);
TextView textView = AlarmActionActivity.this.tv_voice_type;
if (AlarmActionActivity.this.mAlarmToSoundType.SoundType == 0) {
alarmActionActivity = AlarmActionActivity.this;
i = R.string.alarm_alarm_sound;
} else {
alarmActionActivity = AlarmActionActivity.this;
i = R.string.alarm_barking;
}
textView.setText(alarmActionActivity.getString(i));
AlarmActionActivity.this.tv_alarm_time.setText(((int) AlarmActionActivity.this.mAlarmToSoundType.TimeLast) + AlarmActionActivity.this.getString(R.string.sends));
return;
}
if (message.arg1 != 20744) {
return;
}
AlarmActionActivity alarmActionActivity7 = AlarmActionActivity.this;
MyToast.showToast(alarmActionActivity7, alarmActionActivity7.getResources().getString(R.string.alarm_action_save_failed));
}
};
private boolean mChecked = false;
@Override
public void onPointerCaptureChanged(boolean z) {
}
@Override
public void receiveSessionState(HiCamera hiCamera, int i) {
}
@Override
protected int setLayoutId() {
return R.layout.activity_action_with_alarm;
}
@Override
protected void init(Bundle bundle) {
String stringExtra = getIntent().getStringExtra(HiDataValue.EXTRAS_KEY_UID);
Iterator<MyCamera> it = HiDataValue.CameraList.iterator();
while (true) {
if (!it.hasNext()) {
break;
}
MyCamera next = it.next();
if (stringExtra.equals(next.getUid())) {
this.mCamera = next;
next.sendIOCtrl(HiChipDefines.HI_P2P_GET_ALARM_PARAM, null);
this.mCamera.sendIOCtrl(HiChipDefines.HI_P2P_GET_SNAP_ALARM_PARAM, null);
break;
}
}
initView();
setOnListeners();
}
private void setOnListeners() {
this.switch_alarm_action.setOnCheckedChangeListener(this);
this.ll_alarm_voice_type.setOnClickListener(this);
this.ll_alarm_time.setOnClickListener(this);
}
private void initView() {
TitleView titleView = (TitleView) findViewById(R.id.title_top);
titleView.setTitle(getResources().getString(R.string.title_action_with_alarm));
titleView.setButton(0);
titleView.setNavigationBarButtonListener(new TitleView.NavigationBarButtonListener() {
@Override
public void OnNavigationButtonClick(int i) {
if (i != 0) {
return;
}
AlarmActionActivity.this.finish();
}
});
this.alarm_push_push_tgbtn = (SwitchButton) findViewById(R.id.alarm_push_push_tgbtn);
if (this.mCamera.getPushState() > 0) {
this.alarm_push_push_tgbtn.setChecked(true);
} else {
this.alarm_push_push_tgbtn.setChecked(false);
}
this.alarm_push_push_tgbtn.setOnCheckedChangeListener(this);
this.alarm_push_sd_video_tgbtn = (SwitchButton) findViewById(R.id.alarm_push_sd_video_tgbtn);
this.alarm_push_email_alarm_tgbtn = (SwitchButton) findViewById(R.id.alarm_push_email_alarm_tgbtn);
this.alarm_push_save_picture_tgbtn = (SwitchButton) findViewById(R.id.alarm_push_save_picture_tgbtn);
this.alarm_push_video_tgbtn = (SwitchButton) findViewById(R.id.alarm_push_video_tgbtn);
initRGPicView();
LinearLayout linearLayout = (LinearLayout) findViewById(R.id.action_alarm_picture_num_ll);
if (this.mCamera.getChipVersion() == 0 && this.mCamera.appGetCommandFunction(HiChipDefines.HI_P2P_GET_SNAP_ALARM_PARAM)) {
linearLayout.setVisibility(0);
}
MyCamera myCamera = this.mCamera;
if (myCamera != null && myCamera.appGetCommandFunction(HiChipDefines.HI_P2P_GET_ALARMTOSOUND)) {
this.mCamera.sendIOCtrl(HiChipDefines.HI_P2P_GET_ALARMTOSOUND, new byte[0]);
this.ll_alarm_antion.setVisibility(0);
} else {
this.ll_alarm_antion.setVisibility(8);
}
}
private void initRGPicView() {
this.mRgPictureNum = (RadioGroup) findViewById(R.id.radioGroup_alarm_action);
}
public void sendRegister() {
if (this.mCamera.getPushState() != 1 && this.mCamera.appGetCommandFunction(CamHiDefines.HI_P2P_ALARM_TOKEN_REGIST)) {
this.mCamera.sendIOCtrl(CamHiDefines.HI_P2P_ALARM_TOKEN_REGIST, CamHiDefines.HI_P2P_ALARM_TOKEN_INFO.parseContent(0, this.mCamera.getPushState(), (int) ((System.currentTimeMillis() / 1000) / 3600), this.mCamera.getPushState() <= 0 ? 0 : 1));
}
}
public void sendUnRegister() {
if (this.mCamera.getPushState() == 0) {
return;
}
if (!this.mCamera.appGetCommandFunction(CamHiDefines.HI_P2P_ALARM_TOKEN_UNREGIST)) {
HiLog.v("UNREGIST FUCTION: false ");
} else {
this.mCamera.sendIOCtrl(CamHiDefines.HI_P2P_ALARM_TOKEN_UNREGIST, CamHiDefines.HI_P2P_ALARM_TOKEN_INFO.parseContent(0, this.mCamera.getPushState(), (int) ((System.currentTimeMillis() / 1000) / 3600), this.mCamera.getPushState() > 0 ? 1 : 0));
}
}
protected void sendFTPSetting() {
HiChipDefines.HI_P2P_S_ALARM_PARAM hi_p2p_s_alarm_param = this.param;
if (hi_p2p_s_alarm_param == null) {
return;
}
hi_p2p_s_alarm_param.u32SDRec = this.alarm_push_sd_video_tgbtn.isChecked() ? 1 : 0;
this.param.u32EmailSnap = this.alarm_push_email_alarm_tgbtn.isChecked() ? 1 : 0;
this.param.u32FtpSnap = this.alarm_push_save_picture_tgbtn.isChecked() ? 1 : 0;
this.param.u32FtpRec = this.alarm_push_video_tgbtn.isChecked() ? 1 : 0;
showjuHuaDialog();
this.mCamera.sendIOCtrl(HiChipDefines.HI_P2P_SET_ALARM_PARAM, this.param.parseContent());
HiChipDefines.HI_P2P_SNAP_ALARM hi_p2p_snap_alarm = this.snapParam;
if (hi_p2p_snap_alarm == null) {
return;
}
hi_p2p_snap_alarm.u32Number = this.mPictureNum;
HiChipDefines.HI_P2P_SNAP_ALARM hi_p2p_snap_alarm2 = this.snapParam;
hi_p2p_snap_alarm2.u32Interval = hi_p2p_snap_alarm2.u32Interval >= 5 ? this.snapParam.u32Interval : 5;
this.mCamera.sendIOCtrl(HiChipDefines.HI_P2P_SET_SNAP_ALARM_PARAM, this.snapParam.parseContent());
}
@Override
public void receiveIOCtrlData(HiCamera hiCamera, int i, byte[] bArr, int i2) {
if (hiCamera != this.mCamera) {
return;
}
Bundle bundle = new Bundle();
bundle.putByteArray("data", bArr);
Message obtainMessage = this.handler.obtainMessage();
obtainMessage.what = HiDataValue.HANDLE_MESSAGE_RECEIVE_IOCTRL;
obtainMessage.obj = hiCamera;
obtainMessage.arg1 = i;
obtainMessage.arg2 = i2;
obtainMessage.setData(bundle);
this.handler.sendMessage(obtainMessage);
}
@Override
public void onResume() {
super.onResume();
MyCamera myCamera = this.mCamera;
if (myCamera != null) {
myCamera.registerIOSessionListener(this);
}
}
@Override
public void onPause() {
super.onPause();
MyCamera myCamera = this.mCamera;
if (myCamera != null) {
myCamera.unregisterIOSessionListener(this);
}
}
@Override
public void onCheckedChanged(CompoundButton compoundButton, boolean z) {
int id = compoundButton.getId();
boolean z2 = true;
if (id != R.id.switch_alarm_action) {
switch (id) {
case R.id.alarm_push_email_alarm_tgbtn:
sendFTPSetting();
return;
case R.id.alarm_push_push_tgbtn:
if (this.mChecked) {
this.mChecked = false;
return;
}
Log.e("JG", "name:" + this.mCamera.getPushName());
Log.e("JG", "name1:" + TextUtils.isEmpty(this.mCamera.getPushName()));
if (!"jiguang".equals(this.mCamera.getPushName()) && !TextUtils.isEmpty(this.mCamera.getPushName())) {
z2 = false;
}
if (z2) {
this.mCamera.setPushState(z ? 1 : 0);
this.mCamera.updateInDatabase(this);
return;
} else {
showjuHuaDialog();
this.mCamera.bindPushState(compoundButton.isChecked(), this.bindPushResult);
return;
}
case R.id.alarm_push_save_picture_tgbtn:
sendFTPSetting();
return;
case R.id.alarm_push_sd_video_tgbtn:
sendFTPSetting();
return;
case R.id.alarm_push_video_tgbtn:
sendFTPSetting();
return;
default:
return;
}
}
if (this.mAlarmToSoundType != null) {
this.mEnable = z ? 1 : 0;
byte b = (byte) this.mVoiceType;
byte b2 = (byte) this.mTime;
showjuHuaDialog();
if (z) {
this.ll_alarm_action_setting.setVisibility(0);
AnimatorSet animatorSet = new AnimatorSet();
animatorSet.playTogether(ObjectAnimator.ofFloat(this.ll_alarm_action_setting, "Alpha", 0.0f, 1.0f));
animatorSet.setDuration(500L);
animatorSet.start();
} else {
this.ll_alarm_action_setting.setVisibility(8);
}
this.mCamera.sendIOCtrl(HiChipDefines.HI_P2P_SET_ALARMTOSOUND, HiChipDefines.ALARMTOSOUND_TYPE.parseContent(z ? (byte) 1 : (byte) 0, b, b2));
}
}
@Override
public void onCheckedChanged(RadioGroup radioGroup, int i) {
switch (i) {
case R.id.radio_one:
this.mPictureNum = 1;
sendFTPSetting();
return;
case R.id.radio_sixty_hz:
default:
return;
case R.id.radio_there:
this.mPictureNum = 3;
sendFTPSetting();
return;
case R.id.radio_two:
this.mPictureNum = 2;
sendFTPSetting();
return;
}
}
protected void sendServer(MyCamera myCamera) {
if (myCamera.getServerData() == null) {
myCamera.setServerData("120.24.179.113");
myCamera.updateServerInDatabase(this);
}
if (myCamera.appGetCommandFunction(CamHiDefines.HI_P2P_ALARM_ADDRESS_SET) && myCamera.f987push != null) {
String[] split = myCamera.f987push.getPushServer().split("\\.");
if (split.length == 4 && isInteger(split[0]) && isInteger(split[1]) && isInteger(split[2]) && isInteger(split[3])) {
myCamera.sendIOCtrl(CamHiDefines.HI_P2P_ALARM_ADDRESS_SET, CamHiDefines.HI_P2P_ALARM_ADDRESS.parseContent(myCamera.f987push.getPushServer()));
}
}
}
public static boolean isInteger(String str) {
return Pattern.compile("^[-\\+]?[\\d]*$").matcher(str).matches();
}
@Override
public void onClick(View view) {
int id = view.getId();
if (id == R.id.ll_alarm_time) {
Intent intent = new Intent(this, (Class<?>) AlarmSoundTimeActivity.class);
intent.putExtra("mTime", this.mTime);
startActivityForResult(intent, 119);
} else {
if (id != R.id.ll_alarm_voice_type) {
return;
}
Intent intent2 = new Intent(this, (Class<?>) AlarmVoiceTypeActivity.class);
intent2.putExtra("mVoiceType", this.mVoiceType);
startActivityForResult(intent2, 110);
}
}
@Override
public void onActivityResult(int i, int i2, Intent intent) {
super.onActivityResult(i, i2, intent);
if (i2 == -1) {
if (i == 110) {
int intExtra = intent.getIntExtra("mVoiceType", 0);
this.mVoiceType = intExtra;
this.tv_voice_type.setText(getString(intExtra == 0 ? R.string.alarm_alarm_sound : R.string.alarm_barking));
showjuHuaDialog();
this.mCamera.sendIOCtrl(HiChipDefines.HI_P2P_SET_ALARMTOSOUND, HiChipDefines.ALARMTOSOUND_TYPE.parseContent((byte) this.mEnable, (byte) this.mVoiceType, (byte) this.mTime));
return;
}
if (i != 119) {
return;
}
this.mTime = intent.getIntExtra("mTime", 5);
this.tv_alarm_time.setText(this.mTime + getString(R.string.sends));
showjuHuaDialog();
this.mCamera.sendIOCtrl(HiChipDefines.HI_P2P_SET_ALARMTOSOUND, HiChipDefines.ALARMTOSOUND_TYPE.parseContent((byte) this.mEnable, (byte) this.mVoiceType, (byte) this.mTime));
}
}
}