瀏覽代碼

Merge remote-tracking branch 'origin/master'

# Conflicts:
#	app/app.iml
#	app/src/main/java/com/silence/commonframe/activity/MainActivity.java
#	app/src/main/java/com/silence/commonframe/activity/mine/activity/MineFragment.java
#	app/src/main/java/com/silence/commonframe/fragment/NewDeviceFragment.java
#	app/src/main/java/com/silence/commonframe/utils1/AddDeviceUtils.java
740085783@qq.com 6 年之前
父節點
當前提交
a05d457738
共有 29 個文件被更改,包括 976 次插入681 次删除
  1. 3 0
      app/src/main/AndroidManifest.xml
  2. 9 6
      app/src/main/java/com/silence/commonframe/Dialog/BaseDialog.java
  3. 62 70
      app/src/main/java/com/silence/commonframe/activity/DeviceContextManagementActivity.java
  4. 0 49
      app/src/main/java/com/silence/commonframe/activity/Devicedetail3Activity.java
  5. 22 0
      app/src/main/java/com/silence/commonframe/activity/Interface/NewContextManagementListener.java
  6. 6 5
      app/src/main/java/com/silence/commonframe/activity/NewAddContextDeviceActivity.java
  7. 234 0
      app/src/main/java/com/silence/commonframe/activity/NewContextManagementActivity.java
  8. 10 14
      app/src/main/java/com/silence/commonframe/activity/NewDeviceDetailActivity.java
  9. 3 1
      app/src/main/java/com/silence/commonframe/activity/mine/Interface/FireMessageListener.java
  10. 15 16
      app/src/main/java/com/silence/commonframe/activity/mine/activity/AddlinkmanActivity.java
  11. 50 91
      app/src/main/java/com/silence/commonframe/activity/mine/activity/setup/FireMessageActivity.java
  12. 9 4
      app/src/main/java/com/silence/commonframe/activity/mine/presenter/FireMessagePresenter.java
  13. 4 4
      app/src/main/java/com/silence/commonframe/activity/presenter/NewAddDecicePresenter.java
  14. 112 0
      app/src/main/java/com/silence/commonframe/activity/presenter/NewContextManagementPresenter.java
  15. 128 0
      app/src/main/java/com/silence/commonframe/adapter/ContextManagementCameraDetailAdapter.java
  16. 133 0
      app/src/main/java/com/silence/commonframe/adapter/ContextManagementFireDetailAdapter.java
  17. 1 3
      app/src/main/java/com/silence/commonframe/adapter/DeviceContextAdapterCamera.java
  18. 89 1
      app/src/main/java/com/silence/commonframe/adapter/FireMessageAdapter.java
  19. 0 301
      app/src/main/java/com/silence/commonframe/adapter/SitedetailAdapter1.java
  20. 2 0
      app/src/main/java/com/silence/commonframe/common/constant/UrlConstants.java
  21. 26 5
      app/src/main/java/com/silence/commonframe/utils1/AddDeviceUtils.java
  22. 1 0
      app/src/main/java/com/silence/tech/ui/moni/Interface/MoniListener.java
  23. 7 2
      app/src/main/java/com/silence/tech/ui/moni/activity/MoniFragment.java
  24. 4 0
      app/src/main/java/com/silence/tech/ui/moni/presenter/MoniPresenter.java
  25. 1 1
      app/src/main/res/layout/activity_addlinkman.xml
  26. 4 1
      app/src/main/res/layout/activity_device_context_management.xml
  27. 16 102
      app/src/main/res/layout/activity_device_detail_new.xml
  28. 24 5
      app/src/main/res/layout/activity_fire_message.xml
  29. 1 0
      app/src/main/res/values/strings.xml

+ 3 - 0
app/src/main/AndroidManifest.xml

@@ -279,6 +279,9 @@
             android:name=".activity.DeviceContextManagementActivity"
             android:screenOrientation="portrait" />
         <activity
+            android:name=".activity.NewContextManagementActivity"
+            android:screenOrientation="portrait" />
+        <activity
             android:name=".activity.NewAddContextDeviceActivity"
             android:screenOrientation="portrait" />
         <activity

+ 9 - 6
app/src/main/java/com/silence/commonframe/Dialog/BaseDialog.java

@@ -4,6 +4,7 @@ import android.content.Context;
 import android.view.View;
 import com.silence.commonframe.Dialog.effects.Effectstype;
 import com.silence.commonframe.Dialog.effects.FWorkDialogBuilder;
+import com.silence.commonframe.R;
 
 public class BaseDialog {
     DialogCallBack dialogCallBack;
@@ -13,14 +14,16 @@ public class BaseDialog {
         final FWorkDialogBuilder dialogBuilder = FWorkDialogBuilder.getInstance(mContext);
         dialogBuilder
                 .withTitle(title)                                  //.withTitle(null)  no title
-                .withTitleColor("#333333")
-                .withDividerColor("#11000000")                              //def
+                .withTitleColor("#000000")
+                .withDividerColor("#cccccc")                              //def
                 .withMessage(message)            //.withMessage(null)  no Msg
-                .withMessageColor("#FF666666")                              //def  | withMessageColor(int resid)
+                .withMessageColor("#444444")                              //def  | withMessageColor(int resid)
                 .withDialogColor("#FFFFFFFF")                               //def  | withDialogColor(int resid)                               //def
-                .isCancelableOnTouchOutside(true)                           //def    | isCancelable(true)
-                .withDuration(700)                                          //def
-                .withEffect(Effectstype.RotateBottom)                                         //def Effectstype.Slidetop
+                .isCancelableOnTouchOutside(false)                           //def    | isCancelable(true)
+                .withDuration(500)                                          //def
+                .withEffect(Effectstype.SlideBottom)                                         //def Effectstype.Slidetop
+                .withButtonDrawableBtn1(R.drawable.bg_corner_blue)
+                .withButtonDrawableBtn2(R.drawable.bg_corner_blue)
                 .withButton1Text(LeftBtn)//def gone
                 .withButton2Text(RightBtn)
                 .setButton1Click(new View.OnClickListener() {

+ 62 - 70
app/src/main/java/com/silence/commonframe/activity/DeviceContextManagementActivity.java

@@ -24,6 +24,7 @@ import com.silence.commonframe.ApiService;
 import com.silence.commonframe.R;
 import com.silence.commonframe.adapter.DeviceContextAdapter;
 import com.silence.commonframe.adapter.DeviceContextAdapterCamera;
+import com.silence.commonframe.base.basemvp.BaseActivity;
 import com.silence.commonframe.bean.IsDeviceChange;
 import com.silence.commonframe.model.DelContextDevice;
 import com.silence.commonframe.model.DelContextDevice_success;
@@ -51,7 +52,7 @@ import okhttp3.Response;
  * @author 郑嘉明
  * device_context_checkbox、device_context_name、device_context_state、device_context_location、context_device_camera_amount、context_device_smokedetector_amount
  */
-public class DeviceContextManagementActivity extends AppCompatActivity {
+public class DeviceContextManagementActivity extends BaseActivity {
 
     /**
      * 导航栏信息
@@ -99,59 +100,71 @@ public class DeviceContextManagementActivity extends AppCompatActivity {
     private int devId;
     private    Boolean flag = false;
 
-    @Override
-    protected void onCreate(Bundle savedInstanceState) {
-        super.onCreate(savedInstanceState);
-        setContentView(R.layout.activity_device_context_management);
-        ButterKnife.bind(this);
-        AtyContainer.getInstance().addActivity(this);
-        navi_head_text.setText(R.string.devicedetail_associateddevicemanagement);       //设置标题
-        navi_head_text_right.setText(R.string.devicecontext_management);                //设置导航栏右侧文字
-        context_device_del_submit.setVisibility(View.GONE);     //提交按钮默认消失
-        //设置全屏
-        initWindows();
-
-        IsDeviceChange.setIsContextCamera(true);
-
-        //获取传递过来的值
-        getIntentMsg();
-//        device_id = Data.getDevIdsCamera();
-
-        //获取关联设备
-        getContextDevice();
-        //设置管理菜单
-        getManageMenu();
-        //提交点击事件
-        del_sumbitOnClickListener();
-
-//        context_device_del_submit.setOnClickListener(new View.OnClickListener() {
-//            @Override
-//            public void onClick(View v) {
-//                listCameraDel.addAll(cameraAdapter.getCheckBoxIDList());
-//                listSmokeDel.addAll(smokeAdapter.getCheckBoxIDList());
+//    @Override
+//    protected void onCreate(Bundle savedInstanceState) {
+//        super.onCreate(savedInstanceState);
+//        setContentView(R.layout.activity_device_context_management);
+//        ButterKnife.bind(this);
+//        AtyContainer.getInstance().addActivity(this);
+//        navi_head_text.setText(R.string.devicedetail_associateddevicemanagement);       //设置标题
+//        navi_head_text_right.setText(R.string.devicecontext_management);                //设置导航栏右侧文字
+//        context_device_del_submit.setVisibility(View.GONE);     //提交按钮默认消失
+//        //设置全屏
+//        initWindows();
 //
+//        IsDeviceChange.setIsContextCamera(true);
 //
+//        //获取传递过来的值
+//        getIntentMsg();
+////        device_id = Data.getDevIdsCamera();
 //
+//        //获取关联设备
+//        getContextDevice();
+//        //设置管理菜单
+//        getManageMenu();
+//        //提交点击事件
+//        del_sumbitOnClickListener();
 //
-//                if (listCameraDel.size() != 0 || listSmokeDel.size() != 0){
-//                    //解除设备关联关系
-//                    delContextDevice();
-//                    change = 1;     //页面改变
-//                    cameraAdapter.removeAdapterItem();  //adapter中删除要删除的item并刷新
-//                    smokeAdapter.removeAdapterItem();
-//                    listCameraDel.clear();              //删完清空
-//                    listSmokeDel.clear();
-//                    cameraAdapter.setIsShow(false);                    //设置checkbox不显示
-//                    cameraAdapter.notifyDataSetChanged();                    //刷新adapter
-//                    smokeAdapter.setIsShow(false);                    //设置checkbox不显示
-//                    smokeAdapter.notifyDataSetChanged();                    //刷新adapter
-//                    context_device_del_submit.setVisibility(View.GONE);     //提交按钮消失
-//                }else {
-//                    Toast.makeText(DeviceContextManagementActivity.this,"请先选择要解除关联的设备",Toast.LENGTH_SHORT).show();
-//                }
+////        context_device_del_submit.setOnClickListener(new View.OnClickListener() {
+////            @Override
+////            public void onClick(View v) {
+////                listCameraDel.addAll(cameraAdapter.getCheckBoxIDList());
+////                listSmokeDel.addAll(smokeAdapter.getCheckBoxIDList());
 //
-//            }
-//        });
+////                if (listCameraDel.size() != 0 || listSmokeDel.size() != 0){
+////                    //解除设备关联关系
+////                    delContextDevice();
+////                    change = 1;     //页面改变
+////                    cameraAdapter.removeAdapterItem();  //adapter中删除要删除的item并刷新
+////                    smokeAdapter.removeAdapterItem();
+////                    listCameraDel.clear();              //删完清空
+////                    listSmokeDel.clear();
+////                    cameraAdapter.setIsShow(false);                    //设置checkbox不显示
+////                    cameraAdapter.notifyDataSetChanged();                    //刷新adapter
+////                    smokeAdapter.setIsShow(false);                    //设置checkbox不显示
+////                    smokeAdapter.notifyDataSetChanged();                    //刷新adapter
+////                    context_device_del_submit.setVisibility(View.GONE);     //提交按钮消失
+////                }else {
+////                    Toast.makeText(DeviceContextManagementActivity.this,"请先选择要解除关联的设备",Toast.LENGTH_SHORT).show();
+////                }
+////
+////            }
+////        });
+//
+//    }
+
+    @Override
+    public int getLayoutId() {
+        return R.layout.activity_device_context_management;
+    }
+
+    @Override
+    public void initPresenter() {
+
+    }
+
+    @Override
+    public void initView() {
 
     }
 
@@ -275,7 +288,6 @@ public class DeviceContextManagementActivity extends AppCompatActivity {
      * 删除关联设备关系
      */
     private void delContextDevice() {
-
 //        for (int i = 0; i < listCameraDel.size(); i++){
 //            String url1 = ApiService.httpUrl1 + "/app/deleteDeviceConnect?id="+listCameraDel.get(i);
 //            OkGo.get(url1)
@@ -332,16 +344,9 @@ public class DeviceContextManagementActivity extends AppCompatActivity {
                             }
                         }
                     });
-
-//            if (flag){
-//                smokeAdapter.removeAdapterItem();
-//            }
-
             flag = true;
         }
 
-
-
         for (int i = 0; i < listSmokeDel.size(); i++) {
             String url2 = ApiService.httpUrl1 +Data.getConfigUrl()+ "/deleteDeviceConnect?id=" + listSmokeDel.get(i);
             OkGo.get(url2)
@@ -367,11 +372,8 @@ public class DeviceContextManagementActivity extends AppCompatActivity {
                         }
                     });
 
-
             smokeAdapter.removeAdapterItem();
-
         }
-
         rowSmoke =  rowsFiredata  - listSmokeDel.size();
       //  Toast.makeText(DeviceContextManagementActivity.this, "烟感设备删除成功", Toast.LENGTH_SHORT).show();
     }
