|
|
@@ -3,9 +3,7 @@ package com.silence.commonframe.activity;
|
|
|
import android.content.Intent;
|
|
|
import android.graphics.Color;
|
|
|
import android.os.Build;
|
|
|
-import android.os.Bundle;
|
|
|
import android.support.annotation.Nullable;
|
|
|
-import android.support.v7.app.AppCompatActivity;
|
|
|
import android.support.v7.widget.LinearLayoutManager;
|
|
|
import android.support.v7.widget.RecyclerView;
|
|
|
import android.view.View;
|
|
|
@@ -14,23 +12,37 @@ import android.view.WindowManager;
|
|
|
import android.widget.TextView;
|
|
|
import android.widget.Toast;
|
|
|
|
|
|
+import com.google.gson.Gson;
|
|
|
+import com.google.gson.reflect.TypeToken;
|
|
|
+import com.lzy.okgo.OkGo;
|
|
|
+import com.lzy.okgo.cache.CacheMode;
|
|
|
+import com.lzy.okgo.callback.StringCallback;
|
|
|
import com.silence.commonframe.R;
|
|
|
import com.silence.commonframe.adapter.AirGuardWorKTimeAdapter;
|
|
|
-import com.silence.commonframe.utils.AtyContainer;
|
|
|
+import com.silence.commonframe.base.basemvp.BaseActivity;
|
|
|
+import com.silence.commonframe.bean.BaseBean;
|
|
|
+import com.silence.commonframe.common.constant.UrlConstants;
|
|
|
+import com.silence.commonframe.model.AirGuardRunTimeListModel;
|
|
|
+import com.silence.commonframe.utils.Data;
|
|
|
import com.silence.commonframe.utils.LinearItemDecoration;
|
|
|
+import com.silence.commonframe.utils.LoginIn;
|
|
|
+
|
|
|
+import org.json.JSONException;
|
|
|
+import org.json.JSONObject;
|
|
|
|
|
|
import java.util.ArrayList;
|
|
|
import java.util.HashMap;
|
|
|
import java.util.List;
|
|
|
|
|
|
import butterknife.BindView;
|
|
|
-import butterknife.ButterKnife;
|
|
|
+import okhttp3.Call;
|
|
|
+import okhttp3.Response;
|
|
|
|
|
|
/**
|
|
|
* 空气卫士-工作时间段
|
|
|
* @author 郑嘉明
|
|
|
*/
|
|
|
-public class AirGuardWordTimeActivity extends AppCompatActivity {
|
|
|
+public class AirGuardWordTimeActivity extends BaseActivity {
|
|
|
|
|
|
/**
|
|
|
* 导航栏信息
|
|
|
@@ -46,14 +58,23 @@ public class AirGuardWordTimeActivity extends AppCompatActivity {
|
|
|
|
|
|
AirGuardWorKTimeAdapter airGuardWorKTimeAdapter; //工作时间适配器
|
|
|
|
|
|
- List<HashMap<String,String>> listTime = new ArrayList<>();
|
|
|
+ List<AirGuardRunTimeListModel> listTime = new ArrayList<>();
|
|
|
+
|
|
|
+ private String id;
|
|
|
+ private String deviceId = "000";
|
|
|
|
|
|
@Override
|
|
|
- protected void onCreate(Bundle savedInstanceState) {
|
|
|
- super.onCreate(savedInstanceState);
|
|
|
- setContentView(R.layout.activity_air_guard_word_time);
|
|
|
- ButterKnife.bind(this);
|
|
|
- AtyContainer.getInstance().addActivity(this);
|
|
|
+ public int getLayoutId() {
|
|
|
+ return R.layout.activity_air_guard_word_time;
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public void initPresenter() {
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public void initView() {
|
|
|
navi_head_text.setText(R.string.airguard_worktime); //设置标题
|
|
|
navi_head_text_right.setText(R.string.add); //设置右侧文字
|
|
|
//设置全屏
|
|
|
@@ -73,12 +94,38 @@ public class AirGuardWordTimeActivity extends AppCompatActivity {
|
|
|
// listTime.add(hashMap2);
|
|
|
// //测试数据
|
|
|
|
|
|
- //设置工作时间数据
|
|
|
- setTimeDate();
|
|
|
+ getRunTime();
|
|
|
+
|
|
|
+
|
|
|
|
|
|
//导航栏添加按钮点击事件
|
|
|
addNewTimeListener();
|
|
|
+ }
|
|
|
|
|
|
+ private void getRunTime() {
|
|
|
+ OkGo.get(UrlConstants.AIRGUARD_RUNTIMELIST)
|
|
|
+ .tag(this)
|
|
|
+ .params("deviceId",deviceId)
|
|
|
+ .cacheKey("cacheGetKey")
|
|
|
+ .cacheMode(CacheMode.DEFAULT)
|
|
|
+ .headers("token", Data.getToken())
|
|
|
+ .execute(new StringCallback() {
|
|
|
+ @Override
|
|
|
+ public void onSuccess(String s, Call call, Response response) {
|
|
|
+ AirGuardRunTimeListModel data = new Gson().fromJson(s,AirGuardRunTimeListModel.class);
|
|
|
+ System.out.println(data.getData());
|
|
|
+ if (data.getCode() == 0){
|
|
|
+ //设置工作时间数据
|
|
|
+ setTimeDate(data.getData());
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public void onError(Call call, Response response, Exception e) {
|
|
|
+ super.onError(call, response, e);
|
|
|
+
|
|
|
+ }
|
|
|
+ });
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
@@ -99,8 +146,8 @@ public class AirGuardWordTimeActivity extends AppCompatActivity {
|
|
|
|
|
|
/**
|
|
|
* 获取添加和修改的时间,添加修改时间的接口在这加
|
|
|
- * @param requestCode 222
|
|
|
- * @param resultCode 222
|
|
|
+ * @param requestCode 222 333
|
|
|
+ * @param resultCode 222 333
|
|
|
* @param data worktime
|
|
|
*/
|
|
|
@Override
|
|
|
@@ -108,35 +155,31 @@ public class AirGuardWordTimeActivity extends AppCompatActivity {
|
|
|
super.onActivityResult(requestCode, resultCode, data);
|
|
|
if (requestCode == 222 && resultCode == 222){
|
|
|
assert data != null;
|
|
|
- String newtime = data.getStringExtra("worktime");
|
|
|
- int wind_speed = data.getIntExtra("wind_speed",0);
|
|
|
- HashMap<String,String> hashMap = new HashMap<>();
|
|
|
- hashMap.put("time",newtime);
|
|
|
- hashMap.put("wind_speed",String.valueOf(wind_speed));
|
|
|
- airGuardWorKTimeAdapter.addWorkTime(hashMap); //适配器增加数据刷新
|
|
|
- //这里加添加时间的接口方法。
|
|
|
+ //获取运行时间段
|
|
|
+ getRunTime();
|
|
|
|
|
|
}else if (requestCode == 333 && resultCode == 333){
|
|
|
assert data != null;
|
|
|
- String newtime = data.getStringExtra("worktime");
|
|
|
- int pos = data.getIntExtra("position",-1);
|
|
|
- int wind_speed = data.getIntExtra("wind_speed",0);
|
|
|
- HashMap<String,String> hashMap = new HashMap<>();
|
|
|
- hashMap.put("time",newtime);
|
|
|
- hashMap.put("wind_speed",String.valueOf(wind_speed));
|
|
|
- hashMap.put("switch_state","0"); //开关状态,0是关,1是开。有接口后要传值
|
|
|
- airGuardWorKTimeAdapter.updateWorkTime(hashMap,pos); //适配器修改数据刷新
|
|
|
- //这里加修改时间的接口方法。
|
|
|
+// String newtime = data.getStringExtra("worktime");
|
|
|
+// int pos = data.getIntExtra("position",-1);
|
|
|
+// int wind_speed = data.getIntExtra("wind_speed",0);
|
|
|
+// HashMap<String,String> hashMap = new HashMap<>();
|
|
|
+// hashMap.put("time",newtime);
|
|
|
+// hashMap.put("wind_speed",String.valueOf(wind_speed));
|
|
|
+// hashMap.put("switch_state","0"); //开关状态,0是关,1是开。有接口后要传值
|
|
|
+// airGuardWorKTimeAdapter.updateWorkTime(hashMap,pos); //适配器修改数据刷新
|
|
|
|
|
|
+ //这里加修改时间的接口方法。
|
|
|
+ getRunTime();
|
|
|
}
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 设置工作时间数据
|
|
|
*/
|
|
|
- private void setTimeDate() {
|
|
|
+ private void setTimeDate(List<AirGuardRunTimeListModel.DataBean> listRunTime) {
|
|
|
|
|
|
- airGuardWorKTimeAdapter = new AirGuardWorKTimeAdapter(AirGuardWordTimeActivity.this,listTime);
|
|
|
+ airGuardWorKTimeAdapter = new AirGuardWorKTimeAdapter(AirGuardWordTimeActivity.this,listRunTime);
|
|
|
worktime_recyclerview.setLayoutManager(new LinearLayoutManager(AirGuardWordTimeActivity.this));
|
|
|
worktime_recyclerview.addItemDecoration(new LinearItemDecoration(AirGuardWordTimeActivity.this,LinearLayoutManager.HORIZONTAL,R.drawable.decoration_item)); //设置分割线
|
|
|
worktime_recyclerview.setAdapter(airGuardWorKTimeAdapter);
|
|
|
@@ -153,7 +196,7 @@ public class AirGuardWordTimeActivity extends AppCompatActivity {
|
|
|
Toast.makeText(AirGuardWordTimeActivity.this,"删除成功",Toast.LENGTH_SHORT).show();
|
|
|
airGuardWorKTimeAdapter.deleteWorkTime(position); //适配器删除数据刷新
|
|
|
//这里加删除时间的接口方法。
|
|
|
-
|
|
|
+ delRunTime();
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
@@ -163,18 +206,19 @@ public class AirGuardWordTimeActivity extends AppCompatActivity {
|
|
|
intent.putExtra("wind_speed",wind);
|
|
|
intent.putExtra("type","update");
|
|
|
intent.putExtra("position",position);
|
|
|
+ intent.putExtra("id","");
|
|
|
startActivityForResult(intent,333);
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
public void onSwitchListener(Boolean isCheck, int position) {
|
|
|
- //蜂鸣器的开关
|
|
|
+ //开关
|
|
|
if (isCheck){
|
|
|
- Toast.makeText(AirGuardWordTimeActivity.this,"打开",Toast.LENGTH_SHORT).show();
|
|
|
-
|
|
|
+// Toast.makeText(AirGuardWordTimeActivity.this,"打开",Toast.LENGTH_SHORT).show();
|
|
|
+ openCloseRunTime();
|
|
|
}else {
|
|
|
- Toast.makeText(AirGuardWordTimeActivity.this,"关闭",Toast.LENGTH_SHORT).show();
|
|
|
-
|
|
|
+// Toast.makeText(AirGuardWordTimeActivity.this,"关闭",Toast.LENGTH_SHORT).show();
|
|
|
+ openCloseRunTime();
|
|
|
}
|
|
|
}
|
|
|
|
|
|
@@ -184,6 +228,66 @@ public class AirGuardWordTimeActivity extends AppCompatActivity {
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
+ * 删除运行时间间隔
|
|
|
+ */
|
|
|
+ private void delRunTime() {
|
|
|
+ OkGo.get(UrlConstants.AIRGUARD_DEL_RUNTIME)
|
|
|
+ .tag(this)
|
|
|
+ .params("id",id)
|
|
|
+ .cacheKey("cacheGetKey")
|
|
|
+ .cacheMode(CacheMode.DEFAULT)
|
|
|
+ .headers("token", Data.getToken())
|
|
|
+ .execute(new StringCallback() {
|
|
|
+ @Override
|
|
|
+ public void onSuccess(String s, Call call, Response response) {
|
|
|
+ try {
|
|
|
+ JSONObject jsonObject = new JSONObject(s);
|
|
|
+ int code = jsonObject.getInt("code");
|
|
|
+ String message = jsonObject.get("msg").toString();
|
|
|
+ if (code == 0){
|
|
|
+ Toast.makeText(AirGuardWordTimeActivity.this,"删除成功",Toast.LENGTH_SHORT).show();
|
|
|
+ }else {
|
|
|
+ LoginIn.tokenOut(code,AirGuardWordTimeActivity.this);
|
|
|
+ Toast.makeText(AirGuardWordTimeActivity.this,""+message,Toast.LENGTH_SHORT).show();
|
|
|
+ }
|
|
|
+ } catch (JSONException e) {
|
|
|
+ e.printStackTrace();
|
|
|
+ }
|
|
|
+ }
|
|
|
+ });
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 打开或关闭运行时间间隔
|
|
|
+ */
|
|
|
+ private void openCloseRunTime() {
|
|
|
+ OkGo.get(UrlConstants.AIRGUARD_OPEN_CLOSE_RUNTIME)
|
|
|
+ .tag(this)
|
|
|
+ .params("id",id) //
|
|
|
+ .cacheKey("cacheGetKey")
|
|
|
+ .cacheMode(CacheMode.DEFAULT)
|
|
|
+ .headers("token", Data.getToken())
|
|
|
+ .execute(new StringCallback() {
|
|
|
+ @Override
|
|
|
+ public void onSuccess(String s, Call call, Response response) {
|
|
|
+ try {
|
|
|
+ JSONObject jsonObject = new JSONObject(s);
|
|
|
+ int code = jsonObject.getInt("code");
|
|
|
+ String message = jsonObject.get("msg").toString();
|
|
|
+ if (code == 0){
|
|
|
+ Toast.makeText(AirGuardWordTimeActivity.this,"0",Toast.LENGTH_SHORT).show();
|
|
|
+ }else {
|
|
|
+ LoginIn.tokenOut(code,AirGuardWordTimeActivity.this);
|
|
|
+ Toast.makeText(AirGuardWordTimeActivity.this,""+message,Toast.LENGTH_SHORT).show();
|
|
|
+ }
|
|
|
+ } catch (JSONException e) {
|
|
|
+ e.printStackTrace();
|
|
|
+ }
|
|
|
+ }
|
|
|
+ });
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
* 页面全屏
|
|
|
*/
|
|
|
private void initWindows() {
|