From ae5a02a4428be27d69c1fe8791ec83bce3827e80 Mon Sep 17 00:00:00 2001
From: chenke <chenke@454eff88-639b-444f-9e54-f578c98de674>
Date: 星期三, 09 八月 2017 13:07:06 +0800
Subject: [PATCH]
---
VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/DeviceMng.java | 231 ++++++++++++++++++++++++++++++++++++++++++++++-----------
1 files changed, 186 insertions(+), 45 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 6c64ea4..bc5dc95 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
@@ -7,22 +7,38 @@
import cn.com.basic.face.base.BaseApplication;
import cn.com.basic.face.base.MainActivity;
import cn.com.basic.face.discern.common.CommonVariables;
+import cn.com.basic.face.discern.common.SqliteSqlBean;
+import cn.com.basic.face.discern.query.item.CheckInQueryItem;
+import cn.com.basic.face.discern.query.item.DeviceQueryItem;
+import cn.com.basic.face.fragment.CheckInFragment;
+import cn.com.basic.face.fragment.DeviceFragment;
+import cn.com.basic.face.fragment.VisitorRegisterFragment;
+import cn.com.basic.face.service.sqlite.DeviceDao;
+import cn.com.basic.face.service.sync.DeleteLastMonthRecordAndPictureThread;
+import cn.com.basic.face.service.sync.SyncDownThread;
import cn.com.basic.face.util.AppApi;
import org.xutils.http.RequestParams;
import org.xutils.x;
+import java.io.File;
import java.util.List;
import java.util.Map;
import cn.com.basic.face.discern.common.BaseCommonCallBack;
import cn.com.basic.face.discern.entity.Device;
import cn.com.basic.face.util.SharedPreferencesUtils;
+import cn.com.basic.face.service.sync.SyncUpThread;
+import cn.com.basic.face.util.SqliteSqlUtil;
public class DeviceMng {
public static DeviceMng instance = new DeviceMng();
- public static final String authorationId = "101";
+ private SyncUpThread syncUpThread = null;
+ private SyncDownThread syncDownThread = null;
+ private DeleteLastMonthRecordAndPictureThread deleteLastMonthRecordAndPictureThread = null;
+
+ public static String authorationId = "101";
public static DeviceMng getInstance() {
return instance;
@@ -34,6 +50,7 @@
public void run() {
try {
while (true) {
+ //AttendanceDao.getInstance().reloadLeftList(null, 0, false);
if (!BaseApplication.getInstance().deviceAvailable) {
load ();
} else {
@@ -50,21 +67,119 @@
public void load () {
try {
- RequestParams params = new RequestParams(AppApi.BASE_URL + AppApi.Query.DEVICE_QUERY);
- params.addBodyParameter(Device.FieldNames.authorizationId, authorationId);
- x.http().post(params, new BaseCommonCallBack() {
- public void success() {
- List<Device> places = resultBean.getListBeanOfType(Device.class);
- if (places.size() > 0) {
- BaseApplication.getInstance().setDevice(places.get(0));
- } else {
- Toast.makeText(BaseApplication.getInstance(), "鏁版嵁搴撲腑鎵句笉鍒拌璁惧", Toast.LENGTH_SHORT).show();
+// if (authorationId == null || authorationId.trim().length() <= 1) {
+// getAuthorationId();
+// MainActivity.getInstance().runOnUiThread(new Runnable() {
+// @Override
+// public void run() {
+// Toast.makeText(MainActivity.getInstance(), "璇峰~鍐欒澶囧簭鍒楀彿", Toast.LENGTH_SHORT).show();
+// }
+// });
+// return;
+// }
+ if (MainActivity.getInstance().getInternetAccessible() == CommonVariables.InternetAccess.INTERNET_NOT_INITIALIZE) {
+ return;
+ }
+ if (BaseApplication.getInstance().networkAvailable()) {
+ 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);
+ params.addBodyParameter("deviceCompanyId", BaseApplication.getInstance().getAndroidDevice().getCompanyId());
+ 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);
+
+ 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);
+ params.addBodyParameter("deviceCompanyId", BaseApplication.getInstance().getAndroidDevice().getCompanyId());
+ x.http().post(params, new BaseCommonCallBack() {
+ public void success() {
+ List<DeviceQueryItem> devices = resultBean.getList(DeviceQueryItem.class);
+ if (devices.size() > 0) {
+ final DeviceQueryItem 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);
+ params.addBodyParameter("deviceCompanyId", BaseApplication.getInstance().getAndroidDevice().getCompanyId());
+ x.http().post(params, new BaseCommonCallBack() {
+ public void success() {
+ List<DeviceQueryItem> devices = resultBean.getList(DeviceQueryItem.class);
+ if (devices.size() > 0) {
+ final DeviceQueryItem camera2 = devices.get(0);
+ BaseApplication.getInstance().setCamera2(camera2);
+ DeviceFragment.getInstance().setCamera2(camera2);
+ }
+ }
+ });
+ } else {
+ List<DeviceQueryItem> camera1List = DeviceDao.getInstance().loadCamera(CommonVariables.DeviceType.CAMERA1, device.getBelongId());
+ if (camera1List != null && camera1List.size() > 0) {
+ final DeviceQueryItem camera1 = camera1List.get(0);
+ BaseApplication.getInstance().setCamera1(camera1);
+ DeviceFragment.getInstance().setCamera1(camera1);
+ }
+ List<DeviceQueryItem> camera2List = DeviceDao.getInstance().loadCamera(CommonVariables.DeviceType.CAMERA2, device.getBelongId());
+ if (camera2List != null && camera2List.size() > 0) {
+ final DeviceQueryItem camera2 = camera2List.get(0);
+ BaseApplication.getInstance().setCamera2(camera2);
+ DeviceFragment.getInstance().setCamera2(camera2);
+ }
+ }
+ }
+ });
+ synchronized (this) {
+ if (syncUpThread == null) {
+ syncUpThread = new SyncUpThread();
+ syncUpThread.start();
+ }
+ if (syncDownThread == null) {
+ syncDownThread = new SyncDownThread();
+ syncDownThread.start();
+ }
+ if (deleteLastMonthRecordAndPictureThread == null) {
+ deleteLastMonthRecordAndPictureThread = new DeleteLastMonthRecordAndPictureThread();
+ deleteLastMonthRecordAndPictureThread.start();
+ }
+ }
+ } else {
+ Toast.makeText(BaseApplication.getInstance(), "鏁版嵁搴撲腑鎵句笉鍒拌璁惧", Toast.LENGTH_SHORT).show();
+ }
+ }
+
+ public void getAuthorationId() {
+ SharedPreferences school = DeviceMng.getInstance().loadSharedPreferences(CommonVariables.DeviceSharedPreferences.SCHOOL);
+ if (!"".equals(school.getString("fragment_device_right_device_info_sn", ""))) {
+ authorationId = school.getString("fragment_device_right_device_info_sn", "");
}
}
@@ -73,11 +188,28 @@
}
public void saveLanSetting(Map<String, String> fields) {
- SharedPreferencesUtils.save(CommonVariables.DeviceSharedPreferences.LAN, fields);
+
+// 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> places = resultBean.getList(Device.class);
+// if (places.size() > 0) {
+// BaseApplication.getInstance().setAndroidDevice(places.get(0));
+// } else {
+// Toast.makeText(BaseApplication.getInstance(), "鏁版嵁搴撲腑鎵句笉鍒拌璁惧", Toast.LENGTH_SHORT).show();
+// }
+// }
+// });
+//
+//
+// SharedPreferencesUtils.save(CommonVariables.DeviceSharedPreferences.LAN, fields);
}
public void saveSchoolSetting(Map<String, String> fields) {
SharedPreferencesUtils.save(CommonVariables.DeviceSharedPreferences.SCHOOL, fields);
+ getAuthorationId();
}
public void saveCamera1Setting(Map<String, String> fields) {
@@ -96,50 +228,59 @@
return sharedPreferences.getString(key, "");
}
- public String getCamera1Address() {
+ public String getCamera2Address() {
String username = "admin";
String password = "admin12345";
String ip = "192.168.1.70";
String port = "554";
-
- SharedPreferences camera1 = DeviceMng.getInstance().loadSharedPreferences(CommonVariables.DeviceSharedPreferences.CAMERA1);
- if (!"".equals(camera1.getString("fragment_device_right_camera1_username", ""))) {
- username = camera1.getString("fragment_device_right_camera1_username", "");
+ DeviceQueryItem camera2 = DeviceFragment.getInstance().getCamera2();
+ if (camera2 != null) {
+ return "rtsp://admin:admin12345@"+camera2.getIp()+":554/h264/ch1/main/av_stream";
}
- if (!"".equals(camera1.getString("fragment_device_right_camera1_password", ""))) {
- password = camera1.getString("fragment_device_right_camera1_password", "");
- }
- if (!"".equals(camera1.getString("fragment_device_right_camera1_ip", ""))) {
- ip = camera1.getString("fragment_device_right_camera1_ip", "");
- }
- if (!"".equals(camera1.getString("fragment_device_right_camera1_port", ""))) {
- port = camera1.getString("fragment_device_right_camera1_port", "");
- }
-
- return "rtsp://"+username+":"+password+"@"+ip+":"+port+"/h264/ch1/sub/av_stream";
+ return "rtsp://admin:admin12345@192.168.1.202:554/h264/ch1/main/av_stream";
}
- public String getCamera2Address() {
+ public String getCamera1Address() {
String username = "admin";
String password = "a1234567";
String ip = "192.168.1.68";
String port = "554";
-
- SharedPreferences camera1 = DeviceMng.getInstance().loadSharedPreferences(CommonVariables.DeviceSharedPreferences.CAMERA2);
- if (!"".equals(camera1.getString("fragment_device_right_camera1_username", ""))) {
- username = camera1.getString("fragment_device_right_camera1_username", "");
+ DeviceQueryItem camera1 = DeviceFragment.getInstance().getCamera1();
+ if (camera1 != null) {
+ return "rtsp://admin:a1234567@"+camera1.getIp()+":554/h264/ch1/main/av_stream";
}
- if (!"".equals(camera1.getString("fragment_device_right_camera1_password", ""))) {
- password = camera1.getString("fragment_device_right_camera1_password", "");
- }
- if (!"".equals(camera1.getString("fragment_device_right_camera1_ip", ""))) {
- ip = camera1.getString("fragment_device_right_camera1_ip", "");
- }
- if (!"".equals(camera1.getString("fragment_device_right_camera1_port", ""))) {
- port = camera1.getString("fragment_device_right_camera1_port", "");
- }
-
- return "rtsp://"+username+":"+password+"@"+ip+":"+port+"/h264/ch1/sub/av_stream";
+ return "rtsp://admin:a1234567@192.168.1.201:554/h264/ch1/main/av_stream";
}
+ public void updateCamera(RequestParams params, Device camera) {
+ if (BaseApplication.getInstance().networkAvailable()) {
+ params.setUri(AppApi.BASE_URL +AppApi.CAMERA_UPDATE);
+ x.http().post(params, new BaseCommonCallBack() {
+ @Override
+ public void success() {
+ SqliteSqlUtil.insert(getExtraList(SqliteSqlBean.class));
+ Toast.makeText(BaseApplication.getInstance(),"淇敼鎴愬姛", Toast.LENGTH_SHORT).show();
+ }
+ });
+ } else {
+ DeviceDao.getInstance().updateCamera(camera);
+ }
+ }
+
+ public void updateAndroidDevice(RequestParams params, Device androidDevice) {
+ if (BaseApplication.getInstance().networkAvailable()) {
+ params.setUri(AppApi.BASE_URL +AppApi.ANDROID_DEVICE_UPDATE);
+ x.http().post(params, new BaseCommonCallBack() {
+ @Override
+ public void success() {
+ SqliteSqlUtil.insert(getExtraList(SqliteSqlBean.class));
+ Toast.makeText(BaseApplication.getInstance(),"淇敼鎴愬姛", Toast.LENGTH_SHORT).show();
+ }
+ });
+ } else {
+ DeviceDao.getInstance().updateAndroidDevice(androidDevice);
+ }
+ }
+
+
}
--
Gitblit v1.8.0