740085783@qq.com 6 years ago
parent
commit
93e203e1cb

+ 7 - 7
app/app.iml

@@ -116,6 +116,7 @@
     <orderEntry type="library" name="Gradle: com.android.support:localbroadcastmanager-28.0.0" level="project" />
     <orderEntry type="library" name="Gradle: com.android.support:support-vector-drawable-28.0.0" level="project" />
     <orderEntry type="library" name="Gradle: com.android.databinding:library-1.2.1" level="project" />
+    <orderEntry type="library" name="Gradle: __local_aars__:E.\MyProject\Android_zxyun\app\libs\dewarp.jar:unspecified@jar" level="project" />
     <orderEntry type="library" name="Gradle: com.android.databinding:adapters-1.2.1" level="project" />
     <orderEntry type="library" name="Gradle: com.huxq17.xrefreshview:xrefreshview-3.6.9" level="project" />
     <orderEntry type="library" name="Gradle: com.android.support:cardview-v7-28.0.0" level="project" />
@@ -147,6 +148,7 @@
     <orderEntry type="library" name="Gradle: android.arch.lifecycle:viewmodel-1.1.1" level="project" />
     <orderEntry type="library" name="Gradle: com.jakewharton:butterknife-annotations:8.8.1@jar" level="project" />
     <orderEntry type="library" name="Gradle: com.github.bumptech.glide:glide-4.8.0" level="project" />
+    <orderEntry type="library" name="Gradle: __local_aars__:E.\MyProject\Android_zxyun\app\libs\Core.jar:unspecified@jar" level="project" />
     <orderEntry type="library" name="Gradle: cn.bingoogolapple:bga-baseadapter-1.2.9" level="project" />
     <orderEntry type="library" name="Gradle: com.yanzhenjie:recyclerview-swipe-1.1.4" level="project" />
     <orderEntry type="library" name="Gradle: com.android.support:documentfile-28.0.0" level="project" />
@@ -154,6 +156,7 @@
     <orderEntry type="library" name="Gradle: com.android.support:design-28.0.0" level="project" />
     <orderEntry type="library" name="Gradle: com.android.support:cursoradapter-28.0.0" level="project" />
     <orderEntry type="library" name="Gradle: com.facebook.fresco:animated-gif-1.3.0" level="project" />
+    <orderEntry type="library" name="Gradle: __local_aars__:E.\MyProject\Android_zxyun\app\libs\LibFunSDK.jar:unspecified@jar" level="project" />
     <orderEntry type="library" name="Gradle: com.yanzhenjie:loading-1.0.2" level="project" />
     <orderEntry type="library" name="Gradle: top.zibin:Luban-1.1.8" level="project" />
     <orderEntry type="library" name="Gradle: android.arch.core:common:1.1.1@jar" level="project" />
@@ -163,13 +166,10 @@
     <orderEntry type="library" name="Gradle: com.android.support:transition-28.0.0" level="project" />
     <orderEntry type="library" name="Gradle: com.github.bumptech.glide:disklrucache:4.8.0@jar" level="project" />
     <orderEntry type="library" name="Gradle: android.arch.lifecycle:common:1.1.1@jar" level="project" />
-    <orderEntry type="library" name="Gradle: __local_aars__:D.\Android\Project\Android-zxyun0511\Android-zxyun\app\libs\fastjson-1.2.8.jar:unspecified@jar" level="project" />
     <orderEntry type="library" name="Gradle: com.android.support:support-compat-28.0.0" level="project" />
     <orderEntry type="library" name="Gradle: cn.jiguang.sdk:jpush-3.1.7" level="project" />
     <orderEntry type="library" name="Gradle: com.android.support:appcompat-v7-28.0.0" level="project" />
     <orderEntry type="library" name="Gradle: com.facebook.fresco:imagepipeline-1.3.0" level="project" />
-    <orderEntry type="library" name="Gradle: __local_aars__:D.\Android\Project\Android-zxyun0511\Android-zxyun\app\libs\dewarp.jar:unspecified@jar" level="project" />
-    <orderEntry type="library" name="Gradle: __local_aars__:D.\Android\Project\Android-zxyun0511\Android-zxyun\app\libs\stickygridheaders.jar:unspecified@jar" level="project" />
     <orderEntry type="library" name="Gradle: com.facebook.fresco:drawee-1.3.0" level="project" />
     <orderEntry type="library" name="Gradle: com.android.support:interpolator-28.0.0" level="project" />
     <orderEntry type="library" name="Gradle: com.android.support:support-core-utils-28.0.0" level="project" />
@@ -182,17 +182,15 @@
     <orderEntry type="library" name="Gradle: com.youth.banner:banner-1.4.9" level="project" />
     <orderEntry type="library" name="Gradle: com.android.support:multidex-1.0.3" level="project" />
     <orderEntry type="library" name="Gradle: com.android.support:swiperefreshlayout-28.0.0" level="project" />
-    <orderEntry type="library" name="Gradle: __local_aars__:D.\Android\Project\Android-zxyun0511\Android-zxyun\app\libs\Core.jar:unspecified@jar" level="project" />
     <orderEntry type="library" name="Gradle: android.arch.lifecycle:livedata-1.1.1" level="project" />
     <orderEntry type="library" name="Gradle: com.squareup.okio:okio:1.14.0@jar" level="project" />
-    <orderEntry type="library" name="Gradle: __local_aars__:D.\Android\Project\Android-zxyun0511\Android-zxyun\app\libs\LibFunSDK.jar:unspecified@jar" level="project" />
     <orderEntry type="library" name="Gradle: com.wx.ovalimageview:roundimageview-1.1.0" level="project" />
     <orderEntry type="library" name="Gradle: com.android.support:loader-28.0.0" level="project" />
     <orderEntry type="library" name="Gradle: com.github.donkingliang:ImageSelector-1.2.0" level="project" />
     <orderEntry type="library" name="Gradle: com.android.support:support-v4-28.0.0" level="project" />
     <orderEntry type="library" name="Gradle: com.github.CymChad:BaseRecyclerViewAdapterHelper-2.9.46" level="project" />
     <orderEntry type="library" name="Gradle: com.android.support:viewpager-28.0.0" level="project" />
