|
|
@@ -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();
|
|
|
+ }
|
|
|
+}
|