排程浇水历史记录
This commit is contained in:
@@ -2,6 +2,7 @@ package com.ckkj.water.device;
|
||||
|
||||
import android.content.Intent;
|
||||
import android.os.Bundle;
|
||||
import android.text.TextUtils;
|
||||
import android.view.View;
|
||||
|
||||
import androidx.annotation.Nullable;
|
||||
@@ -10,6 +11,7 @@ import com.chad.library.adapter.base.BaseQuickAdapter;
|
||||
import com.ckkj.water.EventMessage;
|
||||
import com.ckkj.water.R;
|
||||
import com.ckkj.water.base.BaseActivity;
|
||||
import com.ckkj.water.base.BaseFragment;
|
||||
import com.ckkj.water.custom.GridSpacingItemDecoration;
|
||||
import com.ckkj.water.custom.view.CustomBubbleAttachPopup;
|
||||
import com.ckkj.water.databinding.DeviceControlLayoutBinding;
|
||||
@@ -19,6 +21,7 @@ import com.ckkj.water.device.mvp.DeviceImpl;
|
||||
import com.ckkj.water.device.mvp.DevicePresenter;
|
||||
import com.ckkj.water.index.entity.WaterDeviceEntity;
|
||||
import com.ckkj.water.network.BaseBean;
|
||||
import com.ckkj.water.plan.entity.WaterPlanWeekEntity;
|
||||
import com.ckkj.water.utils.show.ToastUtil;
|
||||
import com.gyf.immersionbar.ImmersionBar;
|
||||
import com.lxj.xpopup.XPopup;
|
||||
@@ -38,6 +41,8 @@ public class DeviceControlActivity extends BaseActivity<DeviceControlLayoutBindi
|
||||
private List<String> mTimeList = new ArrayList<>();
|
||||
private WaterDeviceEntity mDeviceEntity;
|
||||
private DeviceTimeSelectAdapter mAdapter;
|
||||
//用户自定义的浇水时长
|
||||
private int mCustomDuration = 0;
|
||||
@Override
|
||||
public DevicePresenter createPresenter() {
|
||||
return new DevicePresenter(new DeviceImpl());
|
||||
@@ -81,8 +86,15 @@ public class DeviceControlActivity extends BaseActivity<DeviceControlLayoutBindi
|
||||
@Override
|
||||
public void onItemClick(BaseQuickAdapter adapter, View view, int position) {
|
||||
mAdapter.setOnSelPosition(position);
|
||||
mCustomDuration = 0;
|
||||
viewBinding.tvWorkDuartion.setHint(getString(R.string.device_custom_work_time));
|
||||
viewBinding.tvWorkDuartion.setText("");
|
||||
}
|
||||
});
|
||||
//用户自定义时间
|
||||
if(mCustomDuration == 0){
|
||||
viewBinding.tvWorkDuartion.setHint(getString(R.string.device_custom_work_time));
|
||||
}
|
||||
|
||||
initListener();
|
||||
}
|
||||
@@ -94,6 +106,7 @@ public class DeviceControlActivity extends BaseActivity<DeviceControlLayoutBindi
|
||||
setClick(viewBinding.linearWifi);
|
||||
setClick(viewBinding.linearBat);
|
||||
setClick(viewBinding.tvConfirm);
|
||||
setClick(viewBinding.tvWorkDuartion);
|
||||
}
|
||||
|
||||
private void setClick(View view) {
|
||||
@@ -130,12 +143,105 @@ public class DeviceControlActivity extends BaseActivity<DeviceControlLayoutBindi
|
||||
.show();
|
||||
break;
|
||||
|
||||
case R.id.tv_work_duartion:
|
||||
inputDuration(mCustomDuration);
|
||||
break;
|
||||
|
||||
case R.id.tv_confirm:
|
||||
showCenterTipDialog(R.mipmap.icon_dialog_success,"开始浇水");
|
||||
if(mCustomDuration == 0 && mAdapter.getmSelPostion() == -1){
|
||||
ToastUtil.showShort(mContext,"请选择浇水时长");
|
||||
return;
|
||||
}
|
||||
showCenterTipDialog(R.mipmap.icon_dialog_success,"开始浇水");//
|
||||
String status = mDeviceEntity.getStatus();
|
||||
if(status.equals("1")){
|
||||
status = "0";
|
||||
}else{
|
||||
status = "1";
|
||||
}
|
||||
mPresenter.switchDeviceWork(mDeviceEntity.getId(),status,
|
||||
mCustomDuration == 0 ? convertToMinutes(mTimeList.get(mAdapter.getmSelPostion()))
|
||||
: mCustomDuration);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 输入浇水时间
|
||||
* @param currentDuration
|
||||
*/
|
||||
private void inputDuration(int currentDuration) {
|
||||
showEditDialog(getString(R.string.device_work_times_title),
|
||||
getString(R.string.input_water_plan_time),
|
||||
currentDuration == 0 ? "" : currentDuration + "",
|
||||
true,
|
||||
getString(R.string.cancel_text),
|
||||
getString(R.string.confirm_text),
|
||||
INPUT_TYPE_NUMBER,
|
||||
new BaseActivity.OnDialogClick() {
|
||||
@Override
|
||||
public void onCancelClick() {}
|
||||
|
||||
@Override
|
||||
public void onConfirmClisk() {}
|
||||
|
||||
@Override
|
||||
public void onConfirmClisk(String content) {
|
||||
if (Integer.parseInt(content) <= 0) {
|
||||
ToastUtil.showShort(mContext, getString(R.string.input_water_plan_time_error));
|
||||
return;
|
||||
}
|
||||
viewBinding.tvWorkDuartion.setText(content);
|
||||
mCustomDuration = Integer.parseInt(content);
|
||||
if(mAdapter != null){
|
||||
mAdapter.setOnSelPosition(-1);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onView1Click() {
|
||||
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 将时间字符串转换为分钟数
|
||||
*
|
||||
* 1min -> 1
|
||||
* 10min -> 10
|
||||
* 1h -> 60
|
||||
* 2h -> 120
|
||||
*
|
||||
* @param timeValue 时间字符串
|
||||
* @return 分钟数
|
||||
*/
|
||||
public static int convertToMinutes(String timeValue) {
|
||||
if (TextUtils.isEmpty(timeValue)) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
try {
|
||||
if (timeValue.endsWith("min")) {
|
||||
return Integer.parseInt(
|
||||
timeValue.substring(0, timeValue.length() - 3)
|
||||
);
|
||||
}
|
||||
|
||||
if (timeValue.endsWith("h")) {
|
||||
return Integer.parseInt(
|
||||
timeValue.substring(0, timeValue.length() - 1)
|
||||
) * 60;
|
||||
}
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
|
||||
@Override
|
||||
protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
|
||||
super.onActivityResult(requestCode, resultCode, data);
|
||||
|
||||
Reference in New Issue
Block a user