-    <orderEntry type="library" name="Gradle: __local_aars__:D.\Android\Project\Android-zxyun0511\Android-zxyun\app\libs\commons-lang3-3.1.jar:unspecified@jar" level="project" />
+    <orderEntry type="library" name="Gradle: __local_aars__:E.\MyProject\Android_zxyun\app\libs\commons-lang3-3.1.jar:unspecified@jar" level="project" />
     <orderEntry type="library" name="Gradle: com.facebook.fresco:animated-base-1.3.0" level="project" />
     <orderEntry type="library" name="Gradle: com.android.support:customview-28.0.0" level="project" />
     <orderEntry type="library" name="Gradle: cn.jiguang.sdk:jcore-1.2.6" level="project" />
@@ -205,6 +203,7 @@
     <orderEntry type="library" name="Gradle: com.mylhyl:acp-1.2.0" level="project" />
     <orderEntry type="library" name="Gradle: com.nostra13.universalimageloader:universal-image-loader:1.9.5@jar" level="project" />
     <orderEntry type="library" name="Gradle: com.android.support:asynclayoutinflater-28.0.0" level="project" />
+    <orderEntry type="library" name="Gradle: __local_aars__:E.\MyProject\Android_zxyun\app\libs\stickygridheaders.jar:unspecified@jar" level="project" />
     <orderEntry type="library" name="Gradle: io.reactivex.rxjava2:rxandroid-2.0.1" level="project" />
     <orderEntry type="library" name="Gradle: ywl.ywl5320:wlmedia-1.0.0-beta17" level="project" />
     <orderEntry type="library" name="Gradle: com.android.support:support-media-compat-28.0.0" level="project" />
@@ -212,12 +211,13 @@
     <orderEntry type="library" name="Gradle: com.android.support:print-28.0.0" level="project" />
     <orderEntry type="library" name="Gradle: com.scwang.smartrefresh:SmartRefreshHeader-1.1.0-alpha-14" level="project" />
     <orderEntry type="library" name="Gradle: com.squareup.picasso:picasso:2.5.2@jar" level="project" />
+    <orderEntry type="library" name="Gradle: __local_aars__:E.\MyProject\Android_zxyun\app\libs\fastjson-1.2.8.jar:unspecified@jar" level="project" />
     <orderEntry type="library" name="Gradle: com.android.support:support-fragment-28.0.0" level="project" />
     <orderEntry type="library" name="Gradle: android.arch.lifecycle:livedata-core-1.1.1" level="project" />
     <orderEntry type="library" name="Gradle: com.android.support:animated-vector-drawable-28.0.0" level="project" />
     <orderEntry type="library" name="Gradle: com.github.chrisbanes:PhotoView-2.0.0" level="project" />
-    <orderEntry type="module" module-name="photolibrary" />
     <orderEntry type="module" module-name="library" />
+    <orderEntry type="module" module-name="photolibrary" />
     <orderEntry type="library" name="Gradle: org.apache.http.legacy-android-28" level="project" />
   </component>
 </module>

+ 0 - 1
app/src/main/java/com/silence/commonframe/App.java

@@ -126,7 +126,6 @@ public class App extends Application {
                     //如果不想让框架管理cookie(或者叫session的保持),以下不需要
 //              .setCookieStore(new MemoryCookieStore())            //cookie使用内存缓存(app退出后,cookie消失)
                     .setCookieStore(new PersistentCookieStore())        //cookie持久化存储,如果cookie不过期,则一直有效
-
                     //可以设置https的证书,以下几种方案根据需要自己设置
                     .setCertificates()                                  //方法一:信任所有证书,不安全有风险
        //       .setCertificates(new SafeTrustManager())            //方法二:自定义信任规则,校验服务端证书

+ 87 - 40
app/src/main/java/com/silence/commonframe/activity/AirGuardActivity.java

@@ -17,18 +17,25 @@ import android.widget.TextView;
 import android.widget.Toast;
 
 import com.silence.commonframe.R;
+import com.silence.commonframe.activity.Interface.AirGuardListener;
+import com.silence.commonframe.activity.presenter.AirGuardPresenter;
+import com.silence.commonframe.base.basemvp.BaseActivity;
+import com.silence.commonframe.bean.AirGuardBean;
+import com.silence.commonframe.bean.AirGuardDetailBean;
 import com.silence.commonframe.utils.AtyContainer;
+import com.silence.commonframe.utils.LoginIn;
 import com.silence.commonframe.utils.TitlePopupMenu;
 
 import butterknife.BindView;
 import butterknife.ButterKnife;
+import butterknife.OnClick;
 
 /**
  * 空气卫士界面
  * @author 郑嘉明
  * id: airguard_pic_top(顶部图片)、airguard_timeclock(实时时钟)、airguard_worktime(工作时间段)、airguard_buzzer(蜂鸣器)、buzzer_switch(蜂鸣器开关)、airguard_power(电源开关)、img_power(电源开关标志)
  */
-public class AirGuardActivity extends AppCompatActivity implements View.OnClickListener {
+public class AirGuardActivity extends BaseActivity implements AirGuardListener.View {
 
     /**
      * 导航栏信息
@@ -53,31 +60,38 @@ public class AirGuardActivity extends AppCompatActivity implements View.OnClickL
     ImageView img_power;                //电源开关标志
 
     private TitlePopupMenu titlePopupMenu;
+    String airDevId="";
+    AirGuardPresenter presenter;
+    String isOpen="0";//是否打开
+    String isInit="";
 
     @Override
-    protected void onCreate(Bundle savedInstanceState) {
-        super.onCreate(savedInstanceState);
-        setContentView(R.layout.activity_air_guard);
-        ButterKnife.bind(this);
-        AtyContainer.getInstance().addActivity(this);
+    public int getLayoutId() {
+        return R.layout.activity_air_guard;
+    }
+
+    @Override
+    public void initPresenter() {
+        presenter=new AirGuardPresenter(this,this);
+    }
+
+    @Override
+    public void initView() {
         navi_head_text.setText(R.string.device_airguard);       //设置标题
         navi_head_text_right.setText(R.string.more);            //设置右侧文字
+        airDevId=getIntent().getStringExtra("airDevId");
+
         //设置全屏
         initWindows();
-
         //设置
         init();
+        presenter.getData();
     }
 
     /**
      * 基本的设置
      */
     private void init() {
-        airguard_timeclock.setOnClickListener(this);
-        airguard_worktime.setOnClickListener(this);
-        airguard_buzzer.setOnClickListener(this);
-        airguard_power.setOnClickListener(this);
-
         //蜂鸣器开关监听
         buzzerCheckedChangeListener();
 
@@ -118,11 +132,8 @@ public class AirGuardActivity extends AppCompatActivity implements View.OnClickL
         buzzer_switch.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
             @Override
             public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
-                if (isChecked){
-                    Toast.makeText(AirGuardActivity.this,"蜂鸣器开",Toast.LENGTH_SHORT).show();
-                }else {
-                    Toast.makeText(AirGuardActivity.this,"蜂鸣器关",Toast.LENGTH_SHORT).show();
-                }
+                if(!"true".equals(isInit))
+                    presenter.setBuzzer();
             }
         });
     }