@@ -415,13 +417,7 @@ public class DeviceContextManagementActivity extends AppCompatActivity {
             if (flag){
                     cameraAdapter.removeAdapterItem();
                     }
-
             flag = true;
-
-//            if (listCameraDel.size() != 1){
-//                    cameraAdapter.removeAdapterItem();
-//                    }
-
         }
     //    if (listCameraDel.size() > 1){
             for (int i = 0; i < listCameraDel.size(); i++){
@@ -461,11 +457,7 @@ public class DeviceContextManagementActivity extends AppCompatActivity {
                 cameraAdapter.removeAdapterItem();
             }
     //    }
-
-
-
         rowCamere =   rowsCameradata  - listCameraDel.size();
-
 //        for (int i = 0; i < listSmokeDel.size(); i++) {
 //            String url2 = ApiService.httpUrl1 + "/app/deleteDeviceConnect?id=" + listSmokeDel.get(i);
 //            OkGo.get(url2)

+ 0 - 49
app/src/main/java/com/silence/commonframe/activity/Devicedetail3Activity.java

@@ -139,13 +139,6 @@ public class Devicedetail3Activity extends AppCompatActivity {
 
                                         hashMap.put("trouble_type",trouble_type);
 
-
-
-
-
-
-
-
                                         deviceName.add(name);
                                         list.add(id);
                                         listDeviceLocation.add(deviceLocation);
@@ -154,7 +147,6 @@ public class Devicedetail3Activity extends AppCompatActivity {
 
                                     runOnUiThread(new Runnable() {
 
-
                                         @Override
                                         public void run() {
                                             adapter1 = new MyAdapterSlideSite(Devicedetail3Activity.this, listmap);
@@ -174,8 +166,6 @@ public class Devicedetail3Activity extends AppCompatActivity {
                                                     intent.putExtra("deviceId",list.get(position));
                                                     intent.putExtra("devicelocation",listDeviceLocation.get(position));
                                                     startActivity(intent);
-
-
                                                 }
 
                                                 @Override
@@ -185,7 +175,6 @@ public class Devicedetail3Activity extends AppCompatActivity {
                                                     builder.setMessage("是否确定要删除该设备");
                                                     builder.setCancelable(false);
                                                     builder.setTitle("提示");
-
                                                     builder.setPositiveButton("确定", new DialogInterface.OnClickListener() {
                                                         @Override
                                                         public void onClick(DialogInterface dialog, int which) {
@@ -206,12 +195,6 @@ public class Devicedetail3Activity extends AppCompatActivity {
                                                         }
                                                     });
                                                     builder.show();
-
-
-
-                                                    // adapter1.removeItem(position);
-
-
                                                 }
 
                                                 @Override
@@ -238,19 +221,8 @@ public class Devicedetail3Activity extends AppCompatActivity {
                     }
 
                 });
-
-
-
-
-
-
     }
 
-
-
-
-
-
     private void delDevices(String id) {
         String  url =   ApiService.httpUrl1+Data.getConfigUrl() +"/deleteDevice?ids="+ id;
         OkGo.get(url)
@@ -268,8 +240,6 @@ public class Devicedetail3Activity extends AppCompatActivity {
 //                        Device device = new Gson().fromJson(s,Device.class);
 //                        List<Device.DataBean.DataListBean>  listBeans =  device.getData().getDataList();
 //                        System.out.println("ss"+listBeans);
-
-
                         try {
                             JSONObject object = new JSONObject(s);
                             String code = object.getString("code");
@@ -282,32 +252,13 @@ public class Devicedetail3Activity extends AppCompatActivity {
 //                                Toast.makeText(Devicedetail3Activity.this,""+message,Toast.LENGTH_SHORT).show();
                                 return;
                             }
-
-
                         } catch (JSONException e) {
                             e.printStackTrace();
                         }
-
-
                     }
 
                 });
-
-
-
-
-
     }
-
-
-
-
-
-
-
-
-
-
     public void myclick(View view) {
         finish();
     }

+ 22 - 0
app/src/main/java/com/silence/commonframe/activity/Interface/NewContextManagementListener.java

@@ -0,0 +1,22 @@
+package com.silence.commonframe.activity.Interface;
+
+import com.silence.commonframe.base.basemvp.BaseModel;
+import com.silence.commonframe.base.basemvp.BasePresenter;
+import com.silence.commonframe.bean.CameraDetailBean;
+import com.silence.commonframe.bean.ConnectDeviceBean;
+
+public interface NewContextManagementListener {
+    interface View{
+        String getDevId();
+
+        void onSuccess(ConnectDeviceBean data);
+        void onCameraSuccess(CameraDetailBean bean);
+        void onDelSuccess();
+        void onFile(String msg);
+    }
+    abstract class Presenter extends BasePresenter<View, BaseModel>{
+        public abstract void getConnect();
+        public abstract void getCameraId(String deviceId);
+        public abstract void deleteDeviceConnect(String deviceId);
+    }
+}

+ 6 - 5
app/src/main/java/com/silence/commonframe/activity/NewAddContextDeviceActivity.java

@@ -95,7 +95,8 @@ public class NewAddContextDeviceActivity extends BaseActivity implements NewAddD
     public void onClick(View view) {
         switch (view.getId()) {
             case R.id.tv_next:
-                presenter.addDevice();
+                presenter.chickDevice();
+//                presenter.addDevice();
                 break;
             case R.id.iv_qr_code:
                 //跳转到扫一扫页面
@@ -148,7 +149,7 @@ public class NewAddContextDeviceActivity extends BaseActivity implements NewAddD
 
     @Override
     public String getEtDeviceId() {
-         deviceId2=etCode.getText().toString().trim();
+        deviceId2=etCode.getText().toString().trim();
         return deviceId2;
     }
 
@@ -169,9 +170,9 @@ public class NewAddContextDeviceActivity extends BaseActivity implements NewAddD
 
     @Override
     public void afterTextChanged(Editable editable) {
-        if (temp.toString().trim().length()==16){
-            presenter.chickDevice();
-        }
+//        if (temp.toString().trim().length()==16){
+//            presenter.chickDevice();
+//        }
     }
 
     @Override

+ 234 - 0
app/src/main/java/com/silence/commonframe/activity/NewContextManagementActivity.java

@@ -0,0 +1,234 @@
+package com.silence.commonframe.activity;
+
+import android.content.Intent;
+import android.os.Bundle;
+import android.support.v7.widget.RecyclerView;
+import android.support.v7.widget.StaggeredGridLayoutManager;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.LinearLayout;
+import android.widget.TextView;
+import android.widget.Toast;
+
+import com.silence.commonframe.R;
+import com.silence.commonframe.activity.Interface.NewContextManagementListener;
+import com.silence.commonframe.activity.presenter.NewContextManagementPresenter;
+import com.silence.commonframe.adapter.ContextManagementCameraDetailAdapter;
+import com.silence.commonframe.adapter.ContextManagementFireDetailAdapter;
+import com.silence.commonframe.base.basemvp.BaseActivity;
+import com.silence.commonframe.bean.CameraDetailBean;
+import com.silence.commonframe.bean.ConnectDeviceBean;
+import com.silence.commonframe.example.ActivityGuideDeviceCamera;
+import com.silence.commonframe.lib.funsdk.support.models.FunDevice;
+import com.silence.commonframe.utils.Data;
+import com.silence.commonframe.utils.ManagePopupMenu;
+import com.silence.commonframe.utils.TitlePopupMenu;
+import com.silence.commonframe.utils1.AddDeviceUtils;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import butterknife.BindView;
+
+public class NewContextManagementActivity extends BaseActivity implements NewContextManagementListener.View {
+
+    @BindView(R.id.context_device_del_submit)
+    LinearLayout llSubmit;      //提交按钮
+    @BindView(R.id.recycleview_camera)
+    RecyclerView rvCamera;    //摄像头列表
+    @BindView(R.id.recyclerview_smoke)
+    RecyclerView rvSmoke;    //烟感列表
+    @BindView(R.id.context_device_camera_amount)
+    TextView tvCameraNum;      //摄像头数量
+    @BindView(R.id.context_device_smokedetector_amount)
+    TextView tvSmokeNum;   //烟感数量
+    @BindView(R.id.hint_camera)
+    TextView tvNoCamera;   //提示无摄像头
+    @BindView(R.id.hint_smoke)
+    TextView tvNoSmoke;    //提示无烟感
+
+    private List<ConnectDeviceBean.CameradataBean.DataListBean> listCameraData = new ArrayList<>();
+    private List<ConnectDeviceBean.FiredataBean.DataListBeanX> listFireData = new ArrayList<>();
+
+    private ContextManagementFireDetailAdapter mFireAdapter;
+    private ContextManagementCameraDetailAdapter mCameraAdapter;
+
+    private List<String> listFireDel = new ArrayList<>();
+    private List<String> listCameraDel = new ArrayList<>();
+
+    private List<FunDevice> mLanDeviceList = new ArrayList<>();
+
+    private ManagePopupMenu manageMenu;     //管理菜单
+    AddDeviceUtils addDeviceUtils = new AddDeviceUtils();
+
+    private String deviceId;
+
+    NewContextManagementPresenter presenter;
+
+    @Override
+    public int getLayoutId() {
+        return R.layout.activity_device_context_management;
+    }
+
+    @Override
+    public void initPresenter() {
+        presenter = new NewContextManagementPresenter(this,this);
+    }
+
+    @Override
+    public void initView() {
+        clickTitle(this,getResources().getString(R.string.devicedetail_associateddevicemanagement),getResources().getString(R.string.devicecontext_management),true)
+                .setRightClickListener(new View.OnClickListener() {
+                    @Override
+                    public void onClick(View v) {
+                        avoidDoubleClick(v);
+                        manageMenu.show(v, TitlePopupMenu.STYLE_ALIGN_THIS_BOTTOM_WINDOW_RIGHT);
+                    }
+                });
+
+        deviceId = getIntent().getStringExtra("deviceId");
+
+        manageMenu = new ManagePopupMenu(NewContextManagementActivity.this, ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT);
+        addDeviceUtils.AddManage(manageMenu,this, addManageBack);
+
+        llSubmit.setVisibility(View.GONE);     //提交按钮默认消失
+
+        rvSmoke.setLayoutManager(new StaggeredGridLayoutManager( 1, StaggeredGridLayoutManager.VERTICAL));
+        rvSmoke.setLayoutManager(new StaggeredGridLayoutManager( 1, StaggeredGridLayoutManager.VERTICAL));
+        mFireAdapter = new ContextManagementFireDetailAdapter(listFireData);
+        mCameraAdapter = new ContextManagementCameraDetailAdapter(listCameraData);
+        rvSmoke.setAdapter(mFireAdapter);
+        rvCamera.setAdapter(mCameraAdapter);
+
+        startLoading();
+        presenter.getConnect();
+
+        itemClickListener();
+    }
+
+    private void itemClickListener() {
+        mFireAdapter.setOnItemClickListener(new ContextManagementFireDetailAdapter.OnItemClickListener() {
+            @Override
+            public void OnItemClick(View v, int position) {
+                Intent intent = new Intent(NewContextManagementActivity.this,NewDeviceDetailActivity.class);
+                intent.putExtra("deviceId",listFireData.get(position).getDeviceId());
+                startActivity(intent);
+            }
+        });
+        mCameraAdapter.setOnItemClickListener(new ContextManagementCameraDetailAdapter.OnItemClickListener() {
+            @Override
+            public void OnItemClick(View v, int position) {
+                presenter.getCameraId(listCameraData.get(position).getDeviceId());
+            }
+        });
+        llSubmit.setOnClickListener(new View.OnClickListener() {
+            @Override
+            public void onClick(View v) {
+                listFireDel.addAll(mFireAdapter.getCheckBoxIdList());
+                listCameraDel.addAll(mCameraAdapter.getCheckBoxIdList());
+                for (int i = 0; i < listFireDel.size(); i++){
+                    presenter.deleteDeviceConnect(listFireDel.get(i));
+                }
+                for (int i = 0; i < listCameraDel.size(); i++){
+                    presenter.deleteDeviceConnect(listCameraDel.get(i));
+                }
+                mFireAdapter.removeAdapterItem();
+                mCameraAdapter.removeAdapterItem();
+            }
+        });
+    }
+
+    AddDeviceUtils.AddManageBack addManageBack = new AddDeviceUtils.AddManageBack() {
+        @Override
+        public void add() {
+            Intent intent_contextdevice_management = new Intent(NewContextManagementActivity.this,NewAddContextDeviceActivity.class);
+            intent_contextdevice_management.putExtra("deviceId",deviceId);
+            startActivityForResult(intent_contextdevice_management,3);
+        }
+
+        @Override
+        public void del() {
+            if (mFireAdapter.getShow() && mCameraAdapter.getShow()){
+                mFireAdapter.setIsShow(false);
+                mCameraAdapter.setIsShow(false);
+                llSubmit.setVisibility(View.GONE);
+            }else if (!mFireAdapter.getShow() && !mCameraAdapter.getShow()){
+                mFireAdapter.setIsShow(true);
+                mCameraAdapter.setIsShow(true);
+                llSubmit.setVisibility(View.VISIBLE);
+            }
+        }
+    };
+
+    @Override
+    public String getDevId() {
+        return deviceId;
+    }
+
+    @Override
+    public void onSuccess(ConnectDeviceBean data) {
+        if (data.getCameradata().getRows()==0){
+            tvNoCamera.setVisibility(View.VISIBLE);
+            rvCamera.setVisibility(View.GONE);
+            tvCameraNum.setText("0个");
+        }else {
+            tvNoCamera.setVisibility(View.GONE);
+            rvCamera.setVisibility(View.VISIBLE);
+            tvCameraNum.setText(data.getCameradata().getRows()+"个");
+            listCameraData.addAll(data.getCameradata().getDataList());
+            mCameraAdapter.notifyDataSetChanged();
+        }
+        if (data.getFiredata().getRows()==0){
+            tvNoSmoke.setVisibility(View.VISIBLE);
+            rvSmoke.setVisibility(View.GONE);
+            tvSmokeNum.setText("0个");
+        }else{
+            tvNoSmoke.setVisibility(View.GONE);
+            rvSmoke.setVisibility(View.VISIBLE);
+            tvSmokeNum.setText(data.getFiredata().getRows()+"个");
+            listFireData.addAll(data.getFiredata().getDataList());
+            mFireAdapter.notifyDataSetChanged();
+        }
+        stopLoading();
+    }
+
+    @Override
+    public void onCameraSuccess(CameraDetailBean bean) {
+        if (bean!=null){
+            mLanDeviceList.addAll((MainActivity.getLanDeviceList()));
+            int position=-1;
+            for (int i=0;i<mLanDeviceList.size();i++){
+                if (mLanDeviceList.get(i).getDevMac().equals(bean.getUuid())){
+                    position=i;
+                    break;
+                }
+            }
+            if (position!=-1){
+                Data.setDevIdsCamera(bean.getUuid());
+                Intent intent1 = new Intent();
+                Bundle bundle = new Bundle();
+                intent1.setClass(this, ActivityGuideDeviceCamera.class);
+                bundle.putInt("FUN_DEVICE_ID", mLanDeviceList.get(position).getId());
+                bundle.putSerializable("position",position);
+                intent1.putExtras(bundle);
+                intent1.putExtra("deviceId", bean.getId());
+                Data.setCameraName(bean.getNickname());
+                startActivity(intent1);
+            }else {
+                Toast.makeText(this, "选择的摄像头不在线,请重新确认!", Toast.LENGTH_SHORT).show();
+            }
+        }else {
+            Toast.makeText(this, "选择的摄像头不在线,请重新确认!", Toast.LENGTH_SHORT).show();
+        }
+    }
+
+    @Override
+    public void onDelSuccess() {
+        presenter.getConnect();
+    }
+
+    @Override
+    public void onFile(String msg) {
+        Toast.makeText(this,""+msg,Toast.LENGTH_SHORT).show();
+    }
+}

+ 10 - 14
app/src/main/java/com/silence/commonframe/activity/NewDeviceDetailActivity.java

@@ -34,10 +34,6 @@ import butterknife.OnClick;
  * devicedetail_camera_amount、hint_camera、devicedetail_recyclerview_camera、devicedetail_smoke_amount、hint_smoke、devicedetail_recyclerview_smoke
  */
 public class NewDeviceDetailActivity extends BaseActivity implements NewDeviceDetailListener.View{
-    @BindView(R.id.iv_back)
-    ImageView ivBack;
-    @BindView(R.id.tv_context_device_add)
-    TextView tvContextDeviceAdd;
     @BindView(R.id.tv_device_name)
     TextView tvDeviceName;
     @BindView(R.id.tv_operator)
@@ -85,7 +81,13 @@ public class NewDeviceDetailActivity extends BaseActivity implements NewDeviceDe
 
     @Override
     public void initView() {
+        clickTitle(this,getResources().getString(R.string.devicedetail),getResources().getString(R.string.devicecontext_management),true)
+                .setRightClickListener(v ->
+                        startActivityForResult(new Intent()
+                                .putExtra("deviceId",deviceId)
+                                .setClass(NewDeviceDetailActivity.this,NewContextManagementActivity.class),4));
         startLoading();
+
         deviceId=getIntent().getStringExtra("deviceId");
 
         rvDeviceList.setLayoutManager(new StaggeredGridLayoutManager( 1, StaggeredGridLayoutManager.VERTICAL));
@@ -100,18 +102,12 @@ public class NewDeviceDetailActivity extends BaseActivity implements NewDeviceDe
         presenter.getConnect();
     }
 
-    @OnClick({R.id.tv_running_record,R.id.tv_context_device_add,R.id.iv_back,R.id.iv_add_device})
+    @OnClick({R.id.tv_running_record,R.id.iv_add_device})
     public void onClick(View view) {
         switch (view.getId()) {
             case R.id.tv_running_record:
                 startActivity(new Intent().putExtra("deviceId",deviceId).setClass(this,RunningRecordActivity.class));
                 break;
-            case R.id.tv_context_device_add:
-                startActivityForResult(new Intent().putExtra("deviceId",deviceId).setClass(this,DeviceContextManagementActivity.class),4);
-                break;
-            case R.id.iv_back:
-                finish();
-                break;
             case R.id.iv_add_device:
                 startActivity(new Intent().putExtra("deviceId",deviceId).setClass(this,NewAddContextDeviceActivity.class));
                 break;
@@ -129,8 +125,8 @@ public class NewDeviceDetailActivity extends BaseActivity implements NewDeviceDe
         tvDeviceName.setText(bean.getDeviceName()+"");
         tvOperator.setText(bean.getOperator()+"");
         tvIdCode.setText(bean.getDeviceId()+"");
-        tvPlace.setText(bean.getSiteLocation()+"");
-        tvPlace1.setText(bean.getLocation()+"");
+        tvPlace.setText(bean.getLocation()+"");
+        tvPlace1.setText("详细地址:" + bean.getSiteLocation()+"");
         if ("1".equals(bean.getDeviceStatus())){
             tvStatus.setText("在线");
             tvStatus.setTextColor(getResources().getColor(R.color.myblue));
@@ -148,9 +144,9 @@ public class NewDeviceDetailActivity extends BaseActivity implements NewDeviceDe
             rvCameraList.setVisibility(View.GONE);
             tvCameraNum.setText("0个");
         }else {
-            tvHintSmoke.setText(bean.getCameradata().getRows()+"个");
             tvHintCamera.setVisibility(View.GONE);
             rvCameraList.setVisibility(View.VISIBLE);
+            tvCameraNum.setText(bean.getCameradata().getRows()+"个");
             cameraData.addAll(bean.getCameradata().getDataList());
             connectCameraDetailAdapter.notifyDataSetChanged();
         }

+ 3 - 1
app/src/main/java/com/silence/commonframe/activity/mine/Interface/FireMessageListener.java

@@ -10,9 +10,11 @@ import java.util.List;
 public interface FireMessageListener {
     interface View{
         int getPage();
-        ArrayList<String> getListId();
+        List<SiteModel.DataBean.DataListBean> getListData();
 
         void onSuccess(List<SiteModel.DataBean.DataListBean> listData);
+        void onSuccess();
+        void onError();
         void onFile(String msg);
     }
     abstract class Presenter extends BasePresenter<View, BaseModel>{

+ 15 - 16
app/src/main/java/com/silence/commonframe/activity/mine/activity/AddlinkmanActivity.java

@@ -17,6 +17,7 @@ import com.scwang.smartrefresh.layout.SmartRefreshLayout;
 import com.scwang.smartrefresh.layout.api.RefreshLayout;
 import com.scwang.smartrefresh.layout.listener.OnRefreshListener;
 import com.silence.commonframe.Dialog.AddLinkManDialog;
+import com.silence.commonframe.Dialog.BaseDialog;
 import com.silence.commonframe.Dialog.CDialog;
 import com.silence.commonframe.R;
 import com.silence.commonframe.activity.mine.Interface.AddLinkManListener;
@@ -46,7 +47,6 @@ public class AddlinkmanActivity extends BaseActivity implements AddLinkManListen
     private NewLinkManAdapter mAdapter;
     private List<String> list = new ArrayList<>();
     private String id;
-    String data1;
     String etName;
     String etPhone;
     String siteid="";
@@ -84,10 +84,13 @@ public class AddlinkmanActivity extends BaseActivity implements AddLinkManListen
                                 presenter.addLinkMan();
                                 addLinkManDialog.dismiss();
                             }
-                            break;
+                                break;
                             case 2: {
                                 addLinkManDialog.dismiss();
                             }
+                                break;
+                            default:
+                                break;
                         }
                     }
                 });
@@ -104,6 +107,7 @@ public class AddlinkmanActivity extends BaseActivity implements AddLinkManListen
             }
         });
         srlRefresh.setEnableLoadMore(false);
+        startLoading();
         presenter.getData();
     }
 
