王冲冲 6 years ago
parent
commit
44129db635

+ 68 - 35
app/src/main/java/com/silence/commonframe/activity/AirGuardDetailActivity.java

@@ -15,19 +15,31 @@ import android.widget.ImageView;
 import android.widget.TextView;
 import android.widget.Toast;
 
+import com.lzy.okgo.OkGo;
+import com.lzy.okgo.cache.CacheMode;
+import com.lzy.okgo.callback.StringCallback;
 import com.silence.commonframe.Dialog.CDialog;
 import com.silence.commonframe.R;
+import com.silence.commonframe.base.basemvp.BaseActivity;
+import com.silence.commonframe.common.constant.UrlConstants;
 import com.silence.commonframe.utils.AtyContainer;
+import com.silence.commonframe.utils.Data;
+import com.silence.commonframe.utils.LoginIn;
+
+import org.json.JSONException;
+import org.json.JSONObject;
 
 import butterknife.BindView;
 import butterknife.ButterKnife;
+import okhttp3.Call;
+import okhttp3.Response;
 
 /**
  * 空气卫士-设备详情
  * @author 郑嘉明
  * tv_airguard_id、et_airguard_name、airguard_update_name
  */
-public class AirGuardDetailActivity extends AppCompatActivity {
+public class AirGuardDetailActivity extends BaseActivity {
 
     /**
      * 导航栏信息
@@ -43,19 +55,25 @@ public class AirGuardDetailActivity extends AppCompatActivity {
     @BindView(R.id.airguard_update_name)
     ImageView airguard_update_name;     //(笔)修改名称
 
+    private String deviceId = "000";
+
+    @Override
+    public int getLayoutId() {
+        return R.layout.activity_air_guard_detail;
+    }
+
     @Override
-    protected void onCreate(Bundle savedInstanceState) {
-        super.onCreate(savedInstanceState);
-        setContentView(R.layout.activity_air_guard_detail);
-        ButterKnife.bind(this);
-        AtyContainer.getInstance().addActivity(this);
+    public void initPresenter() {
+    }
+
+    @Override
+    public void initView() {
         navi_head_text.setText(R.string.airguard_detail);       //设置标题
         //设置全屏
         initWindows();
 
         //修改名字事件
         updateAirName();
-
     }
 
     /**
@@ -63,25 +81,19 @@ public class AirGuardDetailActivity extends AppCompatActivity {
      */
     private void updateAirName() {
         //输入框右边“笔”的点击事件
-        airguard_update_name.setOnClickListener(new View.OnClickListener() {
-            @Override
-            public void onClick(View v) {
-                //修改名称提示框
-                dialogUpdateName();
-            }
+        airguard_update_name.setOnClickListener(v -> {
+            //修改名称提示框
+            dialogUpdateName();
         });
 
         //键盘回车事件
-        et_airguard_name.setOnEditorActionListener(new TextView.OnEditorActionListener() {
-            @Override
-            public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
-                if (actionId == EditorInfo.IME_ACTION_DONE || (event != null && event.getKeyCode() == KeyEvent.KEYCODE_ENTER)){
-                    //修改名称提示框
-                    dialogUpdateName();
-                    return true;
-                }
-                return false;
+        et_airguard_name.setOnEditorActionListener((v, actionId, event) -> {
+            if (actionId == EditorInfo.IME_ACTION_DONE || (event != null && event.getKeyCode() == KeyEvent.KEYCODE_ENTER)){
+                //修改名称提示框
+                dialogUpdateName();
+                return true;
             }
+            return false;
         });
     }
 
@@ -93,23 +105,44 @@ public class AirGuardDetailActivity extends AppCompatActivity {
         builder.setCancelable(false);
         builder.setTitle(getResources().getString(R.string.tips));
         builder.setMessage(getResources().getString(R.string.dialog_update_name));
-        builder.setPositiveButton(getResources().getString(R.string.sure), new DialogInterface.OnClickListener() {
-            @Override
-            public void onClick(DialogInterface dialog, int which) {
-                //确定修改后的操作
-                Toast.makeText(AirGuardDetailActivity.this,"确定修改",Toast.LENGTH_SHORT).show();
-                //这里修改名称的接口
-            }
-        });
-        builder.setNegativeButton(getResources().getString(R.string.cancle), new DialogInterface.OnClickListener() {
-            @Override
-            public void onClick(DialogInterface dialog, int which) {
-                dialog.dismiss();
-            }
+        builder.setPositiveButton(getResources().getString(R.string.sure), (dialog, which) -> {
+            //确定修改后的操作
+            Toast.makeText(AirGuardDetailActivity.this,"确定修改",Toast.LENGTH_SHORT).show();
+            //这里修改名称的接口
+            updateDeviceName();
         });
+        builder.setNegativeButton(getResources().getString(R.string.cancle), (dialog, which) -> dialog.dismiss());
         builder.show();
     }
 
+    private void updateDeviceName() {
+        OkGo.get(UrlConstants.AIRGUARD_DEV_DETAIL)
+                .tag(this)
+                .params("deviceId",deviceId)
+                .params("deviceName",et_airguard_name.getText().toString())
+                .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(AirGuardDetailActivity.this,"修改成功",Toast.LENGTH_SHORT).show();
+                            }else {
+                                LoginIn.tokenOut(code+"",AirGuardDetailActivity.this);
+                                Toast.makeText(AirGuardDetailActivity.this,""+message,Toast.LENGTH_SHORT).show();
+                            }
+                        } catch (JSONException e) {
+                            e.printStackTrace();
+                        }
+                    }
+                });
+    }
+
     /**
      * 页面全屏
      */

+ 100 - 7
app/src/main/java/com/silence/commonframe/activity/AirGuardNewTimeActivity.java

@@ -12,22 +12,37 @@ import android.widget.FrameLayout;
 import android.widget.TextView;
 import android.widget.Toast;
 
+import com.google.gson.Gson;
+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.activity.Interface.NewSubmitListener;
 import com.silence.commonframe.adapter.MyWheelAdapter;
+import com.silence.commonframe.base.basemvp.BaseActivity;
+import com.silence.commonframe.bean.BaseBean;
+import com.silence.commonframe.common.constant.UrlConstants;
 import com.silence.commonframe.utils.AtyContainer;
+import com.silence.commonframe.utils.Data;
+import com.silence.commonframe.utils.LoginIn;
 import com.wx.wheelview.widget.WheelView;
 
+import org.json.JSONException;
+import org.json.JSONObject;
+
 import java.util.ArrayList;
 
 import butterknife.BindView;
 import butterknife.ButterKnife;
+import okhttp3.Call;
+import okhttp3.Response;
 
 /**
  * 空气卫士-新建时间段
  * @author 郑嘉明
  * start_time_hour、start_time_minute、end_time_hour、end_time_minute、wind_speed_level(风速等级)、wind_speed_reduce(降低风速)、wind_speed_increase(提高风速)
  */
-public class AirGuardNewTimeActivity extends AppCompatActivity {
+public class AirGuardNewTimeActivity extends BaseActivity  {
 
     public static int WHEEL_SIZE = 5;      //显示的滚动的数量
     public static int WIND_SPEED_HIGN = 20;     //最高风速
@@ -65,12 +80,23 @@ public class AirGuardNewTimeActivity extends AppCompatActivity {
 
     private Intent intent;
 
+    private String deviceId = "000";
+    private String id;
+    private String startTime;
+    private String endTime;
+
+    @Override
+    public int getLayoutId() {
+        return R.layout.activity_air_guard_new_time;
+    }
+
     @Override
-    protected void onCreate(Bundle savedInstanceState) {
-        super.onCreate(savedInstanceState);
-        setContentView(R.layout.activity_air_guard_new_time);
-        ButterKnife.bind(this);
-        AtyContainer.getInstance().addActivity(this);
+    public void initPresenter() {
+
+    }
+
+    @Override
+    public void initView() {
         navi_head_text.setText(R.string.airguard_newtime);       //设置标题
         navi_head_text_right.setText(R.string.sure);            //设置导航右侧文字
         //设置全屏
@@ -80,6 +106,7 @@ public class AirGuardNewTimeActivity extends AppCompatActivity {
         initTimeWheel();
 
         intent = getIntent();
+        id = intent.getStringExtra("id");
         wind_speed = intent.getIntExtra("wind_speed",0);
         wind_speed_level.setText(String.valueOf(wind_speed));
 
@@ -139,6 +166,8 @@ public class AirGuardNewTimeActivity extends AppCompatActivity {
                     listMin = getMinuteData();
                     start_time = listHour.get(start_hour2) + ":" + listMin.get(start_min2);
                     end_time = listHour.get(end_hour2) + ":" +listMin.get(end_min2);
+                    startTime = listHour.get(start_hour2) + listMin.get(start_min2);
+                    endTime = listHour.get(end_hour2) + listMin.get(end_min2);
 
                     String work_time = start_time + "-" + end_time;
                     Intent intent_result = new Intent();
@@ -146,18 +175,82 @@ public class AirGuardNewTimeActivity extends AppCompatActivity {
                     intent_result.putExtra("wind_speed",wind_speed);
                     if ("add".equals(type)){
                         setResult(222,intent_result);
+                        addTime();
                         finish();
                     }else if ("update".equals(type)){
                         intent_result.putExtra("position",intent.getIntExtra("position",-1));
+                        updateTime();
                         setResult(333,intent_result);
                         finish();
                     }
-
                 }
             }
         });
     }
 
+    private void updateTime() {
+        OkGo.get(UrlConstants.AIRGUARD_UPDATE_RUNTIME)
+                .params("id",id)
+                .params("startTime",startTime)
+                .params("endTime",endTime)
+                .params("speedType",wind_speed)
+                .cacheKey("cacheGetKey")
+                .cacheMode(CacheMode.DEFAULT)
+                .headers("token", Data.getToken())
+                .execute(new StringCallback() {
+                    @Override
+                    public void onSuccess(String s, Call call, Response response) {
+                        BaseBean data = new Gson().fromJson(s,BaseBean.class);
+                        if (data.code == 0){
+                            Toast.makeText(AirGuardNewTimeActivity.this,"修改成功",Toast.LENGTH_SHORT).show();
+                        }else {
+                            LoginIn.tokenOut(data.code+"",AirGuardNewTimeActivity.this);
+                            Toast.makeText(AirGuardNewTimeActivity.this,""+data.msg,Toast.LENGTH_SHORT).show();
+                        }
+                    }
+
+                    @Override
+                    public void onError(Call call, Response response, Exception e) {
+                        super.onError(call, response, e);
+
+                    }
+                });
+    }
+
+    /**
+     * 添加时间间隔接口
+     */
+    private void addTime() {
+        OkGo.get(UrlConstants.AIRGUARD_RUNTIME)
+                .tag(this)
+                .params("deviceId",deviceId)
+                .params("startTime",startTime)
+                .params("endTime",endTime)
+                .params("speedType",wind_speed)
+                .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(AirGuardNewTimeActivity.this,"添加成功",Toast.LENGTH_SHORT).show();
+                            }else {
+                                LoginIn.tokenOut(code+"",AirGuardNewTimeActivity.this);
+                                Toast.makeText(AirGuardNewTimeActivity.this,""+message,Toast.LENGTH_SHORT).show();
+                            }
+                        } catch (JSONException e) {
+                            e.printStackTrace();
+                        }
+                    }
+                });
+
+    }
+
     /**
      * 初始化时间选择的属性
      */

+ 82 - 10
app/src/main/java/com/silence/commonframe/activity/AirGuardTimeClockActivity.java

@@ -11,18 +11,32 @@ import android.widget.Button;
 import android.widget.TextView;
 import android.widget.Toast;
 
+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.base.basemvp.BaseActivity;
+import com.silence.commonframe.common.constant.UrlConstants;
 import com.silence.commonframe.utils.AtyContainer;
+import com.silence.commonframe.utils.Data;
+import com.silence.commonframe.utils.LoginIn;
+
+import org.json.JSONException;
+import org.json.JSONObject;
+
+import java.util.Calendar;
 
 import butterknife.BindView;
 import butterknife.ButterKnife;
+import okhttp3.Call;
+import okhttp3.Response;
 
 /**
  * 空气卫士-实时闹钟
  * @author 郑嘉明
- * id:airguard_current_time(当前时间)、bt_syn_nettime(同步时间按钮)
+ * id:tv_current_time(当前时间)、bt_syn_nettime(同步时间按钮)
  */
-public class AirGuardTimeClockActivity extends AppCompatActivity {
+public class AirGuardTimeClockActivity extends BaseActivity {
 
     /**
      * 导航栏信息
@@ -31,29 +45,87 @@ public class AirGuardTimeClockActivity extends AppCompatActivity {
     @BindView(R.id.navi_head_text)
     TextView navi_head_text;    //标题
 
-    @BindView(R.id.airguard_current_time)
-    TextView airguard_current_time;
+    @BindView(R.id.tv_current_time)
+    TextView tvCurrentTime;         //当前时间
     @BindView(R.id.bt_syn_nettime)
     Button bt_syn_nettime;
 
+    private String currentHour;
+    private String currentMinute;
+    private String currentTime;
+
+    private String deviceId = "000";
+
+    @Override
+    public int getLayoutId() {
+        return R.layout.activity_air_guard_time_clock;
+    }
+
     @Override
-    protected void onCreate(Bundle savedInstanceState) {
-        super.onCreate(savedInstanceState);
-        setContentView(R.layout.activity_air_guard_time_clock);
-        ButterKnife.bind(this);
-        AtyContainer.getInstance().addActivity(this);
+    public void initPresenter() {
+
+    }
+
+    @Override
+    public void initView() {
         navi_head_text.setText(R.string.airguard_timeclock);       //设置标题
         //设置全屏
         initWindows();
 
+        getCurrentTime();
+
         //同步网络时间
         bt_syn_nettime.setOnClickListener(new View.OnClickListener() {
             @Override
             public void onClick(View v) {
-                Toast.makeText(AirGuardTimeClockActivity.this,"同步",Toast.LENGTH_SHORT).show();
+                setTimeClock();
             }
         });
+    }
+
+    private void setTimeClock() {
+        String url = UrlConstants.AIRGUARD_SETTIME;
+        OkGo.get(url)
+                .tag(this)
+                .cacheKey("cacheGetKey")
+                .cacheMode(CacheMode.DEFAULT)
+                .headers("token", Data.getToken())
+                .params("deviceId",deviceId)
+                .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(AirGuardTimeClockActivity.this,"同步成功",Toast.LENGTH_SHORT).show();
+                            }else {
+                                LoginIn.tokenOut(code+"",AirGuardTimeClockActivity.this);
+                                Toast.makeText(AirGuardTimeClockActivity.this,""+message,Toast.LENGTH_SHORT).show();
+                            }
+                        } catch (JSONException e) {
+                            e.printStackTrace();
+                        }
+                    }
+                });
+    }
 
+    /**
+     *
+     */
+    private void getCurrentTime() {
+        Calendar calendar = Calendar.getInstance();
+        currentHour = String.valueOf(calendar.get(Calendar.HOUR_OF_DAY));
+        currentMinute = String.valueOf(calendar.get(Calendar.MINUTE));
+        if (Integer.valueOf(currentHour) < 10){
+            currentHour = "0" + currentHour;
+        }
+        if (Integer.valueOf(currentMinute) < 10){
+            currentMinute = "0" + currentMinute;
+        }
+        currentTime = currentHour + ":" + currentMinute;
+        tvCurrentTime.setText(currentTime);
     }
 
     /**

+ 160 - 65
app/src/main/java/com/silence/commonframe/activity/AirGuardWordTimeActivity.java

@@ -3,40 +3,50 @@ 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.NonNull;
 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.support.v7.widget.StaggeredGridLayoutManager;
 import android.view.View;
 import android.view.Window;
 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.scwang.smartrefresh.layout.SmartRefreshLayout;
+import com.scwang.smartrefresh.layout.api.RefreshLayout;
+import com.scwang.smartrefresh.layout.listener.OnRefreshListener;
 import com.silence.commonframe.R;
-import com.silence.commonframe.activity.Interface.AirGuardWordTimeListener;
-import com.silence.commonframe.activity.presenter.AirGuardWordTimePresenter;
 import com.silence.commonframe.adapter.AirGuardWorKTimeAdapter;
-import com.silence.commonframe.adapter.AirGuardWordTimeAdapter;
 import com.silence.commonframe.base.basemvp.BaseActivity;
-import com.silence.commonframe.bean.AirGuardWordTimeBean;
-import com.silence.commonframe.utils.AtyContainer;
+import com.silence.commonframe.bean.AirGuardRunTimeListModel;
+import com.silence.commonframe.bean.BaseBean;
+import com.silence.commonframe.common.constant.UrlConstants;
+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 BaseActivity implements AirGuardWordTimeListener.View {
+public class AirGuardWordTimeActivity extends BaseActivity {
 
     /**
      * 导航栏信息
@@ -47,17 +57,20 @@ public class AirGuardWordTimeActivity extends BaseActivity implements AirGuardWo
     @BindView(R.id.navi_head_text_right)
     TextView navi_head_text_right;      //右侧文字
 
-    @BindView(R.id.rv_work_time)
-    RecyclerView rvWorkTime;     //时间列表
+    @BindView(R.id.worktime_recyclerview)
+    RecyclerView worktime_recyclerview;     //时间列表
+
+    @BindView(R.id.srl_refresh)
+    SmartRefreshLayout srlRefresh;
 
     AirGuardWorKTimeAdapter airGuardWorKTimeAdapter;    //工作时间适配器
 
-    List<HashMap<String,String>> listTime = new ArrayList<>();
+    List<AirGuardRunTimeListModel.DataBean> listTime = new ArrayList<>();
+
+    private String id;
+    private String deviceId = "";
 
-    private AirGuardWordTimeAdapter timeAdapter;
-    List<AirGuardWordTimeBean> airGuardWordTimeDatas=new ArrayList<>();
-    AirGuardWordTimePresenter presenter;
-    String airDevId="";
+    private List<AirGuardRunTimeListModel.DataBean> listRunTime=new ArrayList<>();
 
     @Override
     public int getLayoutId() {
@@ -66,24 +79,62 @@ public class AirGuardWordTimeActivity extends BaseActivity implements AirGuardWo
 
     @Override
     public void initPresenter() {
-        presenter=new AirGuardWordTimePresenter(this,this);
+
     }
 
     @Override
     public void initView() {
-        airDevId=getIntent().getStringExtra("airDevId");
         navi_head_text.setText(R.string.airguard_worktime);       //设置标题
         navi_head_text_right.setText(R.string.add);            //设置右侧文字
+        setTimeDate();
         //设置全屏
         initWindows();
-        //设置工作时间数据
-        setTimeDate();
+        getRunTime();
+
         //导航栏添加按钮点击事件
         addNewTimeListener();
-        rvWorkTime.setLayoutManager(new StaggeredGridLayoutManager( 4, StaggeredGridLayoutManager.VERTICAL));
-        timeAdapter=new AirGuardWordTimeAdapter(R.layout.item_airguard_worktime,airGuardWordTimeDatas);
-        rvWorkTime.setAdapter(timeAdapter);
-        presenter.getData();
+        srlRefresh.setEnableLoadMore(false);
+        srlRefresh.setOnRefreshListener(new OnRefreshListener() {
+            @Override
+            public void onRefresh(@NonNull RefreshLayout refreshLayout) {
+                getRunTime();
+            }
+        });
+    }
+
+    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){
+                            //设置工作时间数据
+                            listTime.clear();
+                            listTime.addAll(data.getData());
+                            airGuardWorKTimeAdapter.notifyDataSetChanged();
+                        }
+                        if (srlRefresh!=null){
+                            srlRefresh.finishLoadMore();
+                            srlRefresh.finishRefresh();
+                        }
+                    }
+
+                    @Override
+                    public void onError(Call call, Response response, Exception e) {
+                        super.onError(call, response, e);
+                        if (srlRefresh!=null){
+                            srlRefresh.finishLoadMore();
+                            srlRefresh.finishRefresh();
+                        }
+                    }
+                });
     }
 
     /**
@@ -104,8 +155,8 @@ public class AirGuardWordTimeActivity extends BaseActivity implements AirGuardWo
 
     /**
      * 获取添加和修改的时间,添加修改时间的接口在这加
-     * @param requestCode 222
-     * @param resultCode 222
+     * @param requestCode 222 333
+     * @param resultCode 222 333
      * @param data worktime
      */
     @Override
@@ -113,26 +164,22 @@ public class AirGuardWordTimeActivity extends BaseActivity implements AirGuardWo
         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();
         }
     }
 
@@ -140,10 +187,11 @@ public class AirGuardWordTimeActivity extends BaseActivity implements AirGuardWo
      * 设置工作时间数据
      */
     private void setTimeDate() {
-        airGuardWorKTimeAdapter = new AirGuardWorKTimeAdapter(AirGuardWordTimeActivity.this,listTime);
-        rvWorkTime.setLayoutManager(new LinearLayoutManager(AirGuardWordTimeActivity.this));
-        rvWorkTime.addItemDecoration(new LinearItemDecoration(AirGuardWordTimeActivity.this,LinearLayoutManager.HORIZONTAL,R.drawable.decoration_item));     //设置分割线
-        rvWorkTime.setAdapter(airGuardWorKTimeAdapter);
+
+        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);
 
         airGuardWorKTimeAdapter.setOnItenClickListener(new AirGuardWorKTimeAdapter.OnItemClickLitener() {
             @Override
@@ -157,7 +205,7 @@ public class AirGuardWordTimeActivity extends BaseActivity implements AirGuardWo
                 Toast.makeText(AirGuardWordTimeActivity.this,"删除成功",Toast.LENGTH_SHORT).show();
                 airGuardWorKTimeAdapter.deleteWorkTime(position);           //适配器删除数据刷新
                 //这里加删除时间的接口方法。
-
+                delRunTime(position);
             }
 
             @Override
@@ -167,16 +215,17 @@ public class AirGuardWordTimeActivity extends BaseActivity implements AirGuardWo
                 intent.putExtra("wind_speed",wind);
                 intent.putExtra("type","update");
                 intent.putExtra("position",position);
+                intent.putExtra("id",listTime.get(position).getId());
                 startActivityForResult(intent,333);
             }
 
             @Override
             public void onSwitchListener(Boolean isCheck, int position) {
-                //蜂鸣器的开关
+                //开关
                 if (isCheck){
-                    Toast.makeText(AirGuardWordTimeActivity.this,"打开",Toast.LENGTH_SHORT).show();
+                    openCloseRunTime(position);
                 }else {
-                    Toast.makeText(AirGuardWordTimeActivity.this,"关闭",Toast.LENGTH_SHORT).show();
+                    openCloseRunTime(position);
                 }
             }
 
@@ -186,6 +235,66 @@ public class AirGuardWordTimeActivity extends BaseActivity implements AirGuardWo
     }
 
     /**
+     * 删除运行时间间隔
+     */
+    private void delRunTime(int position) {
+        OkGo.get(UrlConstants.AIRGUARD_DEL_RUNTIME)
+                .tag(this)
+                .params("id",listTime.get(position).getId())
+                .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(int position) {
+        OkGo.get(UrlConstants.AIRGUARD_OPEN_CLOSE_RUNTIME)
+                .tag(this)
+                .params("id",listTime.get(position).getId())        //
+                .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,""+message,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() {
@@ -208,18 +317,4 @@ public class AirGuardWordTimeActivity extends BaseActivity implements AirGuardWo
         finish();
     }
 
-    @Override
-    public String getDevId() {
-        return airDevId;
-    }
-
-    @Override
-    public void onSuccess(AirGuardWordTimeBean bean) {
-
-    }
-
-    @Override
-    public void onFile(String msg) {
-        Toast.makeText(this,""+msg,Toast.LENGTH_SHORT).show();
-    }
 }

+ 10 - 12
app/src/main/java/com/silence/commonframe/adapter/AirGuardWorKTimeAdapter.java

@@ -12,6 +12,7 @@ import android.widget.Switch;
 import android.widget.TextView;
 
 import com.silence.commonframe.R;
+import com.silence.commonframe.bean.AirGuardRunTimeListModel;
 import com.silence.commonframe.utils.ItemSlideHelper;
 
 import java.util.HashMap;
@@ -20,14 +21,14 @@ import java.util.List;
 public class AirGuardWorKTimeAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder> implements ItemSlideHelper.Callback {
 
     private Context context;
-    private List<HashMap<String,String>> listTime;
+    private List<AirGuardRunTimeListModel.DataBean> listTime;
     private int windSpeed;
 
     private RecyclerView mRecyclerView;
 
     private ItemSlideHelper itemSlideHelper;
 
-    public AirGuardWorKTimeAdapter(Context context, List<HashMap<String,String>> listTime){
+    public AirGuardWorKTimeAdapter(Context context, List<AirGuardRunTimeListModel.DataBean> listTime){
         this.context = context;
         this.listTime = listTime;
     }
@@ -43,17 +44,15 @@ public class AirGuardWorKTimeAdapter extends RecyclerView.Adapter<RecyclerView.V
     public void onBindViewHolder(@NonNull final RecyclerView.ViewHolder viewHolder, int i) {
         final MyViewHolder myViewHolder = (MyViewHolder) viewHolder;
 
-        myViewHolder.tv_worktime.setText(listTime.get(i).get("time"));
-        if ("1".equals(listTime.get(i).get("switch_state"))){
+        String runTime = listTime.get(i).getStartTime() + "-" + listTime.get(i).getEndTime();
+        myViewHolder.tv_worktime.setText(runTime);
+        if ("1".equals(listTime.get(i).getIsValid())){
             myViewHolder.switch_worktime.setChecked(true);
         }else {
             myViewHolder.switch_worktime.setChecked(false);
         }
 
-        final String wind_speed = listTime.get(i).get("wind_speed");
-        if (wind_speed != null){
-            windSpeed = Integer.valueOf(wind_speed);
-        }
+        final int wind_speed = listTime.get(i).getSpeed();
 
         if (mListener != null){
             myViewHolder.itemView.setOnClickListener(new View.OnClickListener() {
@@ -68,7 +67,7 @@ public class AirGuardWorKTimeAdapter extends RecyclerView.Adapter<RecyclerView.V
                 @Override
                 public void onClick(View v) {
                     int pos = myViewHolder.getAdapterPosition();
-                    mListener.onUpdateClick(pos,windSpeed);
+                    mListener.onUpdateClick(pos,wind_speed);
                 }
             });
 
@@ -97,8 +96,7 @@ public class AirGuardWorKTimeAdapter extends RecyclerView.Adapter<RecyclerView.V
      * 添加时间
      * @param time worktime
      */
-    public void addWorkTime(HashMap<String,String> time){
-        time.put("switch_state","0");
+    public void addWorkTime(AirGuardRunTimeListModel.DataBean time){
         listTime.add(time);
         this.notifyItemInserted(listTime.size() - 1);
     }
@@ -117,7 +115,7 @@ public class AirGuardWorKTimeAdapter extends RecyclerView.Adapter<RecyclerView.V
      * 修改时间
      * @param postion delete_position
      */
-    public void updateWorkTime(HashMap<String,String> time,int postion){
+    public void updateWorkTime(AirGuardRunTimeListModel.DataBean time,int postion){
 
         listTime.set(postion,time);
         this.notifyDataSetChanged();

File diff suppressed because it is too large
+ 146 - 0
app/src/main/java/com/silence/commonframe/bean/AirGuardRunTimeListModel.java


+ 18 - 0
app/src/main/java/com/silence/commonframe/common/constant/UrlConstants.java

@@ -25,4 +25,22 @@ public interface UrlConstants {
     String SET_BUZZER=BASE_LOCAl+"app/airGuard/setBuzzer";
     String AIR_DUARD_ISOPEN=BASE_LOCAl+"app/airGuard/openOrClose";
     String AIR_RUN_TIME=BASE_LOCAl+"app/airGuard/getRunTimeList";
+
+    /*----------------------------------------------空气卫士接口---------------------------------------*/
+    String AIRGUARD = ApiService.httpUrl1 + "/app/airGuard";
+
+    //获取运行时间间隔列表
+    String AIRGUARD_RUNTIMELIST = AIRGUARD + "/getRunTimeList";
+    //添加运行时间间隔
+    String AIRGUARD_RUNTIME = AIRGUARD + "/setRunTime";
+    //设置实时时钟
+    String AIRGUARD_SETTIME = AIRGUARD + "/setTime";
+    //设置设备基本信息
+    String AIRGUARD_DEV_DETAIL = AIRGUARD + "/updateDevDetail";
+    //打开或关闭运行时间间隔
+    String AIRGUARD_OPEN_CLOSE_RUNTIME = AIRGUARD + "/openCloseRunTime";
+    //删除运行时间间隔
+    String AIRGUARD_DEL_RUNTIME = AIRGUARD + "/delRunTime";
+    //修改运行时间间隔
+    String AIRGUARD_UPDATE_RUNTIME = AIRGUARD + "/updateRunTime";
 }

+ 3 - 3
app/src/main/java/com/silence/commonframe/fragment/DeviceFragment.java

@@ -207,13 +207,13 @@ public class DeviceFragment extends Fragment implements OnFunRegisterListener, O
                 titlePopup.show(view, TitlePopupMenu.STYLE_ALIGN_THIS_BOTTOM_WINDOW_RIGHT);
             }
         });
-        if (Data.getListid().size() == 0) {
+        if (Data.getListid()!=null&&Data.getListid().size() == 0) {
             recyclerView.setVisibility(View.GONE);
             textView.setVisibility(View.VISIBLE);
             imageView.setVisibility(View.VISIBLE);
             textView.setText("对不起请先添加场所");
             bt.setVisibility(View.GONE);
-        } else {
+        } else if (Data.getListid()!=null&&Data.getListid().size()> 0){
             place = Data.getListlocation().get(0);
             place1 = Data.getListmapRegionName().get(0);
             location = Data.getListlocation().get(0);
@@ -269,7 +269,7 @@ public class DeviceFragment extends Fragment implements OnFunRegisterListener, O
      * 判断类型选择的是烟感还是摄像头
      */
     private void isWhichClick() {
-        if (Data.getListid().size() == 0) {
+        if (Data.getListid()!=null&&Data.getListid().size() == 0) {
             recyclerView.setVisibility(View.GONE);
             textView.setVisibility(View.VISIBLE);
             imageView.setVisibility(View.VISIBLE);

+ 1 - 1
app/src/main/res/layout/activity_air_guard_time_clock.xml

@@ -35,7 +35,7 @@
                     />
 
                 <TextView
-                    android:id="@+id/airguard_current_time"
+                    android:id="@+id/tv_current_time"
                     android:layout_width="wrap_content"
                     android:layout_height="wrap_content"
                     android:layout_alignParentRight="true"

+ 10 - 10
app/src/main/res/layout/activity_air_guard_word_time.xml

@@ -1,22 +1,22 @@
 <?xml version="1.0" encoding="utf-8"?>
-<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:tools="http://schemas.android.com/tools"
+<LinearLayout xmlns:tools="http://schemas.android.com/tools"
+    xmlns:android="http://schemas.android.com/apk/res/android"
     android:layout_width="match_parent"
     android:layout_height="match_parent"
+    android:orientation="vertical"
     tools:context=".activity.AirGuardWordTimeActivity">
 
-    <LinearLayout
-        android:layout_width="match_parent"
-        android:layout_height="match_parent"
-        android:orientation="vertical">
 
         <include layout="@layout/navi_head"/>
-
+    <com.scwang.smartrefresh.layout.SmartRefreshLayout
+        android:id="@+id/srl_refresh"
+        android:layout_width="match_parent"
+        android:layout_height="match_parent">
         <android.support.v7.widget.RecyclerView
-            android:id="@+id/rv_work_time"
+            android:id="@+id/worktime_recyclerview"
             android:layout_width="match_parent"
             android:layout_height="match_parent"/>
+    </com.scwang.smartrefresh.layout.SmartRefreshLayout>
 
-    </LinearLayout>
 
-</android.support.constraint.ConstraintLayout>
+    </LinearLayout>