@@ -130,40 +141,25 @@ public class AirGuardActivity extends AppCompatActivity implements View.OnClickL
     /**
      * 点击事件
      */
-    @Override
+    @OnClick({R.id.airguard_timeclock,R.id.airguard_worktime,R.id.airguard_buzzer,R.id.airguard_power})
     public void onClick(View v) {
         switch (v.getId()){
-            case R.id.airguard_timeclock:{
-                Intent intent = new Intent(AirGuardActivity.this, AirGuardTimeClockActivity.class);
-                startActivity(intent);
-            }
+            case R.id.airguard_timeclock:
+                startActivity(new Intent(AirGuardActivity.this, AirGuardTimeClockActivity.class));
                 break;
-            case R.id.airguard_worktime:{
-                Intent intent = new Intent(AirGuardActivity.this, AirGuardWordTimeActivity.class);
-                startActivity(intent);
-            }
+            case R.id.airguard_worktime:
+                startActivity(new Intent().putExtra("airDevId",airDevId).setClass(AirGuardActivity.this, AirGuardWordTimeActivity.class));
             break;
-            case R.id.airguard_buzzer:{
+            case R.id.airguard_buzzer:
                 buzzerSwitch();
-            }
             break;
-            case R.id.airguard_power:{
-                powerSwitch();
-            }
+            case R.id.airguard_power:
+               presenter.setIsOpen(isOpen);
             break;
         }
     }
 
     /**
-     * 电源的开关事件
-     */
-    private void powerSwitch() {
-        //要判断是否开了
-        Toast.makeText(AirGuardActivity.this,"电源开关",Toast.LENGTH_SHORT).show();
-        img_power.setImageResource(R.mipmap.power_on);
-    }
-
-    /**
      * 蜂鸣器开关事件
      */
     private void buzzerSwitch() {
@@ -197,4 +193,55 @@ public class AirGuardActivity extends AppCompatActivity implements View.OnClickL
         finish();
     }
 
+    @Override
+    public String getDevId() {
+        return airDevId;
+    }
+
+    //空气卫士详情
+    @Override
+    public void onSuccess(AirGuardDetailBean data) {
+        if ("0".equals(data.getBuzzerState())){
+            buzzer_switch.setChecked(false);
+        }else {
+            buzzer_switch.setChecked(true);
+        }
+        isInit="true";//蜂鸣器初始化判断,以免触发Switch改变箭头
+
+
+        if ("0".equals(data.getIfOpen())){
+            img_power.setImageResource(R.mipmap.power_off);
+        }else {
+            img_power.setImageResource(R.mipmap.power_on);
+        }
+        isOpen=data.getIfOpen();
+    }
+
+    //蜂鸣器开关
+    @Override
+    public void onSuccess() {
+        if (buzzer_switch.isChecked()){
+            Toast.makeText(AirGuardActivity.this,"蜂鸣器开",Toast.LENGTH_SHORT).show();
+        }else {
+            Toast.makeText(AirGuardActivity.this,"蜂鸣器关",Toast.LENGTH_SHORT).show();
+        }
+    }
+
+    //电源开关
+    @Override
+    public void onSuccess(String isOpen) {
+        this.isOpen=isOpen;
+        if ("0".equals(isOpen)){
+            img_power.setImageResource(R.mipmap.power_off);
+            Toast.makeText(AirGuardActivity.this,"电源关",Toast.LENGTH_SHORT).show();
+        }else {
+            img_power.setImageResource(R.mipmap.power_on);
+            Toast.makeText(AirGuardActivity.this,"电源开",Toast.LENGTH_SHORT).show();
+        }
+    }
+
+    @Override
+    public void onFile(String msg) {
+        Toast.makeText(this,""+msg,Toast.LENGTH_SHORT).show();
+    }
 }

+ 47 - 31
app/src/main/java/com/silence/commonframe/activity/AirGuardWordTimeActivity.java

@@ -8,6 +8,7 @@ import android.support.annotation.Nullable;
 import android.support.v7.app.AppCompatActivity;
 import android.support.v7.widget.LinearLayoutManager;
 import android.support.v7.widget.RecyclerView;
+import android.support.v7.widget.StaggeredGridLayoutManager;
 import android.view.View;
 import android.view.Window;
 import android.view.WindowManager;
@@ -15,7 +16,12 @@ import android.widget.TextView;
 import android.widget.Toast;
 
 import com.silence.commonframe.R;
+import com.silence.commonframe.activity.Interface.AirGuardWordTimeListener;
+import com.silence.commonframe.activity.presenter.AirGuardWordTimePresenter;
 import com.silence.commonframe.adapter.AirGuardWorKTimeAdapter;
+import com.silence.commonframe.adapter.AirGuardWordTimeAdapter;
+import com.silence.commonframe.base.basemvp.BaseActivity;
+import com.silence.commonframe.bean.AirGuardWordTimeBean;
 import com.silence.commonframe.utils.AtyContainer;
 import com.silence.commonframe.utils.LinearItemDecoration;
 
@@ -30,7 +36,7 @@ import butterknife.ButterKnife;
  * 空气卫士-工作时间段
  * @author 郑嘉明
  */