@@ -161,6 +165,7 @@ public class AddlinkmanActivity extends BaseActivity implements AddLinkManListen
         if (srlRefresh != null) {
             srlRefresh.finishRefresh();
         }
+        stopLoading();
     }
 
     @Override
@@ -180,23 +185,17 @@ public class AddlinkmanActivity extends BaseActivity implements AddLinkManListen
     @Override
     public void deleteCallBack(String id) {
         this.id=id;
-        CDialog.Builder builder = new CDialog.Builder(AddlinkmanActivity.this);
-        builder.setCancelable(false);
-        builder.setTitle("提示");
-        builder.setMessage("你确定要删除该联系人吗?");
-        //    final EditText deviceno = (EditText)view.findViewById(R.id.deviceno);
-        builder.setPositiveButton("确定", new DialogInterface.OnClickListener() {
+
+        BaseDialog.DialogCallBack dialogCallBack=new BaseDialog.DialogCallBack() {
             @Override
-            public void onClick(DialogInterface dialog, int which) {
-                presenter.delData();
+            public void leftBtn() {
             }
-        });
-        builder.setNegativeButton("取消", new DialogInterface.OnClickListener() {
+
             @Override
-            public void onClick(DialogInterface dialog, int which) {
-                dialog.dismiss();
+            public void rightBtn() {
+                presenter.delData();
             }
-        });
-        builder.show();
+        };
+        new BaseDialog().BaseDialog(this,"提示","你确定要删除该联系人吗?","取消","确定",dialogCallBack);
     }
 }

+ 50 - 91
app/src/main/java/com/silence/commonframe/activity/mine/activity/setup/FireMessageActivity.java

@@ -1,49 +1,42 @@
 package com.silence.commonframe.activity.mine.activity.setup;
 
-import android.content.DialogInterface;
-import android.support.annotation.NonNull;
 import android.support.v7.widget.LinearLayoutManager;
 import android.support.v7.widget.RecyclerView;
 import android.view.View;
+import android.widget.TextView;
 import android.widget.Toast;
 
 import com.scwang.smartrefresh.layout.SmartRefreshLayout;
-import com.scwang.smartrefresh.layout.api.RefreshLayout;
-import com.scwang.smartrefresh.layout.listener.OnLoadMoreListener;
-import com.scwang.smartrefresh.layout.listener.OnRefreshListener;
+import com.silence.commonframe.Dialog.BaseDialog;
 import com.silence.commonframe.Dialog.CDialog;
 import com.silence.commonframe.R;
+import com.silence.commonframe.activity.MainActivity;
 import com.silence.commonframe.activity.mine.Interface.FireMessageListener;
 import com.silence.commonframe.activity.mine.presenter.FireMessagePresenter;
-import com.silence.commonframe.adapter.SitedetailAdapter1;
+import com.silence.commonframe.adapter.FireMessageAdapter;
 import com.silence.commonframe.base.basemvp.BaseActivity;
 import com.silence.commonframe.model.SiteModel;
-import com.silence.commonframe.utils.Data;
 import com.silence.commonframe.utils.DividerItemDecoration;
+import com.silence.commonframe.utils1.GoSystemSetting;
 
 import java.util.ArrayList;
-import java.util.HashMap;
 import java.util.List;
 
-
 import butterknife.BindView;
 
 public class FireMessageActivity extends BaseActivity implements FireMessageListener.View {
 
-
     @BindView(R.id.my_recycler_view)
     RecyclerView myRecyclerView;
     @BindView(R.id.srl_refresh)
     SmartRefreshLayout srlRefresh;
+    @BindView(R.id.tv_no_message)
+    TextView tvNoMsg;
 
-    private List<HashMap<String, String>> listmap = new ArrayList<HashMap<String, String>>();
+    List<SiteModel.DataBean.DataListBean> listDataBean = new ArrayList<>();
 
     public ArrayList<String> list = new ArrayList<String>(); //数据源
-    private ArrayList<String>  listId  = new ArrayList<String>(); //场所id
-    private SitedetailAdapter1 myAdapter1;
-
-    private ArrayList<String> listCheckphone = new ArrayList<>();
-    private ArrayList<String> listCheckmessage = new ArrayList<>();
+    private FireMessageAdapter myAdapter;
 
     private FireMessagePresenter presenter;
 
@@ -63,53 +56,35 @@ public class FireMessageActivity extends BaseActivity implements FireMessageList
     public void initView() {
         setTitle(this,getResources().getString(R.string.message_management),"",true);
         presenter.getData();
-        myAdapter1 = new SitedetailAdapter1(FireMessageActivity.this, listmap);
+        myAdapter = new FireMessageAdapter(listDataBean);
         myRecyclerView.setLayoutManager(new LinearLayoutManager(FireMessageActivity.this));
-        myRecyclerView.setAdapter(myAdapter1);
+        myRecyclerView.setAdapter(myAdapter);
         //设置分割线
         myRecyclerView.addItemDecoration(new DividerItemDecoration(FireMessageActivity.this, DividerItemDecoration.VERTICAL_LIST));
 
-        myAdapter1.buttonSetOnclick(new SitedetailAdapter1.ButtonInterface() {
-            @Override
-            public void onclick(View view, int position) {
-                CDialog.Builder builder = new CDialog.Builder(FireMessageActivity.this);
-                builder.setCancelable(false);
-                builder.setTitle("提示");
-                builder.setMessage("你确定要提交推送管理吗?");
-
-                builder.setPositiveButton("确定", new DialogInterface.OnClickListener()
-                {
-                    @Override
-                    public void onClick(DialogInterface dialog, int which)
-                    {
-                        presenter.updatePhonePush();
-                    }
-                });
-                builder.setNegativeButton("取消", new DialogInterface.OnClickListener()
-                {
-                    @Override
-                    public void onClick(DialogInterface dialog, int which)
-                    {
-                        dialog.dismiss();
-                    }
-                });
-                builder.show();
-            }
+        myAdapter.setButtonClickListener((view, position) -> {
+            BaseDialog.DialogCallBack dialogCallBack=new BaseDialog.DialogCallBack() {
+                @Override
+                public void leftBtn() {
+                }
+
+                @Override
+                public void rightBtn() {
+                    startLoading();
+                    presenter.updatePhonePush();
+                }
+            };
+            new BaseDialog().BaseDialog(this,"提示","你确定要提交推送管理吗?","取消","确定",dialogCallBack);
         });
 
-        srlRefresh.setOnRefreshListener(new OnRefreshListener() {
-            @Override
-            public void onRefresh(@NonNull RefreshLayout refreshLayout) {
-                page = 1;
-                presenter.getData();
-            }
+
+        srlRefresh.setOnRefreshListener(refreshLayout -> {
+            page = 1;
+            presenter.getData();
         });
-        srlRefresh.setOnLoadMoreListener(new OnLoadMoreListener() {
-            @Override
-            public void onLoadMore(@NonNull RefreshLayout refreshLayout) {
-                page++;
-                presenter.getData();
-            }
+        srlRefresh.setOnLoadMoreListener(refreshLayout -> {
+            page++;
+            presenter.getData();
         });
     }
 
@@ -119,46 +94,20 @@ public class FireMessageActivity extends BaseActivity implements FireMessageList
     }
 
     @Override
-    public ArrayList<String> getListId() {
-        return listId;
+    public List<SiteModel.DataBean.DataListBean> getListData() {
+        return myAdapter.getListData();
     }
 
     @Override
     public void onSuccess(List<SiteModel.DataBean.DataListBean> listData) {
-        if (page==1){
-            listmap.clear();
-            listId.clear();
-            list.clear();
-            listCheckmessage.clear();
-            listCheckphone.clear();
-        }
-        for (int i = 0;i<listData.size();i++){
-            HashMap<String,String>  hashMap = new HashMap<>();
-            String RegionName = listData.get(i).getRegionName();
-            String Location = listData.get(i).getLocation();
-            String id = listData.get(i).getId();
-            String deployment  = listData.get(i).getDeployment();
-            String isTel  = listData.get(i).getIsTel();
-            String isMsg  = listData.get(i).getIsMsg();
-
-            hashMap.put("RegionName",RegionName);
-            hashMap.put("Location",Location);
-            hashMap.put("id",id);
-            hashMap.put("deployment",deployment);
-            hashMap.put("isTel",isTel);
-            hashMap.put("isMsg",isMsg);
-
-            listId.add(id);
-            list.add(deployment);
-            listmap.add(hashMap);
-
-            listCheckphone.add("");
-            listCheckmessage.add("");
+        if (page==1) listDataBean.clear();
+        listDataBean.addAll(listData);
+        if (listDataBean.size() == 0){
+            tvNoMsg.setVisibility(View.VISIBLE);
+        }else {
+            tvNoMsg.setVisibility(View.GONE);
         }
-        myAdapter1.notifyDataSetChanged();
-        Data.setListmap(listmap);
-        Data.setList_cb_photo(listCheckphone);
-        Data.setList_cb_message(listCheckmessage);
+        myAdapter.notifyDataSetChanged();
         if (srlRefresh != null){
             srlRefresh.finishRefresh();
             srlRefresh.finishLoadMore();
@@ -166,6 +115,16 @@ public class FireMessageActivity extends BaseActivity implements FireMessageList
     }
 
     @Override
+    public void onSuccess() {
+        stopLoading();
+    }
+
+    @Override
+    public void onError() {
+        stopLoading();
+    }
+
+    @Override
     public void onFile(String msg) {
         Toast.makeText(this,""+msg,Toast.LENGTH_SHORT).show();
     }

+ 9 - 4
app/src/main/java/com/silence/commonframe/activity/mine/presenter/FireMessagePresenter.java

@@ -43,6 +43,7 @@ public class FireMessagePresenter extends FireMessageListener.Presenter{
                         }else {
                             LoginIn.tokenOut(data.getCode(),mContext);
                             mView.onFile(data.getMsg());
+                            mView.onError();
                         }
                     }
 
@@ -50,18 +51,19 @@ public class FireMessagePresenter extends FireMessageListener.Presenter{
                     public void onError(Call call, Response response, Exception e) {
                         super.onError(call, response, e);
                         mView.onFile("信息获取失败");
+                        mView.onError();
                     }
                 });
     }
 
     @Override
     public void updatePhonePush() {
-        for (int i = 0; i < mView.getListId().size(); i++) {
+        for (int i = 0; i < mView.getListData().size(); i++) {
             OkGo.get(ApiService.httpUrl1 +Data.getConfigUrl() + UrlConstants.UPDATE_PHONE_PUSH)
                     .tag(this)
-                    .params("siteId",mView.getListId().get(i))
-                    .params("isTel",Data.getList_cb_photo().get(i))
-                    .params("isMsg",Data.getList_cb_message().get(i))
+                    .params("siteId",mView.getListData().get(i).getId())
+                    .params("isTel",mView.getListData().get(i).getIsTel())
+                    .params("isMsg",mView.getListData().get(i).getIsMsg())
                     .cacheKey("cacheGetKey")
                     .cacheMode(CacheMode.DEFAULT)
                     .headers("token", Data.getToken())
@@ -72,6 +74,7 @@ public class FireMessagePresenter extends FireMessageListener.Presenter{
                             if (data.code != 0){
                                 LoginIn.tokenOut(data.getCode(),mContext);
                                 mView.onFile(data.getMsg());
+                                mView.onError();
                             }
                         }
 
@@ -79,10 +82,12 @@ public class FireMessagePresenter extends FireMessageListener.Presenter{
                         public void onError(Call call, Response response, Exception e) {
                             super.onError(call, response, e);
                             mView.onFile("信息获取失败");
+                            mView.onError();
                         }
                     });
 
         }
+        mView.onSuccess();
         mView.onFile("设置成功!");
     }
 }

+ 4 - 4
app/src/main/java/com/silence/commonframe/activity/presenter/NewAddDecicePresenter.java

@@ -43,10 +43,10 @@ public class NewAddDecicePresenter extends NewAddDeciceListener.Presenter {
                     @Override
                     public void onSuccess(String s, Call call, Response response) {
                         BaseBean<String> data=new Gson().fromJson(s,new TypeToken<BaseBean<String>>(){}.getType());
-                        if (data.code==0&&data.data!=null){
+                        if (data.code==0){
                             mView.onSuccess();
                         }else {
-                            LoginIn.tokenOut(data.code,data.msg,mContext);
+                            LoginIn.tokenOut(data.code,mContext);
                             mView.onFile(data.msg);
                         }
                     }
@@ -73,7 +73,7 @@ public class NewAddDecicePresenter extends NewAddDeciceListener.Presenter {
                         if (data.code==0){
                             mView.onChickSuccess();
                         }else {
-                            LoginIn.tokenOut(data.code,data.msg,mContext);
+                            LoginIn.tokenOut(data.code,mContext);
                             mView.onFile(data.msg);
                         }
                     }
@@ -99,7 +99,7 @@ public class NewAddDecicePresenter extends NewAddDeciceListener.Presenter {
                         if (data.getCode()==0&&data.data!=null){
                             mView.onSuccess(data.data);
                         }else {
-                            LoginIn.tokenOut(data.code,data.msg,mContext);
+                            LoginIn.tokenOut(data.code,mContext);
                             mView.onFile(data.msg);
                         }
                     }

+ 112 - 0
app/src/main/java/com/silence/commonframe/activity/presenter/NewContextManagementPresenter.java

@@ -0,0 +1,112 @@
+package com.silence.commonframe.activity.presenter;
+
+import android.app.Activity;
+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.ApiService;
+import com.silence.commonframe.activity.Interface.NewContextManagementListener;
+import com.silence.commonframe.bean.BaseBean;
+import com.silence.commonframe.bean.CameraDetailBean;
+import com.silence.commonframe.bean.ConnectDeviceBean;
+import com.silence.commonframe.common.constant.UrlConstants;
+import com.silence.commonframe.utils.Data;
+import com.silence.commonframe.utils.LoginIn;
+
+import okhttp3.Call;
+import okhttp3.Response;
+
+public class NewContextManagementPresenter extends NewContextManagementListener.Presenter {
+
+    public NewContextManagementPresenter(Activity mContext, NewContextManagementListener.View mView){
+        this.mContext = mContext;
+        this.mView = mView;
+    }
+
+    @Override
+    public void getConnect() {
+        OkGo.get(ApiService.httpUrl1 + Data.getConfigUrl()+ UrlConstants.GET_CONNECT_DEVICE)
+                .params("deviceId",mView.getDevId())
+                .tag(this)
+                .cacheKey("cachePostRegister11")
+                .cacheMode(CacheMode.DEFAULT)
+                .headers("token", Data.getToken())
+                .execute(new StringCallback() {
+                    @Override
+                    public void onSuccess(String s, Call call, Response response) {
+                        BaseBean<ConnectDeviceBean> data=new Gson().fromJson(s,new TypeToken<BaseBean<ConnectDeviceBean>>(){}.getType());
+                        if (data.code==0&&data.data!=null){
+                            mView.onSuccess(data.data);
+                        }else {
+                            LoginIn.tokenOut(data.code,data.msg,mContext);
+                            Toast.makeText(mContext,"没有数据"+data.msg,Toast.LENGTH_SHORT).show();
+                        }
+                    }
+                    @Override
+                    public void onError(Call call, Response response, Exception e) {
+                        super.onError(call, response, e);
+                        mView.onFile("信息获取失败");
+                    }
+                });
+    }
+
+    @Override
+    public void getCameraId(String deviceId) {
+        OkGo.get(ApiService.httpUrl1+Data.getConfigUrl()+UrlConstants.GET_UUID_CAMERA)
+                .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) {
+                        BaseBean<CameraDetailBean> data=new Gson().fromJson(s,new TypeToken<BaseBean<CameraDetailBean>>(){}.getType());
+                        if (data.code==0&&data.data!=null){
+                            mView.onCameraSuccess(data.data);
+                        }else {
+                            LoginIn.tokenOut(data.code,data.msg,mContext);
+                            mView.onFile(data.msg);
+                        }
+                    }
+                    @Override
+                    public void onError(Call call, Response response, Exception e) {
+                        super.onError(call, response, e);
+                        mView.onFile("信息获取失败");
+                    }
+                });
+    }
+
+    @Override
+    public void deleteDeviceConnect(String deviceId) {
+        OkGo.get(ApiService.httpUrl1+Data.getConfigUrl()+UrlConstants.DELETE_DEVICE_CONNECT)
+                .tag(this)
+                .params("id",deviceId)
+                .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){
+                            mView.onDelSuccess();
+                        }else {
+                            LoginIn.tokenOut(data.code,data.msg,mContext);
+                            mView.onFile(data.msg);
+                        }
+                    }
+
+                    @Override
+                    public void onError(Call call, Response response, Exception e) {
+                        super.onError(call, response, e);
+                        mView.onFile("信息获取失败");
+                    }
+                });
+    }
+
+}

+ 128 - 0
app/src/main/java/com/silence/commonframe/adapter/ContextManagementCameraDetailAdapter.java

@@ -0,0 +1,128 @@
+package com.silence.commonframe.adapter;
+
+import android.graphics.Color;
+import android.support.annotation.Nullable;
+import android.view.View;
+import android.widget.CheckBox;
+import android.widget.CompoundButton;
+import android.widget.TextView;
+
+import com.chad.library.adapter.base.BaseQuickAdapter;
+import com.chad.library.adapter.base.BaseViewHolder;
+import com.silence.commonframe.R;
+import com.silence.commonframe.bean.ConnectDeviceBean;
+
+import java.util.ArrayList;
+import java.util.List;
+
+public class ContextManagementCameraDetailAdapter extends BaseQuickAdapter<ConnectDeviceBean.CameradataBean.DataListBean, BaseViewHolder> {
+
+    private List<ConnectDeviceBean.CameradataBean.DataListBean> listData;
+    private Boolean isShow = false;     //默认看不到checkbox
+
+    private List<String> checkBoxIDList = new ArrayList<>();  //选择的关联的设备
+
+    public ContextManagementCameraDetailAdapter(@Nullable List<ConnectDeviceBean.CameradataBean.DataListBean> data) {
+        super(R.layout.item_device_context_manager,data);
+        this.listData = data;
+    }
+
+    @Override
+    protected void convert(BaseViewHolder helper, ConnectDeviceBean.CameradataBean.DataListBean data) {
+        CheckBox cbDel = helper.itemView.findViewById(R.id.device_context_checkbox);
+        TextView tvName = helper.itemView.findViewById(R.id.device_context_name);
+        TextView tvLocation = helper.itemView.findViewById(R.id.device_context_location);
+        TextView tvState = helper.itemView.findViewById(R.id.device_context_state);
+
+        tvName.setText(data.getDeviceName());
+        tvLocation.setText(data.getLocation());
+
+        //判断状态
+        checkStatus(data, tvState);
+
+        if (!isShow){
+            cbDel.setVisibility(View.GONE);
+            helper.itemView.setOnClickListener(new View.OnClickListener() {
+                @Override
+                public void onClick(View v) {
+                    if (mListener != null){
+                        mListener.OnItemClick(v,helper.getAdapterPosition());
+                    }
+                }
+            });
+        }else {
+            cbDel.setVisibility(View.VISIBLE);
+            helper.itemView.setOnClickListener(new View.OnClickListener() {
+                @Override
+                public void onClick(View v) {
+                    if (cbDel.isChecked()){
+                        cbDel.setChecked(false);
+                    }else {
+                        cbDel.setChecked(true);
+
+                    }
+                }
+            });
+            cbDel.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
+                @Override
+                public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
+                    if (isChecked){
+                        checkBoxIDList.add(listData.get(helper.getAdapterPosition()).getId());
+                    }else {
+                        checkBoxIDList.remove(listData.get(helper.getAdapterPosition()).getId());
+                    }
+                }
+            });
+        }
+
+    }
+
+    public void setIsShow(Boolean isShow){
+        this.isShow = isShow;
+        notifyDataSetChanged();
+    }
+
+    public Boolean getShow() {
+        return isShow;
+    }
+
+    private void checkStatus(ConnectDeviceBean.CameradataBean.DataListBean data, TextView tvState) {
+        String status = data.getStatus();
+        if ("1".equals(status)){
+            tvState.setText(R.string.state_online);
+            tvState.setTextColor(Color.rgb(78,105,255));
+        }else {
+            tvState.setText(R.string.state_outline);
+            tvState.setTextColor(Color.rgb(204,204,204));
+        }
+    }
+
+    public List<String> getCheckBoxIdList(){
+        return checkBoxIDList;
+    }
+
+    public void removeAdapterItem(){
+        if (checkBoxIDList.size() > 0){
+            for (int i = 0; i<listData.size(); i++){
+                String id = listData.get(i).getId();
+                for (int j = 0; j < checkBoxIDList.size(); j++){
+                    if (checkBoxIDList.get(j).equals(id)){
+                        listData.remove(i);
+                        notifyItemRemoved(i);
+                    }
+                }
+            }
+        }
+        checkBoxIDList.clear();
+    }
+
+    OnItemClickListener mListener;
+
+    public interface OnItemClickListener{
+        void OnItemClick(View v, int position);
+    }
+
+    public void setOnItemClickListener(OnItemClickListener mListener){
+        this.mListener = mListener;
+    }
+}

