OSPlanVideoActivity.java 源代码


package liteos.ossetting;

import activity.setting.PlanVideo.PlanVideoAdvanceSetActivity;
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.view.animation.AccelerateInterpolator;
import android.widget.CheckBox;
import android.widget.CompoundButton;
import android.widget.LinearLayout;
import android.widget.RadioButton;
import android.widget.RadioGroup;
import android.widget.RelativeLayout;
import base.HiActivity;
import bean.MyCamera;
import bean.TimeArrayBean;
import com.hichip.callback.ICameraIOSessionCallback;
import com.hichip.campro.R;
import com.hichip.content.HiChipDefines;
import com.hichip.control.HiCamera;
import com.xiaomi.mipush.sdk.Constants;
import common.ConstantCommand;
import common.HiDataValue;
import common.TitleView;
import custom.SwitchButton;
import custom.dialog.NiftyDialogBuilder;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
import java.util.Iterator;
import utils.HiTools;
import utils.MyToast;
import utils.TimeUtil;

public class OSPlanVideoActivity extends HiActivity implements View.OnClickListener, ICameraIOSessionCallback, CompoundButton.OnCheckedChangeListener {
    LinearLayout ll_planvideo_content;
    LinearLayout ll_stream;
    private int mGetStream;
    private MyCamera mMyCamera;
    private HiChipDefines.HI_P2P_QUANTUM_TIME quantum_time;
    RadioButton rb_15;
    RadioButton rb_30;
    RadioButton rb_60;
    CheckBox rb_advance_check;
    RadioButton rb_first_stream;
    RadioButton rb_second_stream;
    CheckBox rb_simple_check;
    private ConstantCommand.HI_P2P_REC_INFO rec_param;
    RadioGroup rg_record_time_set;
    RadioGroup rg_stream_set;
    RelativeLayout rl_advanced_set;
    RelativeLayout rl_simple_set;
    SwitchButton switch_record;
    TitleView title;
    private ArrayList<TimeArrayBean> mBeans = new ArrayList<>();
    private Handler mHandler = new Handler() {
        @Override
        public void handleMessage(Message message) {
            if (message.what != -1879048189) {
                return;
            }
            if (message.arg2 == 0) {
                OSPlanVideoActivity.this.handIOCTRLSuccess(message);
            } else {
                Log.e("==HI_P2P_REC_INFO_GET", "fail");
            }
        }
    };
    private SimpleDateFormat sdf = new SimpleDateFormat(TimeUtil.FORMAT_TIME);

    @Override
    public void receiveSessionState(HiCamera hiCamera, int i) {
    }

    @Override
    protected int setLayoutId() {
        return R.layout.activity_planvideo_os;
    }

    @Override
    protected void init(Bundle bundle) {
        getIntentData();
        initViewAndData();
        setListeners();
    }

    @Override
    public void onResume() {
        super.onResume();
        MyCamera myCamera = this.mMyCamera;
        if (myCamera != null) {
            myCamera.registerIOSessionListener(this);
        }
    }

    @Override
    public void onPause() {
        super.onPause();
        MyCamera myCamera = this.mMyCamera;
        if (myCamera != null) {
            myCamera.unregisterIOSessionListener(this);
        }
    }

