From 51c810c314e17aebb5935df7165ccf499dc09c31 Mon Sep 17 00:00:00 2001
From: xuxiuxi <xuxiuxi@454eff88-639b-444f-9e54-f578c98de674>
Date: 星期三, 19 七月 2017 17:45:06 +0800
Subject: [PATCH] 

---
 VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/DeviceMng.java |  110 +++++++++++++++++++++++++++++++++---------------------
 1 files changed, 67 insertions(+), 43 deletions(-)

diff --git a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/DeviceMng.java b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/DeviceMng.java
index 2e8b6e7..36bb3d1 100644
--- a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/DeviceMng.java
+++ b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/DeviceMng.java
@@ -9,6 +9,7 @@
 import cn.com.basic.face.discern.common.CommonVariables;
 import cn.com.basic.face.fragment.DeviceFragment;
 import cn.com.basic.face.service.sqlite.AttendanceDao;
+import cn.com.basic.face.service.sqlite.DeviceDao;
 import cn.com.basic.face.util.AppApi;
 
 import org.xutils.http.RequestParams;
@@ -63,58 +64,81 @@
 //                });
 //                return;
 //            }
-            RequestParams params = new RequestParams(AppApi.BASE_URL + AppApi.Query.DEVICE_QUERY);
-            
-            params.addBodyParameter(Device.FieldNames.sn, authorationId);
-            params.addBodyParameter(Device.FieldNames.type, CommonVariables.DeviceType.ANDROID_DEVICE);
-            x.http().post(params, new BaseCommonCallBack() {
-                public void success() {
-                    List<Device> devices = resultBean.getList(Device.class);
-                    if (devices.size() > 0) {
-                        final Device device = devices.get(0);
-                        BaseApplication.getInstance().setAndroidDevice(device);
-                        MainActivity.getInstance().runOnUiThread(new Runnable() {
-                            @Override
-                            public void run() {
-                                DeviceFragment.getInstance().setAndroidDevice(device);
+            if (BaseApplication.getInstance().networkAvailable()) {
+                RequestParams params = new RequestParams(AppApi.BASE_URL + AppApi.Query.DEVICE_QUERY);
 
-                                RequestParams params = new RequestParams(AppApi.BASE_URL + AppApi.Query.DEVICE_QUERY);
-                                params.addBodyParameter(Device.FieldNames.belongId, device.getBelongId());
-                                params.addBodyParameter(Device.FieldNames.type, CommonVariables.DeviceType.CAMERA1);
-                                x.http().post(params, new BaseCommonCallBack() {
-                                            public void success() {
-                                                List<Device> devices = resultBean.getList(Device.class);
-                                                if (devices.size() > 0) {
-                                                    final Device camera1 = devices.get(0);
-                                                    BaseApplication.getInstance().setCamera1(camera1);
-                                                    DeviceFragment.getInstance().setCamera1(camera1);
-                                                }
-                                            }
-                                });
+                params.addBodyParameter(Device.FieldNames.sn, authorationId);
+                params.addBodyParameter(Device.FieldNames.type, CommonVariables.DeviceType.ANDROID_DEVICE);
+                x.http().post(params, new BaseCommonCallBack() {
+                    public void success() {
+                        loadAfterReturn(getList(Device.class));
+                    }
+                });
+            } else {
+                loadAfterReturn(DeviceDao.getInstance().loadMainDevice(CommonVariables.DeviceType.ANDROID_DEVICE, authorationId));
+            }
+        } catch (Throwable e) {
+            e.printStackTrace();
+            Toast.makeText(BaseApplication.getInstance(), "鏁版嵁搴撲腑鎵句笉鍒拌璁惧", Toast.LENGTH_SHORT).show();
+        }
+    }
 
+    public void loadAfterReturn(List<Device> devices) {
+//        List<Device> devices = getList(Device.class);
+        if (devices.size() > 0) {
+            final Device device = devices.get(0);
+            BaseApplication.getInstance().setAndroidDevice(device);
+            MainActivity.getInstance().runOnUiThread(new Runnable() {
+                @Override
+                public void run() {
+                    DeviceFragment.getInstance().setAndroidDevice(device);
 
-                                params = new RequestParams(AppApi.BASE_URL + AppApi.Query.DEVICE_QUERY);
-                                params.addBodyParameter(Device.FieldNames.belongId, device.getBelongId());
-                                params.addBodyParameter(Device.FieldNames.type, CommonVariables.DeviceType.CAMERA2);
-                                x.http().post(params, new BaseCommonCallBack() {
-                                    public void success() {
-                                        List<Device> devices = resultBean.getList(Device.class);
-                                        if (devices.size() > 0) {
-                                            final Device camera2 = devices.get(0);
-                                            BaseApplication.getInstance().setCamera2(camera2);
-                                            DeviceFragment.getInstance().setCamera2(camera2);
-                                        }
-                                    }
-                                });
+                    if (BaseApplication.getInstance().networkAvailable()) {
+
+                        RequestParams params = new RequestParams(AppApi.BASE_URL + AppApi.Query.DEVICE_QUERY);
+                        params.addBodyParameter(Device.FieldNames.belongId, device.getBelongId());
+                        params.addBodyParameter(Device.FieldNames.type, CommonVariables.DeviceType.CAMERA1);
+                        x.http().post(params, new BaseCommonCallBack() {
+                            public void success() {
+                                List<Device> devices = resultBean.getList(Device.class);
+                                if (devices.size() > 0) {
+                                    final Device camera1 = devices.get(0);
+                                    BaseApplication.getInstance().setCamera1(camera1);
+                                    DeviceFragment.getInstance().setCamera1(camera1);
+                                }
+                            }
+                        });
+
+                        params = new RequestParams(AppApi.BASE_URL + AppApi.Query.DEVICE_QUERY);
+                        params.addBodyParameter(Device.FieldNames.belongId, device.getBelongId());
+                        params.addBodyParameter(Device.FieldNames.type, CommonVariables.DeviceType.CAMERA2);
+                        x.http().post(params, new BaseCommonCallBack() {
+                            public void success() {
+                                List<Device> devices = resultBean.getList(Device.class);
+                                if (devices.size() > 0) {
+                                    final Device camera2 = devices.get(0);
+                                    BaseApplication.getInstance().setCamera2(camera2);
+                                    DeviceFragment.getInstance().setCamera2(camera2);
+                                }
                             }
                         });
                     } else {
-                        Toast.makeText(BaseApplication.getInstance(), "鏁版嵁搴撲腑鎵句笉鍒拌璁惧", Toast.LENGTH_SHORT).show();
+                        List<Device> camera1List = DeviceDao.getInstance().loadCamera(CommonVariables.DeviceType.CAMERA1, device.getBelongId());
+                        if (camera1List != null && camera1List.size() > 0) {
+                            final Device camera1 = camera1List.get(0);
+                            BaseApplication.getInstance().setCamera1(camera1);
+                            DeviceFragment.getInstance().setCamera1(camera1);
+                        }
+                        List<Device> camera2List = DeviceDao.getInstance().loadCamera(CommonVariables.DeviceType.CAMERA2, device.getBelongId());
+                        if (camera2List != null && camera2List.size() > 0) {
+                            final Device camera2 = camera2List.get(0);
+                            BaseApplication.getInstance().setCamera2(camera2);
+                            DeviceFragment.getInstance().setCamera2(camera2);
+                        }
                     }
                 }
             });
-        } catch (Throwable e) {
-            e.printStackTrace();
+        } else {
             Toast.makeText(BaseApplication.getInstance(), "鏁版嵁搴撲腑鎵句笉鍒拌璁惧", Toast.LENGTH_SHORT).show();
         }
     }

--
Gitblit v1.8.0