+ 133 - 0
app/src/main/java/com/silence/commonframe/adapter/ContextManagementFireDetailAdapter.java

@@ -0,0 +1,133 @@
+package com.silence.commonframe.adapter;
+
+import android.content.res.Resources;
+import android.graphics.Color;
+import android.support.annotation.Nullable;
+import android.view.View;
+import android.widget.CheckBox;
+import android.widget.CompoundButton;
+import android.widget.TextView;
+
+import com.chad.library.adapter.base.BaseQuickAdapter;
+import com.chad.library.adapter.base.BaseViewHolder;
+import com.silence.commonframe.R;
+import com.silence.commonframe.bean.ConnectDeviceBean;
+
+import java.util.ArrayList;
+import java.util.List;
+
+public class ContextManagementFireDetailAdapter extends BaseQuickAdapter<ConnectDeviceBean.FiredataBean.DataListBeanX, BaseViewHolder> {
+
+    private List<ConnectDeviceBean.FiredataBean.DataListBeanX> listData;
+    private Boolean isShow = false;     //默认看不到checkbox
+
+    private List<String> checkBoxIDList = new ArrayList<>();  //选择的关联的设备
+
+    public ContextManagementFireDetailAdapter(@Nullable List<ConnectDeviceBean.FiredataBean.DataListBeanX> data) {
+        super(R.layout.item_device_context_manager,data);
+        this.listData = data;
+    }
+
+    @Override
+    protected void convert(BaseViewHolder helper, ConnectDeviceBean.FiredataBean.DataListBeanX data) {
+        CheckBox cbDel = helper.itemView.findViewById(R.id.device_context_checkbox);
+        TextView tvName = helper.itemView.findViewById(R.id.device_context_name);
+        TextView tvLocation = helper.itemView.findViewById(R.id.device_context_location);
+        TextView tvState = helper.itemView.findViewById(R.id.device_context_state);
+
+        tvName.setText(data.getDeviceName());
+        tvLocation.setText(data.getLocation());
+
+        //判断状态
+        checkStatus(data, tvState);
+
+        if (!isShow){
+            cbDel.setVisibility(View.GONE);
+            helper.itemView.setOnClickListener(new View.OnClickListener() {
+                @Override
+                public void onClick(View v) {
+                    if (mListener != null){
+                        mListener.OnItemClick(v,helper.getAdapterPosition());
+                    }
+                }
+            });
+        }else {
+            cbDel.setVisibility(View.VISIBLE);
+            helper.itemView.setOnClickListener(new View.OnClickListener() {
+                @Override
+                public void onClick(View v) {
+                    if (cbDel.isChecked()){
+                        cbDel.setChecked(false);
+                    }else {
+                        cbDel.setChecked(true);
+
+                    }
+                }
+            });
+            cbDel.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
+                @Override
+                public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
+                    if (isChecked){
+                        checkBoxIDList.add(listData.get(helper.getAdapterPosition()).getId());
+                    }else {
+                        checkBoxIDList.remove(listData.get(helper.getAdapterPosition()).getId());
+                    }
+                }
+            });
+        }
+
+    }
+
+    public void setIsShow(Boolean isShow){
+        this.isShow = isShow;
+        notifyDataSetChanged();
+    }
+
+    public Boolean getShow() {
+        return isShow;
+    }
+
+    private void checkStatus(ConnectDeviceBean.FiredataBean.DataListBeanX data, TextView tvState) {
+        String status = data.getStatus();
+
+        if ("0".equals(status)){      //判断状态
+            tvState.setText(R.string.state_fault);
+            tvState.setTextColor(Color.rgb(255,144,0));
+        }else if ("1".equals(status)){
+            tvState.setText(R.string.state_fire);
+            tvState.setTextColor(Color.rgb(243,46,46));
+        }else {
+            tvState.setText(R.string.state_normal);
+            tvState.setTextColor(Color.rgb(78,105,255));
+        }
+    }
+
+    public List<String> getCheckBoxIdList(){
+        return checkBoxIDList;
+    }
+
+    public void removeAdapterItem(){
+        if (checkBoxIDList.size() > 0){
+            for (int i = 0; i<listData.size(); i++){
+                String id = listData.get(i).getId();
+                for (int j = 0; j < checkBoxIDList.size(); j++){
+                    if (checkBoxIDList.get(j).equals(id)){
+                        listData.remove(i);
+                        notifyItemRemoved(i);
+                    }
+                }
+            }
+        }
+        checkBoxIDList.clear();
+    }
+
+    OnItemClickListener mListener;
+
+    public interface OnItemClickListener{
+        void OnItemClick(View v,int position);
+    }
+
+    public void setOnItemClickListener(OnItemClickListener mListener){
+        this.mListener = mListener;
+    }
+}