    private void setListeners() {
        this.rl_simple_set.setOnClickListener(this);
        this.rl_advanced_set.setOnClickListener(this);
        this.rg_stream_set.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
            @Override
            public final void onCheckedChanged(RadioGroup radioGroup, int i) {
                OSPlanVideoActivity.this.lambda$setListeners$0$OSPlanVideoActivity(radioGroup, i);
            }
        });
        this.rg_record_time_set.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
            @Override
            public final void onCheckedChanged(RadioGroup radioGroup, int i) {
                OSPlanVideoActivity.this.lambda$setListeners$1$OSPlanVideoActivity(radioGroup, i);
            }
        });
    }

    public void lambda$setListeners$0$OSPlanVideoActivity(RadioGroup radioGroup, int i) {
        if (i == R.id.rb_first_stream) {
            this.rec_param.u32RecChannel = 0;
        } else if (i == R.id.rb_second_stream) {
            this.rec_param.u32RecChannel = 1;
        }
        if (this.mGetStream == this.rec_param.u32RecChannel) {
            return;
        }
        MyToast.showToast(this, getString(R.string.setting_success));
        this.mMyCamera.sendIOCtrl(65537, this.rec_param.parseContent());
    }

    public void lambda$setListeners$1$OSPlanVideoActivity(RadioGroup radioGroup, int i) {
        if (i == R.id.rb_15) {
            this.rec_param.u32FileLen = 15;
        } else if (i == R.id.rb_30) {
            this.rec_param.u32FileLen = 30;
        } else if (i == R.id.rb_60) {
            this.rec_param.u32FileLen = 60;
        }
        showjuHuaDialog();
        this.mMyCamera.sendIOCtrl(65537, this.rec_param.parseContent());
    }

    private void getIntentData() {
        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 (next.getUid().equals(stringExtra)) {
                this.mMyCamera = next;
                break;
            }
        }
        if (HiTools.cameraWhetherNull(this.mMyCamera, this)) {
            return;
        }
        this.mMyCamera.sendIOCtrl(65536, new byte[0]);
    }

    private void initViewAndData() {
        this.title.setTitle(getString(R.string.sd_plan_video));
        this.title.setButton(0);
        this.title.setNavigationBarButtonListener(new TitleView.NavigationBarButtonListener() {
            @Override
            public final void OnNavigationButtonClick(int i) {
                OSPlanVideoActivity.this.lambda$initViewAndData$2$OSPlanVideoActivity(i);
            }
        });
        this.ll_stream.setVisibility(this.mMyCamera.isFishEye() ? 8 : 0);
    }

    public void lambda$initViewAndData$2$OSPlanVideoActivity(int i) {
        if (i != 0) {
            return;
        }
        finish();
    }

    @Override
    public void onClick(View view) {
        int id = view.getId();
        if (id != R.id.rl_advanced_set) {
            if (id == R.id.rl_simple_set && !this.rb_simple_check.isChecked()) {
                final NiftyDialogBuilder niftyDialogBuilder = NiftyDialogBuilder.getInstance(this);
                niftyDialogBuilder.withMessageLayoutHWrapW(HiTools.dip2px(this, 280.0f));
                niftyDialogBuilder.withTitle(getString(R.string.tip_reminder)).withMessage(getString(R.string.clear_time));
                niftyDialogBuilder.withButton1Text(getString(R.string.cancel)).withButton2Text(getString(R.string.confirm));
                niftyDialogBuilder.show();
                niftyDialogBuilder.setButton1Click(new View.OnClickListener() {
                    @Override
                    public final void onClick(View view2) {
                        NiftyDialogBuilder.this.dismiss();
                    }
                });
                niftyDialogBuilder.setButton2Click(new View.OnClickListener() {
                    @Override
                    public final void onClick(View view2) {
                        OSPlanVideoActivity.this.lambda$onClick$4$OSPlanVideoActivity(niftyDialogBuilder, view2);
                    }
                });
                return;
            }
            return;
        }
        Intent intent = new Intent(this, (Class<?>) PlanVideoAdvanceSetActivity.class);
        intent.putExtra(HiDataValue.EXTRAS_KEY_UID, this.mMyCamera.getUid());
        startActivity(intent);
    }

    public void lambda$onClick$4$OSPlanVideoActivity(NiftyDialogBuilder niftyDialogBuilder, View view) {
        niftyDialogBuilder.dismiss();
        handSimpleSet();
    }

    private void handSimpleSet() {
        for (int i = 0; i < 7; i++) {
            for (int i2 = 0; i2 < 48; i2++) {
                this.quantum_time.sDayData[i][i2] = 80;
            }
        }
        this.quantum_time.u32QtType = 1;
        showjuHuaDialog();
        this.mMyCamera.sendIOCtrl(HiChipDefines.HI_P2P_SET_REC_AUTO_SCHEDULE, this.quantum_time.parseContent());
        this.rb_simple_check.setChecked(true);
        this.rb_advance_check.setChecked(false);
    }

    @Override
    public void receiveIOCtrlData(HiCamera hiCamera, int i, byte[] bArr, int i2) {
        if (hiCamera != this.mMyCamera) {
            return;
        }
        Bundle bundle = new Bundle();
        bundle.putByteArray("data", bArr);
        Message obtain = Message.obtain();
        obtain.what = HiDataValue.HANDLE_MESSAGE_RECEIVE_IOCTRL;
        obtain.obj = hiCamera;
        obtain.arg1 = i;
        obtain.arg2 = i2;
        obtain.setData(bundle);
        this.mHandler.sendMessage(obtain);
    }

    public void handIOCTRLSuccess(Message message) {
        byte[] byteArray = message.getData().getByteArray("data");
        int i = message.arg1;
        if (i != 65536) {
            if (i != 65537) {
                return;
            }
            dismissjuHuaDialog();
            return;
        }
        ConstantCommand.HI_P2P_REC_INFO hi_p2p_rec_info = new ConstantCommand.HI_P2P_REC_INFO(byteArray);
        this.rec_param = hi_p2p_rec_info;
        if (hi_p2p_rec_info.u32FileLen == 15) {
            this.rb_15.setChecked(true);
        } else if (this.rec_param.u32FileLen == 30) {
            this.rb_30.setChecked(true);
        } else if (this.rec_param.u32FileLen == 60) {
            this.rb_60.setChecked(true);
        }
        this.switch_record.setChecked(this.rec_param.u32Enable == 1);
        this.mGetStream = this.rec_param.u32RecChannel;
        if (this.rec_param.u32RecChannel == 1) {
            this.rb_second_stream.setChecked(true);
        } else if (this.rec_param.u32RecChannel == 0) {
            this.rb_first_stream.setChecked(true);
        }
        if (this.rec_param.u32Enable == 1) {
            showViewContent();
        }
        this.switch_record.setOnCheckedChangeListener(this);
    }

    private void handView() {
        Iterator<TimeArrayBean> it = this.mBeans.iterator();
        int i = 0;
        while (it.hasNext()) {
            if (it.next().mIsAllDay) {
                i++;
            }
        }
        if (i == 7) {
            this.rb_simple_check.setChecked(true);
            this.rb_advance_check.setChecked(false);
        } else {
            this.rb_simple_check.setChecked(false);
            this.rb_advance_check.setChecked(true);
        }
    }

    private void handData(byte[] bArr) {
        HiChipDefines.HI_P2P_QUANTUM_TIME hi_p2p_quantum_time = new HiChipDefines.HI_P2P_QUANTUM_TIME(bArr);
        this.quantum_time = hi_p2p_quantum_time;
        byte[][] bArr2 = hi_p2p_quantum_time.sDayData;
        boolean z = false;
        for (int i = 0; i < 7; i++) {
            TimeArrayBean timeArrayBean = new TimeArrayBean();
            this.mBeans.add(timeArrayBean);
            timeArrayBean.setTitle(i);
            StringBuffer stringBuffer = new StringBuffer();
            boolean z2 = true;
            for (int i2 = 0; i2 < 48; i2++) {
                if (bArr2[i][i2] == 80) {
                    if (TextUtils.isEmpty(stringBuffer.toString())) {
                        if (i2 == 47) {
                            stringBuffer.append("23:30-23:59");
                            timeArrayBean.arrs.add(stringBuffer.toString());
                        } else {
                            stringBuffer.append(jToStr(i2) + Constants.ACCEPT_TIME_SEPARATOR_SERVER);
                        }
                    }
                    z = true;
                } else if (bArr2[i][i2] == 78) {
                    if (!z) {
                        z2 = false;
                    } else if (TextUtils.isEmpty(stringBuffer.toString())) {
                        z = false;
                        z2 = false;
                    } else {
                        stringBuffer.append(jToStr(i2));
                        timeArrayBean.arrs.add(stringBuffer.toString());
                        z2 = false;
                        stringBuffer = new StringBuffer();
                        z = false;
                    }
                }
            }
            timeArrayBean.mIsAllDay = z2;
        }
        Iterator<TimeArrayBean> it = this.mBeans.iterator();
        while (it.hasNext()) {
            TimeArrayBean next = it.next();
            StringBuffer stringBuffer2 = new StringBuffer();
            Iterator<String> it2 = next.getArrs().iterator();
            while (it2.hasNext()) {
                stringBuffer2.append(it2.next() + "   ");
            }
        }
    }

    private String LogData(byte[][] bArr) {
        StringBuffer stringBuffer = new StringBuffer();
        for (int i = 0; i < bArr.length; i++) {
            for (int i2 = 0; i2 < bArr[i].length; i2++) {
                stringBuffer.append(((int) bArr[i][i2]) + Constants.ACCEPT_TIME_SEPARATOR_SP);
            }
        }
        return stringBuffer.toString();
    }

    private String jToStr(int i) {
        Calendar calendar = Calendar.getInstance();
        calendar.set(11, 0);
        calendar.set(12, 0);
        calendar.set(13, 0);
        return this.sdf.format(new Date(calendar.getTimeInMillis() + (i * 30 * 60 * 1000)));
    }

    @Override
    public void onCheckedChanged(CompoundButton compoundButton, boolean z) {
        if (compoundButton.getId() != R.id.switch_record) {
            return;
        }
        if (z) {
            showViewContent();
        } else {
            dissMissViewContent();
        }
        showjuHuaDialog();
        this.rec_param.u32Enable = z ? 1 : 0;
        this.mMyCamera.sendIOCtrl(65537, this.rec_param.parseContent());
    }

    private void dissMissViewContent() {
        this.ll_planvideo_content.setPivotY(0.0f);
        AnimatorSet animatorSet = new AnimatorSet();
        ObjectAnimator ofFloat = ObjectAnimator.ofFloat(this.ll_planvideo_content, "ScaleY", 1.0f, 0.0f);
        ObjectAnimator ofFloat2 = ObjectAnimator.ofFloat(this.ll_planvideo_content, "Alpha", 1.0f, 0.0f);
        animatorSet.setDuration(350L);
        animatorSet.setInterpolator(new AccelerateInterpolator());
        animatorSet.playTogether(ofFloat, ofFloat2);
        animatorSet.start();
    }

    private void showViewContent() {
        this.ll_planvideo_content.setVisibility(0);
        this.ll_planvideo_content.setPivotY(0.0f);
        AnimatorSet animatorSet = new AnimatorSet();
        ObjectAnimator ofFloat = ObjectAnimator.ofFloat(this.ll_planvideo_content, "ScaleY", 0.0f, 1.0f);
        ObjectAnimator ofFloat2 = ObjectAnimator.ofFloat(this.ll_planvideo_content, "Alpha", 0.0f, 1.0f);
        animatorSet.setDuration(350L);
        animatorSet.setInterpolator(new AccelerateInterpolator());
        animatorSet.playTogether(ofFloat, ofFloat2);
        animatorSet.start();
    }
}