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