+ 1 - 3
app/src/main/java/com/silence/commonframe/adapter/DeviceContextAdapterCamera.java

@@ -34,7 +34,7 @@ public class DeviceContextAdapterCamera extends RecyclerView.Adapter<DeviceConte
     private Context context;
     private LayoutInflater mInflater;
     private List<HashMap<String,String>> listmap1;
-    private Boolean isShow = false;     //默认看不到checkbox
+    private Boolean isShow;     //默认看不到checkbox
 
     private List<String> checkBoxIDList;  //烟感关联的设备
 
@@ -82,8 +82,6 @@ public class DeviceContextAdapterCamera extends RecyclerView.Adapter<DeviceConte
             }
         }
 
-
-
         if (!isShow){
             myViewHolder.device_context_checkbox.setVisibility(View.GONE);
             checkBoxIDList.clear();

+ 89 - 1
app/src/main/java/com/silence/commonframe/adapter/FireMessageAdapter.java

@@ -1,6 +1,11 @@
 package com.silence.commonframe.adapter;
 
 import android.support.annotation.Nullable;
+import android.view.View;
+import android.widget.CheckBox;
+import android.widget.CompoundButton;
+import android.widget.LinearLayout;
+import android.widget.TextView;
 
 import com.chad.library.adapter.base.BaseQuickAdapter;
 import com.chad.library.adapter.base.BaseViewHolder;
@@ -19,7 +24,90 @@ public class FireMessageAdapter extends BaseQuickAdapter<SiteModel.DataBean.Data
     }
 
     @Override
