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