package com.moral.screen.activity;
|
|
import android.content.Intent;
|
import android.os.Bundle;
|
import android.support.v7.widget.LinearLayoutManager;
|
import android.support.v7.widget.RecyclerView;
|
import android.view.View;
|
import android.widget.TextView;
|
|
import com.baidu.mapapi.map.MapStatus;
|
import com.baidu.mapapi.map.MapStatusUpdateFactory;
|
import com.baidu.mapapi.model.LatLng;
|
import com.lzy.okgo.cache.CacheMode;
|
import com.moral.andbrickslib.baseadapter.recyclerview.MultiItemTypeAdapter;
|
import com.moral.andbrickslib.utils.FastJsonTools;
|
import com.moral.screen.MainApp;
|
import com.moral.screen.R;
|
import com.moral.screen.adapter.DeviceDataAdapter;
|
import com.moral.screen.base.BaseActivity;
|
import com.moral.screen.common.API;
|
import com.moral.screen.httputils.HttpCallBack;
|
import com.moral.screen.model.DeviceBean;
|
import com.moral.screen.model.DeviceDataBean;
|
|
import org.json.JSONException;
|
import org.json.JSONObject;
|
|
import java.util.ArrayList;
|
import java.util.HashMap;
|
import java.util.Timer;
|
import java.util.TimerTask;
|
|
/**
|
* Created by hjzhang on 2018/7/4.
|
*/
|
|
public class DeviceDataActivity extends BaseActivity {
|
private TextView tv_left;
|
private RecyclerView rv_data;
|
private DeviceDataAdapter adapter;
|
private ArrayList<DeviceDataBean> dataList = new ArrayList<>();
|
private int deviceVersionId,deviceId;
|
private String mac;
|
private Timer timer;
|
/**
|
* 计时器
|
*/
|
private boolean isFinish = false;
|
private void getDataForTime() {
|
timer = new Timer();
|
timer.schedule(new TimerTask() {
|
@Override
|
public void run() {
|
if(!isFinish){
|
getData(false);
|
}
|
}
|
},0,10*1000);
|
}
|
@Override
|
protected void getBundleExtras(Bundle extras) {
|
deviceVersionId = getIntent().getIntExtra("deviceVersionId",0);
|
deviceId = getIntent().getIntExtra("deviceId",0);
|
mac = getIntent().getStringExtra("mac");
|
}
|
|
@Override
|
protected int getLayoutId() {
|
return R.layout.ac_device_data_layout;
|
}
|
|
@Override
|
protected void initViews() {
|
tv_left = findView(R.id.tv_left);
|
rv_data = findView(R.id.rv_data);
|
adapter = new DeviceDataAdapter(rv_data,R.layout.list_item_data,dataList);
|
rv_data.setLayoutManager(new LinearLayoutManager(rv_data.getContext()));
|
rv_data.setAdapter(adapter);
|
adapter.setOnItemClickListener(new MultiItemTypeAdapter.OnItemClickListener() {
|
@Override
|
public void onItemClick(View view, RecyclerView.ViewHolder holder, int position) {
|
DeviceDataBean data = dataList.get(position);
|
Intent intent = new Intent(DeviceDataActivity.this,ChartActivity.class);
|
intent.putExtra("sensorKey",data.getSensor_key());
|
intent.putExtra("name",data.getDescription());
|
intent.putExtra("mac",mac);
|
intent.putExtra("maxValue",data.getUpper());
|
intent.putExtra("unit",data.getUnit());
|
startActivity(intent);
|
}
|
|
@Override
|
public boolean onItemLongClick(View view, RecyclerView.ViewHolder holder, int position) {
|
return false;
|
}
|
});
|
}
|
|
@Override
|
protected void initListener() {
|
tv_left.setOnClickListener(this);
|
}
|
|
@Override
|
protected void initData() {
|
getData(true);
|
getDataForTime();
|
}
|
|
@Override
|
protected void processClick(View view) {
|
switch (view.getId()){
|
case R.id.tv_left:
|
finish();
|
break;
|
}
|
|
}
|
|
@Override
|
protected void onErrorPageClick() {
|
|
}
|
|
private void getData(boolean show) {
|
HashMap<String, String> params = new HashMap<>();
|
params.put("deviceVersionId", deviceVersionId+"");
|
params.put("deviceId", deviceId+"");
|
params.put("mac", mac);
|
mHttpUtils.doGet(API.SENSORS, params, CacheMode.DEFAULT, show, new HttpCallBack() {
|
@Override
|
public void onSuccess(String res, String msg) {
|
if (progressDialog.isShowing()) {
|
progressDialog.dismiss();
|
}
|
ArrayList<DeviceDataBean> temp = (ArrayList<DeviceDataBean>) FastJsonTools.getArrayJson(res,DeviceDataBean.class);
|
if(temp!=null){
|
dataList.clear();
|
for (DeviceDataBean data: temp){
|
if(!("e23".equals(data.getSensor_key())||"e24".equals(data.getSensor_key())||"warn".equals(data.getSensor_key()))){
|
dataList.add(data);
|
}
|
}
|
|
}
|
adapter.notifyDataSetChanged();
|
}
|
|
@Override
|
public void showLoadingDialog() {
|
progressDialog.setTitleText("正在获取数据...");
|
progressDialog.show();
|
}
|
|
@Override
|
public void onFail(int errno, String s) {
|
mToatUtils.showSingletonToast(s);
|
if (progressDialog.isShowing()) {
|
progressDialog.dismiss();
|
}
|
}
|
});
|
|
}
|
@Override
|
protected void onDestroy() {
|
super.onDestroy();
|
if(timer!=null){
|
timer.cancel();
|
timer =null;
|
}
|
}
|
}
|