-    protected void convert(BaseViewHolder helper, SiteModel.DataBean.DataListBean item) {
+    protected void convert(BaseViewHolder helper, SiteModel.DataBean.DataListBean data) {
+        TextView tvDeployment = helper.itemView.findViewById(R.id.re_item);
+        LinearLayout llPhoto = helper.itemView.findViewById(R.id.cb_photo_L);
+        LinearLayout llMessage = helper.itemView.findViewById(R.id.cb_message_L);
+        CheckBox cbPhoto = helper.itemView.findViewById(R.id.cb_photo);
+        CheckBox cbMessage = helper.itemView.findViewById(R.id.cb_message);
+        TextView tvSubmit = helper.itemView.findViewById(R.id.submit);
 
+        tvDeployment.setText(data.getDeployment());
+
+        if ("1".equals(data.getIsTel())){
+            cbPhoto.setChecked(true);
+        }else {
+            cbPhoto.setChecked(false);
+        }
+
+        if ("1".equals(data.getIsMsg())){
+            cbMessage.setChecked(true);
+        }else {
+            cbMessage.setChecked(false);
+        }
+
+        tvSubmit.setOnClickListener(v -> {
+            if (mListener != null){
+                mListener.buttonClick(v,helper.getAdapterPosition());
+            }
+        });
+
+        llPhoto.setOnClickListener(new View.OnClickListener() {
+            @Override
+            public void onClick(View v) {
+                if (cbPhoto.isChecked()){
+                    cbPhoto.setChecked(false);
+                }else {
+                    cbPhoto.setChecked(true);
+                }
+            }
+        });
+
+        cbPhoto.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
+            @Override
+            public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
+                if (isChecked){
+                    listData.get(helper.getAdapterPosition()).setIsTel("1");
+                }else {
+                    listData.get(helper.getAdapterPosition()).setIsTel("0");
+                }
+            }
+        });
+
+        llMessage.setOnClickListener(new View.OnClickListener() {
+            @Override
+            public void onClick(View v) {
+                if (cbMessage.isChecked()){
+                    cbMessage.setChecked(false);
+                }else {
+                    cbMessage.setChecked(true);
+                }
+            }
+        });
+
+        cbMessage.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
+            @Override
+            public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
+                if (isChecked){
+                    listData.get(helper.getAdapterPosition()).setIsMsg("1");
+                }else {
+                    listData.get(helper.getAdapterPosition()).setIsMsg("0");
+                }
+            }
+        });
+    }
+
+    public List<SiteModel.DataBean.DataListBean> getListData() {
+        return listData;
+    }
+
+    public interface buttonClickListener{
+        void buttonClick(View view, int position);
+    }
+
+    buttonClickListener mListener;
+
+    public void setButtonClickListener(buttonClickListener mListener){
+        this.mListener = mListener;
     }
 }

+ 0 - 301
app/src/main/java/com/silence/commonframe/adapter/SitedetailAdapter1.java