-public class AirGuardWordTimeActivity extends AppCompatActivity {
+public class AirGuardWordTimeActivity extends BaseActivity implements AirGuardWordTimeListener.View {
 
     /**
      * 导航栏信息
@@ -41,44 +47,43 @@ public class AirGuardWordTimeActivity extends AppCompatActivity {
     @BindView(R.id.navi_head_text_right)
     TextView navi_head_text_right;      //右侧文字
 
-    @BindView(R.id.worktime_recyclerview)
-    RecyclerView worktime_recyclerview;     //时间列表
+    @BindView(R.id.rv_work_time)
+    RecyclerView rvWorkTime;     //时间列表
 
     AirGuardWorKTimeAdapter airGuardWorKTimeAdapter;    //工作时间适配器
 
     List<HashMap<String,String>> listTime = new ArrayList<>();
 
+    private AirGuardWordTimeAdapter timeAdapter;
+    List<AirGuardWordTimeBean> airGuardWordTimeDatas=new ArrayList<>();
+    AirGuardWordTimePresenter presenter;
+    String airDevId="";
+
+    @Override
+    public int getLayoutId() {
+        return R.layout.activity_air_guard_word_time;
+    }
+
+    @Override
+    public void initPresenter() {
+        presenter=new AirGuardWordTimePresenter(this,this);
+    }
+
     @Override
-    protected void onCreate(Bundle savedInstanceState) {
-        super.onCreate(savedInstanceState);
-        setContentView(R.layout.activity_air_guard_word_time);
-        ButterKnife.bind(this);
-        AtyContainer.getInstance().addActivity(this);
+    public void initView() {
+        airDevId=getIntent().getStringExtra("airDevId");
         navi_head_text.setText(R.string.airguard_worktime);       //设置标题
         navi_head_text_right.setText(R.string.add);            //设置右侧文字
         //设置全屏
         initWindows();
-
-        /**
-         * 这里获取接口数据给listTime
-         */
-//        //测试数据
-//        HashMap<String, String> hashMap = new HashMap<>();
-//        hashMap.put("time","00:18-18:30");
-//        hashMap.put("switch","0");
-//        listTime.add(hashMap);
-//        HashMap<String, String> hashMap2 = new HashMap<>();
-//        hashMap2.put("time","12:22-22:21");
-//        hashMap2.put("switch_state","1");
-//        listTime.add(hashMap2);
-//        //测试数据
-
         //设置工作时间数据
         setTimeDate();
-
         //导航栏添加按钮点击事件
         addNewTimeListener();
-
+        rvWorkTime.setLayoutManager(new StaggeredGridLayoutManager( 4, StaggeredGridLayoutManager.VERTICAL));
+        timeAdapter=new AirGuardWordTimeAdapter(R.layout.item_airguard_worktime,airGuardWordTimeDatas);
+        rvWorkTime.setAdapter(timeAdapter);
+        presenter.getData();
     }
 
     /**
@@ -135,11 +140,10 @@ public class AirGuardWordTimeActivity extends AppCompatActivity {
      * 设置工作时间数据
      */
     private void setTimeDate() {
-
         airGuardWorKTimeAdapter = new AirGuardWorKTimeAdapter(AirGuardWordTimeActivity.this,listTime);
-        worktime_recyclerview.setLayoutManager(new LinearLayoutManager(AirGuardWordTimeActivity.this));
-        worktime_recyclerview.addItemDecoration(new LinearItemDecoration(AirGuardWordTimeActivity.this,LinearLayoutManager.HORIZONTAL,R.drawable.decoration_item));     //设置分割线
-        worktime_recyclerview.setAdapter(airGuardWorKTimeAdapter);
+        rvWorkTime.setLayoutManager(new LinearLayoutManager(AirGuardWordTimeActivity.this));
+        rvWorkTime.addItemDecoration(new LinearItemDecoration(AirGuardWordTimeActivity.this,LinearLayoutManager.HORIZONTAL,R.drawable.decoration_item));     //设置分割线
+        rvWorkTime.setAdapter(airGuardWorKTimeAdapter);
 
         airGuardWorKTimeAdapter.setOnItenClickListener(new AirGuardWorKTimeAdapter.OnItemClickLitener() {
             @Override
@@ -171,10 +175,8 @@ public class AirGuardWordTimeActivity extends AppCompatActivity {
                 //蜂鸣器的开关
                 if (isCheck){
                     Toast.makeText(AirGuardWordTimeActivity.this,"打开",Toast.LENGTH_SHORT).show();
-
                 }else {
                     Toast.makeText(AirGuardWordTimeActivity.this,"关闭",Toast.LENGTH_SHORT).show();
-
                 }
             }
 
@@ -206,4 +208,18 @@ public class AirGuardWordTimeActivity extends AppCompatActivity {
         finish();
     }
 
+    @Override
+    public String getDevId() {
+        return airDevId;
+    }
+
+    @Override
+    public void onSuccess(AirGuardWordTimeBean bean) {
+
+    }
+
+    @Override
+    public void onFile(String msg) {
+        Toast.makeText(this,""+msg,Toast.LENGTH_SHORT).show();
+    }
 }

+ 30 - 0
app/src/main/java/com/silence/commonframe/activity/Interface/AirGuardListener.java

@@ -0,0 +1,30 @@
+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.AirGuardBean;
+import com.silence.commonframe.bean.AirGuardDetailBean;
+
+import java.util.List;
+
+/**
+ * Created by CC on 2018-10-25
+ */
+
+public interface AirGuardListener {
+    interface View{
+        String getDevId();
+
+        void onSuccess(AirGuardDetailBean data);
+        void onSuccess();
+        void onSuccess(String isOpen);
+        void onFile(String msg);
+    }
+    abstract class Presenter extends BasePresenter<View,BaseModel> {
+        public abstract void getData();
+        public abstract void setBuzzer();
+        public abstract void setIsOpen(String isOpen);
+    }
+
+}

+ 23 - 0
app/src/main/java/com/silence/commonframe/activity/Interface/AirGuardWordTimeListener.java

@@ -0,0 +1,23 @@
+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.AirGuardDetailBean;
+import com.silence.commonframe.bean.AirGuardWordTimeBean;
+
+/**
+ * Created by CC on 2018-10-25
+ */
+
+public interface AirGuardWordTimeListener {
+    interface View{
+        String getDevId();
+        void onSuccess(AirGuardWordTimeBean bean);
+        void onFile(String msg);
+    }
+    abstract class Presenter extends BasePresenter<View,BaseModel> {
+        public abstract void getData();
+    }
+
+}

+ 136 - 0
app/src/main/java/com/silence/commonframe/activity/presenter/AirGuardPresenter.java

@@ -0,0 +1,136 @@
+package com.silence.commonframe.activity.presenter;
+
+import android.app.Activity;
+import android.os.Environment;
+import android.text.TextUtils;
+import android.widget.Toast;
+
+import com.google.gson.Gson;
+import com.google.gson.JsonArray;
+import com.google.gson.JsonObject;
+import com.google.gson.JsonParser;
+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.AirGuardListener;
+import com.silence.commonframe.activity.Interface.NewSubmitListener;
+import com.silence.commonframe.bean.AirGuardBean;
+import com.silence.commonframe.bean.AirGuardDetailBean;
+import com.silence.commonframe.bean.BaseBean;
+import com.silence.commonframe.common.constant.BaseConstants;
+import com.silence.commonframe.common.constant.UrlConstants;
+import com.silence.commonframe.model.UploadModel;
+import com.silence.commonframe.utils.Data;
+import com.silence.commonframe.utils.LoginIn;
+
+import org.json.JSONException;
+import org.json.JSONObject;
+
+import java.io.File;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+
+import okhttp3.Call;
+import okhttp3.Response;
+import retrofit2.http.Url;
+import top.zibin.luban.Luban;
+import top.zibin.luban.OnCompressListener;
+
+
+public class AirGuardPresenter extends AirGuardListener.Presenter {
+
+    public AirGuardPresenter(Activity mContext, AirGuardListener.View mView){
+        this.mContext=mContext;
+        this.mView=mView;
+    }
+    @Override
+    public void getData() {
+        OkGo.get(UrlConstants.AIR_GUARD_DETAIL)
+                .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<AirGuardDetailBean> data=new Gson().fromJson(s,new TypeToken<BaseBean<AirGuardDetailBean>>(){}.getType());
+                        if (data.code==0){
+                            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 setBuzzer() {
+        OkGo.get(UrlConstants.SET_BUZZER)
+                .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 data=new Gson().fromJson(s,new TypeToken<BaseBean>(){}.getType());
+                        if (data.code==0){
+                            mView.onSuccess();
+                        }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 setIsOpen(String isOpen) {
+        String isOpenNew;
+        if ("0".equals(isOpen)){
+            isOpenNew="1";
+        }else {
+            isOpenNew="0";
+        }
+        OkGo.get(UrlConstants.AIR_DUARD_ISOPEN)
+                .params("deviceId",mView.getDevId())
+                .params("type",isOpenNew)
+                .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 data=new Gson().fromJson(s,new TypeToken<BaseBean>(){}.getType());
+                        if (data.code==0){
+                            mView.onSuccess(isOpenNew);
+                        }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("信息获取失败");
+                    }
+                });
+    }
+}

+ 57 - 0
app/src/main/java/com/silence/commonframe/activity/presenter/AirGuardWordTimePresenter.java

@@ -0,0 +1,57 @@
+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.activity.Interface.AirGuardListener;
+import com.silence.commonframe.activity.Interface.AirGuardWordTimeListener;
+import com.silence.commonframe.bean.AirGuardDetailBean;
+import com.silence.commonframe.bean.AirGuardWordTimeBean;
+import com.silence.commonframe.bean.BaseBean;
+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 AirGuardWordTimePresenter extends AirGuardWordTimeListener.Presenter {
+
+    public AirGuardWordTimePresenter(Activity mContext, AirGuardWordTimeListener.View mView){
+        this.mContext=mContext;
+        this.mView=mView;
+    }
+    @Override
+    public void getData() {
+        OkGo.get(UrlConstants.AIR_RUN_TIME)
+                .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<AirGuardWordTimeBean> data=new Gson().fromJson(s,new TypeToken<BaseBean<AirGuardWordTimeBean>>(){}.getType());
+                        if (data.code==0){
+                            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("信息获取失败");
+                    }
+                });
+    }
+
+}

+ 20 - 0
app/src/main/java/com/silence/commonframe/adapter/AirGuardWordTimeAdapter.java

@@ -0,0 +1,20 @@
+package com.silence.commonframe.adapter;
+
+import android.support.annotation.Nullable;
+
+import com.chad.library.adapter.base.BaseQuickAdapter;
+import com.chad.library.adapter.base.BaseViewHolder;
+import com.silence.commonframe.bean.AirGuardWordTimeBean;
+
+import java.util.List;
+
+public class AirGuardWordTimeAdapter extends BaseQuickAdapter<AirGuardWordTimeBean,BaseViewHolder> {
+    public AirGuardWordTimeAdapter(int layoutResId, @Nullable List<AirGuardWordTimeBean> data) {
+        super(layoutResId, data);
+    }
+
+    @Override
+    protected void convert(BaseViewHolder helper, AirGuardWordTimeBean item) {
+
+    }
+}

+ 21 - 1
app/src/main/java/com/silence/commonframe/bean/AirGuardBean.java

@@ -7,7 +7,7 @@ public class AirGuardBean {
     /**
      * code : 0
      * msg : success
-     * data : [{"id":"10797825afd744a8b5d6d78bd32bd5c7","deviceId":"H030000000000001","deviceName":"测试空气卫士0001","buzzerState":"1","isValid":"1","userIdCreate":null,"gmtCreate":"2019-06-17 14:42:20","userIdUpdate":null,"gmtUpdate":null}]
+     * data : [{"id":"10797825afd744a8b5d6d78bd32bd5c7","deviceId":"H030000000000001","airDevId":"1234567890ABCDEF","deviceName":"测试空气卫士0001","buzzerState":"1","isValid":"1","userIdCreate":null,"gmtCreate":"2019-06-17 14:42:20","userIdUpdate":null,"gmtUpdate":null,"ifOpen":"0"}]
      */
 
     private int code;
@@ -42,6 +42,7 @@ public class AirGuardBean {
         /**
          * id : 10797825afd744a8b5d6d78bd32bd5c7
          * deviceId : H030000000000001
+         * airDevId : 1234567890ABCDEF
          * deviceName : 测试空气卫士0001
          * buzzerState : 1
          * isValid : 1
@@ -49,10 +50,12 @@ public class AirGuardBean {
          * gmtCreate : 2019-06-17 14:42:20
          * userIdUpdate : null
          * gmtUpdate : null
+         * ifOpen : 0
          */
 
         private String id;
         private String deviceId;
+        private String airDevId;
         private String deviceName;
         private String buzzerState;
         private String isValid;
@@ -60,6 +63,7 @@ public class AirGuardBean {
         private String gmtCreate;
         private Object userIdUpdate;
         private Object gmtUpdate;
+        private String ifOpen;
 
         public String getId() {
             return id;
@@ -77,6 +81,14 @@ public class AirGuardBean {
             this.deviceId = deviceId;
         }
 
+        public String getAirDevId() {
+            return airDevId;
+        }
+
+        public void setAirDevId(String airDevId) {
+            this.airDevId = airDevId;
+        }
+
         public String getDeviceName() {
             return deviceName;
         }
@@ -132,5 +144,13 @@ public class AirGuardBean {
         public void setGmtUpdate(Object gmtUpdate) {
             this.gmtUpdate = gmtUpdate;
         }
+
+        public String getIfOpen() {
+            return ifOpen;
+        }
+
+        public void setIfOpen(String ifOpen) {
+            this.ifOpen = ifOpen;
+        }
     }
 }

+ 118 - 0
app/src/main/java/com/silence/commonframe/bean/AirGuardDetailBean.java

@@ -0,0 +1,118 @@
+package com.silence.commonframe.bean;
+
+public class AirGuardDetailBean {
+
+    /**
+     * id : 10797825afd744a8b5d6d78bd32bd5c7
+     * deviceId : H030000000000001
+     * airDevId : 1234567890ABCDEF
+     * deviceName : 测试空气卫士0001
+     * buzzerState : 0
+     * isValid : 1
+     * userIdCreate : null
+     * gmtCreate : 2019-06-17 14:42:20
+     * userIdUpdate : null
+     * gmtUpdate : null
+     * ifOpen : 0
+     */
+
+    private String id;
+    private String deviceId;
+    private String airDevId;
+    private String deviceName;
+    private String buzzerState;
+    private String isValid;
+    private Object userIdCreate;
+    private String gmtCreate;
+    private Object userIdUpdate;
+    private Object gmtUpdate;
+    private String ifOpen;
+
+    public String getId() {
+        return id;
+    }
+
+    public void setId(String id) {
+        this.id = id;
+    }
+
+    public String getDeviceId() {
+        return deviceId;
+    }
+
+    public void setDeviceId(String deviceId) {
+        this.deviceId = deviceId;
+    }
+
+    public String getAirDevId() {
+        return airDevId;
+    }
+
+    public void setAirDevId(String airDevId) {
+        this.airDevId = airDevId;
+    }
+
+    public String getDeviceName() {
+        return deviceName;
+    }
+
+    public void setDeviceName(String deviceName) {
+        this.deviceName = deviceName;
+    }
+
+    public String getBuzzerState() {
+        return buzzerState;
+    }
+
+    public void setBuzzerState(String buzzerState) {
+        this.buzzerState = buzzerState;
+    }
+
+    public String getIsValid() {
+        return isValid;
+    }
+
+    public void setIsValid(String isValid) {
+        this.isValid = isValid;
+    }
+
+    public Object getUserIdCreate() {
+        return userIdCreate;
+    }
+
+    public void setUserIdCreate(Object userIdCreate) {
+        this.userIdCreate = userIdCreate;
+    }
+
+    public String getGmtCreate() {
+        return gmtCreate;
+    }
+
+    public void setGmtCreate(String gmtCreate) {
+        this.gmtCreate = gmtCreate;
+    }
+
+    public Object getUserIdUpdate() {
+        return userIdUpdate;
+    }
+
+    public void setUserIdUpdate(Object userIdUpdate) {
+        this.userIdUpdate = userIdUpdate;
+    }
+
+    public Object getGmtUpdate() {
+        return gmtUpdate;
+    }
+
+    public void setGmtUpdate(Object gmtUpdate) {
+        this.gmtUpdate = gmtUpdate;
+    }
+
+    public String getIfOpen() {
+        return ifOpen;
+    }
+
+    public void setIfOpen(String ifOpen) {
+        this.ifOpen = ifOpen;
+    }
+}

+ 108 - 0
app/src/main/java/com/silence/commonframe/bean/AirGuardWordTimeBean.java

@@ -0,0 +1,108 @@
+package com.silence.commonframe.bean;
+
+public class AirGuardWordTimeBean {
+
+    /**
+     * id : 3b39df9696584cfba77e1c0adaae7ba3
+     * deviceId : H030000000000001
+     * startTime : 0001
+     * endTime : 0100
+     * speed : 1
+     * isValid : 1
+     * userIdCreate : null
+     * gmtCreate : null
+     * userIdUpdate : null
+     * gmtUpdate : null
+     */
+
+    private String id;
+    private String deviceId;
+    private String startTime;
+    private String endTime;
+    private int speed;
+    private String isValid;
+    private Object userIdCreate;
+    private Object gmtCreate;
+    private Object userIdUpdate;
+    private Object gmtUpdate;
+
+    public String getId() {
+        return id;
+    }
+
+    public void setId(String id) {
+        this.id = id;
+    }
+
+    public String getDeviceId() {
+        return deviceId;
+    }
+
+    public void setDeviceId(String deviceId) {
+        this.deviceId = deviceId;
+    }
+
+    public String getStartTime() {
+        return startTime;
+    }
+
+    public void setStartTime(String startTime) {
+        this.startTime = startTime;
+    }
+
+    public String getEndTime() {
+        return endTime;
+    }
+
+    public void setEndTime(String endTime) {
+        this.endTime = endTime;
+    }
+
+    public int getSpeed() {
+        return speed;
+    }
+
+    public void setSpeed(int speed) {
+        this.speed = speed;
+    }
+
+    public String getIsValid() {
+        return isValid;
+    }
+
+    public void setIsValid(String isValid) {
+        this.isValid = isValid;
+    }
+
+    public Object getUserIdCreate() {
+        return userIdCreate;
+    }
+
+    public void setUserIdCreate(Object userIdCreate) {
+        this.userIdCreate = userIdCreate;
+    }
+
+    public Object getGmtCreate() {
+        return gmtCreate;
+    }
+
+    public void setGmtCreate(Object gmtCreate) {
+        this.gmtCreate = gmtCreate;
+    }
+
+    public Object getUserIdUpdate() {
+        return userIdUpdate;
+    }
+
+    public void setUserIdUpdate(Object userIdUpdate) {
+        this.userIdUpdate = userIdUpdate;
+    }
+
+    public Object getGmtUpdate() {
+        return gmtUpdate;
+    }
+
+    public void setGmtUpdate(Object gmtUpdate) {
+        this.gmtUpdate = gmtUpdate;
+    }
+}

+ 32 - 0
app/src/main/java/com/silence/commonframe/bean/BaseBean.java

@@ -0,0 +1,32 @@
+package com.silence.commonframe.bean;
+
+public class BaseBean<T> {
+
+    public int code;
+    public String msg;
+    public T data;
+
+    public int getCode() {
+        return code;
+    }
+
+    public void setCode(int code) {
+        this.code = code;
+    }
+
+    public String getMsg() {
+        return msg;
+    }
+
+    public void setMsg(String msg) {
+        this.msg = msg;
+    }
+
+    public T getData() {
+        return data;
+    }
+
+    public void setData(T data) {
+        this.data = data;
+    }
+}

+ 6 - 1
app/src/main/java/com/silence/commonframe/common/constant/UrlConstants.java

@@ -2,6 +2,8 @@ package com.silence.commonframe.common.constant;
 
 import com.silence.commonframe.ApiService;
 
+import retrofit2.http.GET;
+
 /**
  * author:
  * date:
@@ -19,5 +21,8 @@ public interface UrlConstants {
 
     String BASE_LOCAl="http://192.168.1.111:8080/";
     String AIR_GUARD_LIST=BASE_LOCAl +"app/airGuard/getDevList";
+    String AIR_GUARD_DETAIL=BASE_LOCAl+"app/airGuard/getDevDetail";
+    String SET_BUZZER=BASE_LOCAl+"app/airGuard/setBuzzer";
+    String AIR_DUARD_ISOPEN=BASE_LOCAl+"app/airGuard/openOrClose";
+    String AIR_RUN_TIME=BASE_LOCAl+"app/airGuard/getRunTimeList";
 }
-

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

@@ -21,6 +21,7 @@ import android.widget.Button;
 import android.widget.ImageView;
 import android.widget.ListView;
 import android.widget.RelativeLayout;
+import android.widget.TabHost;
 import android.widget.TextView;
 import android.widget.Toast;
 
@@ -39,6 +40,7 @@ import com.silence.commonframe.Dialog.CDialog;
 import com.silence.commonframe.R;
 import com.silence.commonframe.activity.AddSiteActivity;
 import com.silence.commonframe.activity.AdddeviceActivity;
+import com.silence.commonframe.activity.AirGuardActivity;
 import com.silence.commonframe.activity.CommonScanActivity;
 import com.silence.commonframe.activity.DeviceContextManagementActivity;
 import com.silence.commonframe.activity.DevicedetailActivity;
@@ -81,6 +83,7 @@ import java.util.List;
 
 import okhttp3.Call;
 import okhttp3.Response;
+import retrofit2.http.Url;
 
 /**
  * Created by Silence on 2016/4/5.
@@ -106,6 +109,7 @@ public class DeviceFragment extends Fragment implements OnFunRegisterListener, O
     private ArrayList<String> listLocation = new ArrayList<>();     //场所地址
     private ArrayList<String> listReginName = new ArrayList<>();    //场所区域
     private List<String> listDeviceLocation;
+    private List<String> airDevId=new ArrayList<>();
     private View view;
     private List<HashMap<String, String>> listmap = new ArrayList<>();
     private List<HashMap<String, String>> listmap_camera = new ArrayList<>();
@@ -314,6 +318,9 @@ public class DeviceFragment extends Fragment implements OnFunRegisterListener, O
              * 获取摄像头UUId
              */
                 getCameraId();
+        }else if (getResources().getString(R.string.device_air_guard).equals(listDeviceTypeTitle.get(position_device_type))){
+            refreshLanDeviceList();
+            startActivity(new Intent().putExtra("airDevId",airDevId.get(position)).setClass(getActivity(),AirGuardActivity.class));
         }
     }
 
@@ -731,7 +738,6 @@ public class DeviceFragment extends Fragment implements OnFunRegisterListener, O
                 .execute(new StringCallback() {
                     @Override
                     public void onSuccess(String s, Call call, Response response) {
-
                         Camera camera = new Gson().fromJson(s,Camera.class);
                         String message = camera.getMsg();
                         int code = camera.getCode();
@@ -792,8 +798,6 @@ public class DeviceFragment extends Fragment implements OnFunRegisterListener, O
                                                         @Override
                                                         public void onClick(DialogInterface dialog, int which) {
                                                             siteid =  Data.getListid().get(position1);
-                                                            //    adapter.removeItem(position);
-                                                            //     Toast.makeText(getContext(), "Delitem!"+siteid, Toast.LENGTH_SHORT).show();
                                                             position4 = position;
                                                             positionmy = position;
                                                             delCameraDevices();
@@ -896,20 +900,119 @@ public class DeviceFragment extends Fragment implements OnFunRegisterListener, O
                 .cacheKey("cacheGetKey")            // 设置当前请求的缓存key,建议每个不同功能的请求设置一个
                 .cacheMode(CacheMode.DEFAULT)    // 缓存模式,详细请看缓存介绍
                 .headers("token", Data.getToken())
-                .execute(new AbsCallback<AirGuardBean>() {
-
+                .execute(new StringCallback() {
                     @Override
-                    public AirGuardBean convertSuccess(Response response) throws Exception {
-                        return null;
-                    }
+                    public void onSuccess(String s, Call call, Response response) {
+                        AirGuardBean airGuardData= new Gson().fromJson(s,AirGuardBean.class);
+                        if (airGuardData.getCode()==0){
+                            if (airGuardData.getData() != null) {
+                                    for (int i = 0; i < airGuardData.getData().size(); i++) {
+                                        HashMap<String, String> hashMap = new HashMap<>();
+                                        String id = airGuardData.getData().get(i).getDeviceId();
+                                        String deviceLocation = "";
+                                        String deviceName = airGuardData.getData().get(i).getDeviceName();
+                                        String status = airGuardData.getData().get(i).getBuzzerState();
+                                        hashMap.put("id", id);
+                                        hashMap.put("deviceLocation", deviceLocation);
+                                        hashMap.put("status", status);
+                                        hashMap.put("airGuard",airGuardData.getData().get(i).getAirDevId());
+                                        listCameraId.add(id);
+                                        listCameraName.add(deviceName);
+                                        airDevId.add(airGuardData.getData().get(i).getDeviceId());
+                                        listmap_camera.add(hashMap);
+                                    }
+                                    mActivity.runOnUiThread(new Runnable() {
+                                        @Override
+                                        public void run() {
+                                            // number = listBeans.size();
+                                            imageView.setVisibility(View.GONE);
+                                            textView.setVisibility(View.GONE);
+                                            tv.setVisibility(View.VISIBLE);
+//                                        tv1.setVisibility(View.VISIBLE);
 
-                    @Override
-                    public void onSuccess(AirGuardBean airGuardBean, Call call, Response response) {
+                                            bt.setVisibility(View.GONE);
+                                            recyclerView.setVisibility(View.VISIBLE);
 
-                    }
-                    /** 请求失败,响应错误,数据解析错误等,都会回调该方法, UI线程 */
-                    public void onError(Call call, Response response, Exception e) {
+                                            adapter2 = new MyAdapterSlide(getContext(), listmap_camera);
+                                            recyclerView.removeAllViews();
+                                            adapter2.notifyDataSetChanged();
+                                            LinearLayoutManager linearLayoutManager = new LinearLayoutManager(getContext());
+                                            linearLayoutManager.setItemPrefetchEnabled(true);
+//                                            linearLayoutManager.setRecycleChildrenOnDetach(true);
+                                            recyclerView.setLayoutManager(linearLayoutManager);
+                                            recyclerView.setAdapter(adapter2);
+                                            adapter2.setOnItemClickListener(new MyAdapterSlide.OnItemClickListener() {
+                                                @Override
+                                                public void onItemClick(View view, int position) {
+                                                    //判断跳转到哪个页面
+                                                    isWhichClick_go(position);
+                                                }
 
+                                                @Override
+                                                public void onDeleteClick(final int position) {
+                                                    CDialog.Builder builder = new CDialog.Builder(getContext());
+                                                    builder.setMessage("是否确定要删除该设备");
+                                                    builder.setCancelable(false);
+                                                    builder.setTitle("提示");
+                                                    builder.setPositiveButton("确定", new DialogInterface.OnClickListener() {
+                                                        @Override
+                                                        public void onClick(DialogInterface dialog, int which) {
+                                                            siteid =  Data.getListid().get(position1);
+                                                            position4 = position;
+                                                            positionmy = position;
+                                                            delCameraDevices();
+                                                            onResume();
+                                                        }
+                                                    });
+
+                                                    builder.setNegativeButton("取消", new DialogInterface.OnClickListener() {
+                                                        @Override
+                                                        public void onClick(DialogInterface dialog, int which) {
+
+                                                        }
+                                                    });
+                                                    builder.show();
+                                                }
+
+                                                @Override
+                                                public void onNavieteClick(int position) {
+                                                    isWhichClick_go(position);
+                                                }
+                                            });
+                                            tv.setText("设备的数量:" + rows + "");
+                                            adapter2.notifyDataSetChanged();
+                                        }
+                                    });
+                                } else {
+                                    mActivity.runOnUiThread(new Runnable() {
+                                        @Override
+                                        public void run() {
+                                            imageView.setVisibility(View.VISIBLE);
+                                            textView.setVisibility(View.VISIBLE);
+                                            textView.setText("还未添加空气卫士");
+                                            bt.setVisibility(View.VISIBLE);
+                                            recyclerView.setVisibility(View.GONE);
+                                            tv1.setVisibility(View.GONE);
+                                            tv.setVisibility(View.VISIBLE);
+                                            //                                    String p = place.substring(0,9);
+                                            tv.setText("设备的数量:0");
+                                            //               tv1.setText(place1);
+                                            bt.setOnClickListener(new View.OnClickListener() {
+                                                @Override
+                                                public void onClick(View v) {
+                                                    //  Toast.makeText(getContext(),"helll",Toast.LENGTH_SHORT).show();
+                                                    Intent intent = new Intent(getContext(), CommonScanActivity.class);
+                                                    intent.putExtra("deviceType",getResources().getString(R.string.device_air_guard));
+                                                    startActivity(intent);
+                                                }
+                                            });
+                                        }
+                                    });
+                                }
+                        }else {
+                            LoginIn.tokenOut(airGuardData.getCode(),airGuardData.getMsg(),getContext());
+                            Toast.makeText(getContext(),""+airGuardData.getMsg(),Toast.LENGTH_SHORT).show();
+                        }
                     }
                 });
     }
@@ -1014,10 +1117,12 @@ public class DeviceFragment extends Fragment implements OnFunRegisterListener, O
     public void onLogout() {
 
     }
+
     @Override
     public void onAddSubDeviceFailed(FunDevice funDevice, MsgContent msgContent) {
 
     }
+
     @Override
     public void onAddSubDeviceSuccess(FunDevice funDevice, MsgContent msgContent) {
 

+ 2 - 2
app/src/main/java/com/silence/commonframe/utils/LoginIn.java

@@ -87,7 +87,7 @@ public class LoginIn {
         builder.show();
     }
     public static void tokenOut(int code,String message, final Context context){
-        if (code ==10001 ||code == 10002 || code== 10003||message.equals("token 失效,请重新登录")){
+        if (code ==10001 ||code == 10002 || code== 10003||message.equals("token 失效,请重新登录")) {
             CDialog.Builder builder = new CDialog.Builder(context);
             builder.setCancelable(false);
             builder.setTitle("提示");
@@ -97,7 +97,7 @@ public class LoginIn {
                 @Override
                 public void onClick(DialogInterface dialog, int which) {
                     AtyContainer.getInstance().finishAllActivity();
-                    Intent i2 = new Intent(context,LoginActivity.class);
+                    Intent i2 = new Intent(context, LoginActivity.class);
                     context.startActivity(i2);
                 }
             });

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

@@ -96,7 +96,6 @@
             </RelativeLayout>
 
             <RelativeLayout
-                android:id="@+id/airguard_buzzer"
                 android:layout_width="match_parent"
                 android:layout_height="wrap_content"
                 android:layout_marginLeft="20dp"
@@ -104,6 +103,7 @@
                 android:layout_marginTop="25dp">
 
                 <RelativeLayout
+                    android:id="@+id/airguard_buzzer"
                     android:layout_width="150dp"
                     android:layout_height="100dp"
                     android:layout_alignParentLeft="true"

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

@@ -13,7 +13,7 @@
         <include layout="@layout/navi_head"/>
 
         <android.support.v7.widget.RecyclerView
-            android:id="@+id/worktime_recyclerview"
+            android:id="@+id/rv_work_time"
             android:layout_width="match_parent"
             android:layout_height="match_parent"/>