@@ -1,301 +0,0 @@
-package com.silence.commonframe.adapter;
-
-import android.annotation.SuppressLint;
-import android.content.Context;
-import android.support.annotation.NonNull;
-import android.support.v7.widget.RecyclerView;
-import android.view.LayoutInflater;
-import android.view.View;
-import android.view.ViewGroup;
-import android.widget.CheckBox;
-import android.widget.CompoundButton;
-import android.widget.LinearLayout;
-import android.widget.TextView;
-
-import com.silence.commonframe.R;
-import com.silence.commonframe.utils.Data;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-
-/**
- * Created by 曹博 on 2016/9/27.
- */
-
-public class SitedetailAdapter1 extends RecyclerView.Adapter<SitedetailAdapter1.MyViewHolder> {
-
-    private List<String> mDatas1;
-
-
-    private LayoutInflater mInflater;
-
-    private List<Integer> mHeights;
-    private List<HashMap<String, String>> listmap;
-    private ButtonInterface buttonInterface;
-
-
-    private ArrayList<String> mDatas_msg = new ArrayList<>();
-    private ArrayList<String> mDatas_photo = new ArrayList<>();
-
-
-
-//    public SitedetailAdapter1(Context context, List<String> datas)
-//    {
-//        mInflater = LayoutInflater.from(context);
-//        mDatas1 = datas;
-//
-//
-//    }
-
-    public SitedetailAdapter1(Context context, List<HashMap<String, String>> datas)
-    {
-        mInflater = LayoutInflater.from(context);
-        listmap = datas;
-
-    }
-
-    @NonNull
-    @Override
-    public MyViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType)
-    {
-//        MyViewHolder holder = new MyViewHolder(mInflater.inflate(
-//                R.layout.recyclerview_item_devicedetail, parent, false));
-
-        MyViewHolder holder = new MyViewHolder(mInflater.inflate(
-                R.layout.recyclerview_itemtest1, parent, false));
-        return holder;
-    }
-
-
-
-    @Override
-    public void onBindViewHolder(@NonNull final MyViewHolder holder, @SuppressLint("RecyclerView") final int position)
-    {
-        String deployment = listmap.get(position).get("deployment");
-
-        holder.tv.setText(deployment);
-
-        String isTel = listmap.get(position).get("isTel");
-        String isMsg = listmap.get(position).get("isMsg");
-
-
-        if ("1".equals(isMsg)){
-            holder.cb_message.setChecked(true);
-            //      Data.setCb_message("1");
-//            mDatas_msg.add("1");
-//            Data.setList_cb_message(mDatas_msg);
-            if ("".equals(Data.getList_cb_message().get(position))){
-                Data.getList_cb_message().set(position,"1");
-            }
-        }else {
-            holder.cb_message.setChecked(false);
-            //     Data.setCb_message("0");
-//            mDatas_msg.add("0");
-//            Data.setList_cb_message(mDatas_msg);
-            if (Data.getList_cb_message().get(position).equals("")){
-                Data.getList_cb_message().set(position,"0");
-            }
-        }
-
-        if ("1".equals(isTel)){
-            holder.cb_photo.setChecked(true);
-            //   Data.setCb_photo("1");
-//            mDatas_photo.add("1");
-//            Data.setList_cb_photo(mDatas_photo);
-            if (Data.getList_cb_photo().get(position).equals("")){
-                Data.getList_cb_photo().set(position,"1");
-            }
-        }else {
-            holder.cb_photo.setChecked(false);
-            //     Data.setCb_photo("0");
-//            mDatas_photo.add("0");
-//            Data.setList_cb_photo(mDatas_photo);
-            if (Data.getList_cb_photo().get(position).equals("")){
-                Data.getList_cb_photo().set(position,"0");
-            }
-        }
-
-
-
-
-        // 如果设置了回调,则设置点击事件
-        if (mOnItemClickLitener != null) {
-            holder.itemView.setOnClickListener(new View.OnClickListener()
-            {
-                @Override
-                public void onClick(View v)
-                {
-                    int pos = holder.getLayoutPosition();
-                    mOnItemClickLitener.onItemClick(holder.itemView, pos);
-                }
-            });
-
-            holder.itemView.setOnLongClickListener(new View.OnLongClickListener()
-            {
-                @Override
-                public boolean onLongClick(View v)
-                {
-                    int pos = holder.getLayoutPosition();
-                    mOnItemClickLitener.onItemLongClick(holder.itemView, pos);
-                    //removeData(pos);
-                    return false;
-                }
-            });
-        }
-
-        holder.submit.setOnClickListener(new View.OnClickListener() {
-            @Override
-            public void onClick(View v) {
-                    if (buttonInterface != null){
-                        buttonInterface.onclick(v,position);
-                    }
-            }
-        });
-
-
-        holder.cb_photo_L.setOnClickListener(new View.OnClickListener() {
-            @Override
-            public void onClick(View v) {
-//                holder.cb_photo.setChecked(!holder.cb_photo.isChecked());
-                if (holder.cb_photo.isChecked()){
-                    holder.cb_photo.setChecked(false);
-                    Data.getList_cb_photo().set(position,"0");
-                }else {
-                    holder.cb_photo.setChecked(true);
-                    Data.getList_cb_photo().set(position,"1");
-                }
-
-            }
-        });
-
-
-        holder.cb_photo.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
-            @Override
-            public void onCheckedChanged(CompoundButton compoundButton, boolean b) {
-                if (b) {
-//                    Data.setCb_photo("1");
-                    Data.getList_cb_photo().set(position,"1");
-                } else {
-//                    Data.setCb_photo("0");
-                    Data.getList_cb_photo().set(position,"0");
-                }
-            }
-        });
-
-        holder.cb_message_L.setOnClickListener(new View.OnClickListener() {
-            @Override
-            public void onClick(View v) {
-//                holder.cb_message.setChecked(!holder.cb_message.isChecked());
-
-            if (holder.cb_message.isChecked()){
-                holder.cb_message.setChecked(false);
-
-                Data.getList_cb_message().set(position,"0");
-            }else {
-                holder.cb_message.setChecked(true);
-
-                Data.getList_cb_message().set(position,"1");
-            }
-
-
-
-            }
-
-
-
-        });
-
-        holder.cb_message.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
-            @Override
-            public void onCheckedChanged(CompoundButton compoundButton, boolean b) {
-
-                if (b) {
-//                    Data.setCb_message("1");
-                    Data.getList_cb_message().set(position,"1");
-                } else {
-//                    Data.setCb_message("0");
-                    Data.getList_cb_message().set(position,"0");
-                }
-            }
-        });
-
-
-
-
-    }
-
-
-    public  void buttonSetOnclick(ButtonInterface buttonInterface){
-        this.buttonInterface = buttonInterface;
-    }
-
-
-    public interface ButtonInterface{
-
-        public void onclick(View view, int position);
-
-    }
-
-
-
-
-//    //添加和删除方法
-//    public void addData(int position)
-//    {
-//        listmap.add(position, "Insert One");
-//        notifyItemInserted(position);
-//    }
-
-    public void removeData(int position)
-    {
-        listmap.remove(position);
-        notifyItemRemoved(position);
-    }
-
-    @Override
-    public int getItemCount()
-    {
-        return listmap.size();
-    }
-
-    class MyViewHolder extends RecyclerView.ViewHolder
-    {
-
-        TextView tv;
-        TextView submit;
-        LinearLayout cb_photo_L,cb_message_L;
-
-        CheckBox  cb_photo;
-        CheckBox  cb_message;
-        public MyViewHolder(View view)
-        {
-            super(view);
-            tv = (TextView) view.findViewById(R.id.re_item);
-            submit = (TextView) view.findViewById(R.id.submit);
-            cb_photo = (CheckBox) view.findViewById(R.id.cb_photo);
-            cb_message = (CheckBox) view.findViewById(R.id.cb_message);
-
-
-            cb_photo_L = (LinearLayout) view.findViewById(R.id.cb_photo_L);
-            cb_message_L = (LinearLayout) view.findViewById(R.id.cb_message_L);
-        }
-    }
-
-
-
-
-    //点击事件
-    public interface OnItemClickLitener
-    {
-        void onItemClick(View view, int position);
-        void onItemLongClick(View view, int position);
-    }
-
-    private OnItemClickLitener mOnItemClickLitener;
-
-    public void setOnItemClickLitener(OnItemClickLitener mOnItemClickLitener)
-    {
-        this.mOnItemClickLitener = mOnItemClickLitener;
-    }
-}

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

@@ -45,6 +45,8 @@ public interface UrlConstants {
     String ADD_SMOKE = "/addDevice";
     //检查设备是否存在
     String CHECK_DEVICE_ID = "/checkDeviceId";
+    //解除设备关联关系
+    String DELETE_DEVICE_CONNECT = "/deleteDeviceConnect";
 
     /*----------------------------------------------空气卫士接口---------------------------------------*/
     String BASE_LOCAl="http://192.168.1.111:8080/";

+ 26 - 5
app/src/main/java/com/silence/commonframe/utils1/AddDeviceUtils.java

@@ -1,14 +1,11 @@
 package com.silence.commonframe.utils1;
 
 import android.app.Activity;
-import android.content.Context;
 import android.content.Intent;
-import android.view.View;
-import android.view.ViewGroup;
 
 import com.silence.commonframe.R;
 import com.silence.commonframe.activity.home.activity.AdddeviceActivity;
-import com.silence.commonframe.activity.home.activity.NewAddSiteActivity;
+import com.silence.commonframe.utils.ManagePopupMenu;
 import com.silence.commonframe.utils.TitlePopupMenu;
 
 public class AddDeviceUtils {
@@ -19,7 +16,7 @@ public class AddDeviceUtils {
                 if (desc.equals("添加设备")) {
                     mActivity.startActivity(new Intent(mActivity, AdddeviceActivity.class));
                 } else if (desc.equals("添加场所")) {
-                    mActivity.startActivity(new Intent(mActivity, NewAddSiteActivity.class));
+                    mActivity.startActivity(new Intent(mActivity, AddSiteActivity.class));
                 }
             }
         });
@@ -28,4 +25,28 @@ public class AddDeviceUtils {
         titlePopup.addItem(mActivity.getResources().getDrawable(R.mipmap.homeadd1),
                 "添加场所");
     }
+
+    AddManageBack addManageBack;
+    public void AddManage(ManagePopupMenu manageMenu, Activity mActivity,AddManageBack addManageBack){
+        this.addManageBack = addManageBack;
+        manageMenu.setItemOnClickListener(new ManagePopupMenu.OnItemOnClickListener() {
+            @Override
+            public void onItemClick(String desc) {
+                if (desc.equals("添加")) {
+                    addManageBack.add();
+                } else if (desc.equals("删除")) {
+                    addManageBack.del();
+                }
+            }
+        });
+        manageMenu.addItem(mActivity.getResources().getDrawable(R.mipmap.homeadd1),
+                "添加");
+        manageMenu.addItem(mActivity.getResources().getDrawable(R.mipmap.del),
+                "删除");
+    }
+
+    public interface AddManageBack{
+        void add();
+        void del();
+    }
 }

+ 1 - 0
app/src/main/java/com/silence/tech/ui/moni/Interface/MoniListener.java

@@ -16,6 +16,7 @@ public interface MoniListener {
 
         void onTroubleListSuccess(TroubleListBean.DataBean dataBean);
         void onTroubleTypeSuccess(List<TroubleTypeBean.DataBean> data);
+        void onError();
         void onFile(String msg);
     }
 

+ 7 - 2
app/src/main/java/com/silence/tech/ui/moni/activity/MoniFragment.java

@@ -74,11 +74,12 @@ public class MoniFragment extends BaseFragment implements MoniListener.View{
 
     @Override
     protected void initView() {
-        startLoading();
+
         setTitle(getActivity(),getResources().getString(R.string.text_tab_moni),"",false);
         mTroubleListAdapter = new MoniTroubleAdapter(R.layout.item_recylerview,listData,onclick);
         rvTroubleList.setLayoutManager(new LinearLayoutManager(getContext()));
         rvTroubleList.setAdapter(mTroubleListAdapter);
+        startLoading();
         presenter.getTroubleType();
         presenter.getTroubleList();
 
@@ -215,9 +216,13 @@ public class MoniFragment extends BaseFragment implements MoniListener.View{
     }
 
     @Override
+    public void onError() {
+        stopLoading();
+    }
+
+    @Override
     public void onFile(String msg){
         Toast.makeText(getContext(),""+msg,Toast.LENGTH_SHORT).show();
-        stopLoading();
     }
 
 }

+ 4 - 0
app/src/main/java/com/silence/tech/ui/moni/presenter/MoniPresenter.java

@@ -41,6 +41,7 @@ public class MoniPresenter extends MoniListener.Presenter {
                         }else {
                             LoginIn.tokenOut(data.getCode(),mContext);
                             mView.onFile(data.getMsg());
+                            mView.onError();
                         }
                     }
 
@@ -48,6 +49,7 @@ public class MoniPresenter extends MoniListener.Presenter {
                     public void onError(Call call, Response response, Exception e) {
                         super.onError(call, response, e);
                         mView.onFile("信息获取失败");
+                        mView.onError();
                     }
                 });
     }
@@ -70,6 +72,7 @@ public class MoniPresenter extends MoniListener.Presenter {
                         }else {
                             LoginIn.tokenOut(data.getCode(),mContext);
                             mView.onFile(data.getMsg());
+                            mView.onError();
                         }
                     }
 
@@ -77,6 +80,7 @@ public class MoniPresenter extends MoniListener.Presenter {
                     public void onError(Call call, Response response, Exception e) {
                         super.onError(call, response, e);
                         mView.onFile("信息获取失败");
+                        mView.onError();
                     }
                 });
     }

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

@@ -33,7 +33,7 @@
                 android:layout_height="wrap_content"
                 android:gravity="center"
                 android:layout_marginTop="30dp"
-                android:text="暂无更多联系人~"
+                android:text="暂无联系人~"
                 android:textColor="@color/gray_333"
                 android:visibility="gone"
                 android:textSize="16dp"

+ 4 - 1
app/src/main/res/layout/activity_device_context_management.xml

@@ -10,7 +10,10 @@
         android:layout_height="match_parent"
         android:orientation="vertical">
 
-        <include layout="@layout/navi_head"/>
+        <com.silence.commonframe.base.basemvp.TitleBar
+            android:id="@+id/base_title_bar"
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"/>
 
         <RelativeLayout
             android:layout_width="match_parent"

+ 16 - 102
app/src/main/res/layout/activity_device_detail_new.xml

@@ -5,42 +5,10 @@
     android:orientation="vertical"
     xmlns:android="http://schemas.android.com/apk/res/android">
 
-        <LinearLayout
-            android:layout_width="match_parent"
-            android:layout_height="55dp"
-            android:background="#4e69ff"
-            android:gravity="bottom"
-            android:orientation="horizontal">
-                <ImageView
-                    android:id="@+id/iv_back"
-                    android:layout_width="30dp"
-                    android:layout_height="30dp"
-                    android:padding="5dp"
-                    android:layout_marginBottom="5dp"
-                    android:layout_marginLeft="10dp"
-                    android:src="@mipmap/whiteback" />
-
-                <TextView
-                    android:layout_width="match_parent"
-                    android:layout_height="wrap_content"
-                    android:layout_weight="1"
-                    android:gravity="center"
-                    android:text="设备详情"
-                    android:textColor="#fff"
-                    android:textSize="19sp" />
-
-                <TextView
-                    android:id="@+id/tv_context_device_add"
-                    android:layout_width="wrap_content"
-                    android:layout_height="wrap_content"
-                    android:layout_alignParentRight="true"
-                    android:padding="10dp"
-                    android:text="@string/devicecontext_management"
-                    android:textColor="@color/white"
-                    android:textSize="16sp"
-                    android:textStyle="bold" />
-
-            </LinearLayout>
+    <com.silence.commonframe.base.basemvp.TitleBar
+        android:id="@+id/base_title_bar"
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"/>
 
     <ScrollView
         android:layout_width="match_parent"
@@ -52,51 +20,27 @@
         <LinearLayout
             android:layout_width="match_parent"
             android:layout_height="wrap_content"
-            android:layout_marginLeft="5dp"
+            android:layout_marginLeft="10dp"
             android:layout_marginTop="4dp"
             android:orientation="vertical">
 
-            <LinearLayout
-                android:layout_width="match_parent"
+            <TextView
+                android:id="@+id/tv_device_name"
+                android:layout_width="wrap_content"
                 android:layout_height="wrap_content"
-                android:orientation="horizontal">
-
-                <TextView
-                    android:id="@+id/tv_device_name"
-                    android:layout_width="wrap_content"
-                    android:layout_height="wrap_content"
-                    android:layout_marginLeft="5dp"
-                    android:text="独立式烟感探测器"
-                    android:textColor="@color/myblack"
-                    android:textSize="19sp"
-                    android:textStyle="bold" />
-
-                <View
-                    android:layout_width="0dp"
-                    android:layout_height="match_parent"
-                    android:layout_weight="1"></View>
-
-                <TextView
-
-                    android:layout_width="wrap_content"
-                    android:layout_height="wrap_content"
-                    android:layout_marginRight="9dp"
-                    android:text="火警"
-                    android:textColor="#fa5656"
-                    android:visibility="gone" />
-
-
-            </LinearLayout>
+                android:text="独立式烟感探测器"
+                android:textColor="@color/myblack"
+                android:textSize="19sp"
+                android:textStyle="bold" />
 
             <LinearLayout
                 android:layout_width="match_parent"
                 android:layout_height="wrap_content"
                 android:layout_marginTop="3dp"
+                android:layout_marginRight="10dp"
                 android:orientation="horizontal">
 
-
                 <ImageView
-
                     android:layout_width="70dp"
                     android:layout_height="70dp"
                     android:layout_gravity="center"
@@ -138,7 +82,6 @@
                                 android:layout_weight="1"
                                 android:textColor="@color/myblack"></View>
 
-
                         </LinearLayout>
 
                         <LinearLayout
@@ -175,16 +118,13 @@
                                 android:textColor="@color/myblack"
                                 android:textSize="14sp" />
 
-
                             <View
                                 android:layout_width="0dp"
                                 android:layout_height="match_parent"
                                 android:layout_weight="1"></View>
 
-
                         </LinearLayout>
 
-
                         <LinearLayout
                             android:layout_width="match_parent"
                             android:layout_height="match_parent"
@@ -219,7 +159,6 @@
                                 android:textColor="@color/myblack"
                                 android:textSize="14sp" />
 
-
                         </LinearLayout>
 
                         <LinearLayout
@@ -232,13 +171,12 @@
                                 android:layout_width="wrap_content"
                                 android:layout_height="wrap_content"
                                 android:text="详细地址:杭州市余杭区海智海3栋"
+                                android:lineSpacingMultiplier="1.2"
                                 android:textColor="@color/myblack"
                                 android:textSize="14sp" />
 
-
                         </LinearLayout>
 
-
                     </LinearLayout>
 
                     <LinearLayout
@@ -252,23 +190,6 @@
                             android:layout_height="wrap_content"
                             android:layout_marginRight="5dp">
 
-                            <!--<TextView-->
-
-                            <!--android:layout_width="wrap_content"-->
-                            <!--android:layout_height="wrap_content"-->
-                            <!--android:textColor="@color/myblack"-->
-                            <!--android:textSize="14sp"-->
-                            <!--android:text="电池电压:" />-->
-
-                            <!--<TextView-->
-
-                            <!--android:layout_width="wrap_content"-->
-                            <!--android:layout_height="wrap_content"-->
-
-                            <!--android:textColor="@color/myblack"-->
-                            <!--android:textSize="14sp"-->
-                            <!--android:text="3.0V" />-->
-
                         </LinearLayout>
 
                         <LinearLayout
@@ -286,13 +207,10 @@
                         </LinearLayout>
                     </LinearLayout>
 
-
                 </RelativeLayout>
 
-
             </LinearLayout>
 
-
         </LinearLayout>
 
         <View
@@ -336,13 +254,11 @@
 
             <ImageView
                 android:id="@+id/iv_add_device"
-                android:layout_width="30dp"
-                android:layout_height="30dp"
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
                 android:padding="5dp"
-                android:layout_marginRight="10dp"
                 android:src="@mipmap/homeadd1" />
 
-
         </LinearLayout>
             <LinearLayout
                 android:layout_width="match_parent"
@@ -352,7 +268,6 @@
                 android:layout_marginRight="10dp"
                 android:orientation="vertical">
 
-
                 <RelativeLayout
                     android:layout_width="match_parent"
                     android:layout_height="wrap_content">
@@ -440,7 +355,6 @@
 
                 </android.support.v7.widget.RecyclerView>
 
-
             </LinearLayout>
         </LinearLayout>
         </ScrollView>

+ 24 - 5
app/src/main/res/layout/activity_fire_message.xml

@@ -17,13 +17,32 @@
         android:layout_width="match_parent"
         android:layout_height="match_parent">
 
-        <android.support.v7.widget.RecyclerView
-            android:id="@+id/my_recycler_view"
+        <LinearLayout
             android:layout_width="match_parent"
             android:layout_height="match_parent"
-            android:scrollbars="vertical"
-            tools:layout_editor_absoluteX="0dp"
-            tools:layout_editor_absoluteY="68dp" />
+            android:orientation="vertical">
+
+            <TextView
+                android:id="@+id/tv_no_message"
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:layout_marginTop="40dp"
+                android:gravity="center"
+                android:textColor="@color/myblack"
+                android:textSize="17sp"
+                android:text="@string/no_site"/>
+
+            <android.support.v7.widget.RecyclerView
+                android:id="@+id/my_recycler_view"
+                android:layout_width="match_parent"
+                android:layout_height="match_parent"
+                android:scrollbars="vertical"
+                tools:layout_editor_absoluteX="0dp"
+                tools:layout_editor_absoluteY="68dp" />
+
+        </LinearLayout>
+
+
 
     </com.scwang.smartrefresh.layout.SmartRefreshLayout>
 

+ 1 - 0
app/src/main/res/values/strings.xml

@@ -24,6 +24,7 @@
     <string name="no_message">暂时没有消息</string>
     <string name="no_trouble_message">暂无设备异常</string>
     <string name="firemessage_nothing">空空如也</string>
+    <string name="no_site">请先添加场所</string>
 
     <!-- 弹窗 -->
     <string name="tips">提示</string>