From e09e9f8a34cbc99a33dfa9ef1792b0025575c3a8 Mon Sep 17 00:00:00 2001
From: xuxiuxi <xuxiuxi@454eff88-639b-444f-9e54-f578c98de674>
Date: 星期二, 01 八月 2017 11:41:19 +0800
Subject: [PATCH] 

---
 VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/util/UnknownSurveillanceQueryItemUtil.java |   13 +++
 VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/base/BaseFragment.java                     |   27 ++++++
 VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/fragment/SurveillanceFragment.java         |   49 +++++++-----
 VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/sync/down/BaseDownSync.java        |    2 
 VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/fragment/AttenderRegisterFragment.java     |    6 +
 VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/sqlite/CheckInDao.java             |    1 
 VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/sync/up/FileUpSync.java            |    3 
 VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/fragment/CheckInFragment.java              |    3 
 VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/fragment/DeviceFragment.java               |    2 
 VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/fragment/VisitFragment.java                |    1 
 VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/fragment/AttendanceFragment.java           |    1 
 VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/fragment/PhoneCallFragment.java            |    2 
 VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/util/SurveillanceQueryItemUtil.java        |   59 ++++++++++++--
 VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/InternetAccessThread.java          |   29 ++++++-
 VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/discern/entity/Visit.java                  |    9 ++
 VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/discern/common/BaseCommonCallBack.java     |    7 -
 VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/fragment/VisitorRegisterFragment.java      |    1 
 VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/sync/up/BaseSync.java              |    2 
 VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/util/KeyboardUtil.java                     |   19 ++++
 19 files changed, 189 insertions(+), 47 deletions(-)

diff --git a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/base/BaseFragment.java b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/base/BaseFragment.java
index 1f12bc4..25e5446 100644
--- a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/base/BaseFragment.java
+++ b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/base/BaseFragment.java
@@ -6,10 +6,14 @@
 import android.support.annotation.Nullable;
 import android.support.v4.app.Fragment;
 import android.view.LayoutInflater;
+import android.view.MotionEvent;
 import android.view.View;
 import android.view.ViewGroup;
+import android.widget.EditText;
 
 import com.lidroid.xutils.ViewUtils;
+
+import cn.com.basic.face.util.KeyboardUtil;
 
 /**
  * Created by zhangbo on 2017/2/15.
@@ -71,4 +75,27 @@
     protected void initListeners() {};
 
     protected void initData() {};
+
+
+
+    public void setupUI(View view) {
+
+        // Set up touch listener for non-text box views to hide keyboard.
+        if (!(view instanceof EditText)) {
+            view.setOnTouchListener(new View.OnTouchListener() {
+                public boolean onTouch(View v, MotionEvent event) {
+                    KeyboardUtil.hideSoftKeyboard();
+                    return false;
+                }
+            });
+        }
+        //If a layout container, iterate over children and seed recursion.
+        if (view instanceof ViewGroup) {
+            for (int i = 0; i < ((ViewGroup) view).getChildCount(); i++) {
+                View innerView = ((ViewGroup) view).getChildAt(i);
+                setupUI(innerView);
+            }
+        }
+    }
+
 }
diff --git a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/discern/common/BaseCommonCallBack.java b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/discern/common/BaseCommonCallBack.java
index 653bdbc..5e99c60 100644
--- a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/discern/common/BaseCommonCallBack.java
+++ b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/discern/common/BaseCommonCallBack.java
@@ -12,6 +12,7 @@
 
 import java.net.ConnectException;
 import java.net.SocketTimeoutException;
+import java.util.ArrayList;
 import java.util.List;
 
 public abstract class BaseCommonCallBack implements Callback.CommonCallback<ResultBean>{
@@ -37,7 +38,7 @@
                 return JSON.parseArray(jsonArray.toJSONString(), requiredType);
             }
         }
-        return null;
+        return new ArrayList<>();
     }
 
     public <T> List<T> getExtraList(Class<T> requiredType) {
@@ -48,7 +49,7 @@
                 return JSON.parseArray(jsonArray.toJSONString(), requiredType);
             }
         }
-        return null;
+        return new ArrayList<>();
     }
 
     @Override
@@ -65,7 +66,6 @@
 
     @Override
     public void onCancelled(CancelledException cex) {
-        System.out.print("hello");
     }
 
     @Override
@@ -89,7 +89,6 @@
 
     @Override
     public void onFinished() {
-        System.out.print("hello");
     }
 
     public int getPageNum() {
diff --git a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/discern/entity/Visit.java b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/discern/entity/Visit.java
index 9780cac..17c0f88 100644
--- a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/discern/entity/Visit.java
+++ b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/discern/entity/Visit.java
@@ -114,6 +114,7 @@
 
 
 	private String visitReason;
+	private String deviceId;
 
 
 
@@ -354,6 +355,14 @@
 		this.visitReason = visitReason;
 	}
 
+	public String getDeviceId() {
+		return deviceId;
+	}
+
+	public void setDeviceId(String deviceId) {
+		this.deviceId = deviceId;
+	}
+
 	public String toString() {
 		return 
 			 ",璁块棶浜嬩欢涓婚敭 ="+ visitId    +  ",璁块棶浜嬬敱涓婚敭 ="+ visitReasonId +  ",璁块棶澶囨敞 =" + remark     + 
diff --git a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/fragment/AttendanceFragment.java b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/fragment/AttendanceFragment.java
index ced36bd..1dedb8f 100644
--- a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/fragment/AttendanceFragment.java
+++ b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/fragment/AttendanceFragment.java
@@ -76,6 +76,7 @@
             public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) {}
             public void afterTextChanged(Editable editable) { reloadLeftList(); }
         });
+        setupUI(getView());
     }
 
     @Override
diff --git a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/fragment/AttenderRegisterFragment.java b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/fragment/AttenderRegisterFragment.java
index fd6ad80..cfa3bd3 100644
--- a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/fragment/AttenderRegisterFragment.java
+++ b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/fragment/AttenderRegisterFragment.java
@@ -9,8 +9,11 @@
 import android.os.Environment;
 import android.provider.MediaStore;
 import android.support.v4.app.Fragment;
+import android.view.MotionEvent;
 import android.view.View;
+import android.view.ViewGroup;
 import android.view.WindowManager;
+import android.widget.EditText;
 import android.widget.FrameLayout;
 import android.widget.ImageView;
 import android.widget.TextView;
@@ -38,6 +41,7 @@
 
 import cn.com.basic.face.util.IdCard;
 import cn.com.basic.face.thread.IdCardReaderThread;
+import cn.com.basic.face.util.KeyboardUtil;
 import cn.com.basic.face.util.NativeImg;
 import cn.com.basic.face.util.OkClickedListener;
 
@@ -534,6 +538,7 @@
             idCardReaderThread = new IdCardReaderThread();
             idCardReaderThread.start();
         }
+        setupUI(getView());
     }
 
     public void fillFormWithIdCard(IdCard idCard) {
@@ -588,4 +593,5 @@
         }, fragment_attender_register_department.getValue());
     }
 
+
 }
diff --git a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/fragment/CheckInFragment.java b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/fragment/CheckInFragment.java
index 89a24c0..b57d153 100644
--- a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/fragment/CheckInFragment.java
+++ b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/fragment/CheckInFragment.java
@@ -131,7 +131,7 @@
                 reloadCheckInLeftList();
             }
         });
-
+        setupUI(getView());
     }
 
     public void append() {
@@ -238,6 +238,7 @@
             //offlineVisitItem.setDeviceId(BaseApplication.getInstance().getAndroidDevice().getDeviceId());
             offlineVisitItem.setDeviceCompanyId(BaseApplication.getInstance().getAndroidDevice().getCompanyId());
             offlineVisitItem.setIsSynchron("N");
+            offlineVisitItem.setDeviceId(BaseApplication.getInstance().getAndroidDevice().getDeviceId());
         }
         CheckInMng.getInstance().add(params, visitReasonId, offlineVisitItem);
     }
diff --git a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/fragment/DeviceFragment.java b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/fragment/DeviceFragment.java
index 66931e1..1b6f127 100644
--- a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/fragment/DeviceFragment.java
+++ b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/fragment/DeviceFragment.java
@@ -128,6 +128,8 @@
         ViewUtils.inject(this, camera2View);
         fragment_device_left_wifi_check_box.setChecked(true);
         loadSharedPreferenceValues();
+        setupUI(getLeftView());
+        setupUI(getRightView());
     }
 
     private void loadSharedPreferenceValues() {
diff --git a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/fragment/PhoneCallFragment.java b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/fragment/PhoneCallFragment.java
index 3df9ba5..47c8296 100644
--- a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/fragment/PhoneCallFragment.java
+++ b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/fragment/PhoneCallFragment.java
@@ -57,7 +57,7 @@
             public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) {}
             public void afterTextChanged(Editable editable) { loadLeftList(); }
         });
-
+        setupUI(getView());
     }
 
     @Override
diff --git a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/fragment/SurveillanceFragment.java b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/fragment/SurveillanceFragment.java
index 6231b7e..c15e972 100644
--- a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/fragment/SurveillanceFragment.java
+++ b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/fragment/SurveillanceFragment.java
@@ -1,5 +1,6 @@
 package cn.com.basic.face.fragment;
 
+import android.app.AlarmManager;
 import android.content.Context;
 import android.net.wifi.WifiManager;
 import android.os.Build;
@@ -31,6 +32,7 @@
 import com.lidroid.xutils.view.annotation.ViewInject;
 import com.lidroid.xutils.view.annotation.event.OnClick;
 
+import java.io.DataOutputStream;
 import java.net.InetAddress;
 import java.net.NetworkInterface;
 import java.net.SocketException;
@@ -93,6 +95,32 @@
             useNative = false;
         }
         if (useNative) {
+            try{
+                Calendar c = Calendar.getInstance();
+                c.set(2017, 4, 1, 12, 34, 56);
+                AlarmManager am = (AlarmManager) MainActivity.getInstance().getSystemService(Context.ALARM_SERVICE);
+
+                am.setTime(c.getTimeInMillis());
+                Process su = Runtime.getRuntime().exec("su");
+                DataOutputStream outputStream = new DataOutputStream(su.getOutputStream());
+
+                //outputStream.writeBytes("busybox ifconfig wlan0 down\n");
+                //outputStream.flush();
+                //Thread.sleep(5000);
+//                outputStream.writeBytes("busybox ifconfig wlan0 hw ether  f4:8b:32:62:4f:89\n");
+//                outputStream.flush();
+
+                //outputStream.writeBytes("exit\n");
+                //outputStream.flush();
+                //su.waitFor();
+                /*
+                busybox ifconfig wlan0 hw ether  AC:83:F3:42:19:CE
+
+
+                 */
+            }catch(Exception e){
+                e.printStackTrace();
+            }
             System.loadLibrary("cvface_api");
             System.loadLibrary("opencv_java3");
             System.loadLibrary("protobuf-lite");
@@ -118,27 +146,7 @@
                 }
             } catch (SocketException ex) {}
 
-            try{
-                //Process su = Runtime.getRuntime().exec("su");
-                //DataOutputStream outputStream = new DataOutputStream(su.getOutputStream());
 
-                //outputStream.writeBytes("busybox ifconfig wlan0 down\n");
-                //outputStream.flush();
-                //Thread.sleep(5000);
-//                outputStream.writeBytes("busybox ifconfig wlan0 hw ether  f4:8b:32:62:4f:89\n");
-//                outputStream.flush();
-
-                //outputStream.writeBytes("exit\n");
-                //outputStream.flush();
-                //su.waitFor();
-                /*
-                busybox ifconfig wlan0 hw ether  AC:83:F3:42:19:CE
-
-
-                 */
-            }catch(Exception e){
-                e.printStackTrace();
-            }
 //            outputStream.writeBytes("busybox ifconfig wlan0 hw ether  00:e0:2c:31:1a:ba\n");
             /*
 sysctl kernel.sched_is_big_little=1
@@ -245,6 +253,7 @@
 //                reloadBottomList();
             }
         });
+        setupUI(getView());
     }
 
     @Override
diff --git a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/fragment/VisitFragment.java b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/fragment/VisitFragment.java
index c3e05c0..c518233 100644
--- a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/fragment/VisitFragment.java
+++ b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/fragment/VisitFragment.java
@@ -93,6 +93,7 @@
             public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) {}
             public void afterTextChanged(Editable editable) { reloadList(); }
         });
+        setupUI(getView());
     }
 
     @Override
diff --git a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/fragment/VisitorRegisterFragment.java b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/fragment/VisitorRegisterFragment.java
index e82ddd9..ff80b6e 100644
--- a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/fragment/VisitorRegisterFragment.java
+++ b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/fragment/VisitorRegisterFragment.java
@@ -559,6 +559,7 @@
             idCardReaderThread = new IdCardReaderThread();
             idCardReaderThread.start();
         }
+        setupUI(getView());
     }
 
     public void fillFormWithIdCard(IdCard idCard) {
diff --git a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/InternetAccessThread.java b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/InternetAccessThread.java
index 0c13c8c..84e1c79 100644
--- a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/InternetAccessThread.java
+++ b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/InternetAccessThread.java
@@ -63,7 +63,7 @@
 
 
         public static boolean openUrl() {
-            StringBuilder total = new StringBuilder();
+            StringBuilder javaServerResponse = new StringBuilder();
             try {
                 URL url = new URL(AppApi.BASE_URL);
                 URLConnection urlCon = url.openConnection();
@@ -75,18 +75,37 @@
 
                 String line;
                 while ((line = bufferedReader.readLine()) != null) {
-                    total.append(line).append('\n');
+                    javaServerResponse.append(line).append('\n');
                 }
                 bufferedReader.close();
                 bis.close();
                 is.close();
             } catch (Exception e) {
-                //e.printStackTrace();
-                //System.out.println(e.getMessage());
                 return false;
             }
+            StringBuilder cPlusPlusServerResponse = new StringBuilder();
+            try {
+                URL url = new URL("http://60.205.222.4:8080");
+                URLConnection urlCon = url.openConnection();
+                urlCon.setConnectTimeout(1500);
+                InputStream is = urlCon.getInputStream();
+                BufferedInputStream bis = new BufferedInputStream(is);
 
-            if (total.toString().indexOf("Hello World!") > -1) {
+                BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(bis));
+
+                String line;
+                while ((line = bufferedReader.readLine()) != null) {
+                    cPlusPlusServerResponse.append(line).append('\n');
+                }
+                bufferedReader.close();
+                bis.close();
+                is.close();
+            } catch (Exception e) {
+                return false;
+            }
+            if (javaServerResponse.toString().indexOf("Hello World!") > -1 &&
+                    cPlusPlusServerResponse.indexOf("ip") > -1
+                    ) {
                 return true;
             } else {
                 return false;
diff --git a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/sqlite/CheckInDao.java b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/sqlite/CheckInDao.java
index d1531ed..7b5c1b0 100644
--- a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/sqlite/CheckInDao.java
+++ b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/sqlite/CheckInDao.java
@@ -259,6 +259,7 @@
         contentValues.put("is_synchron",item.getIsSynchron());
         contentValues.put("device_company_id",item.getDeviceCompanyId());
         contentValues.put("create_time",item.getCreateTime());
+        contentValues.put("device_id", item.getDeviceId());
 
         long registerId = MainActivity.getInstance().db.insert("visit", "", contentValues);
         return registerId;
diff --git a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/sync/down/BaseDownSync.java b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/sync/down/BaseDownSync.java
index bd52c53..b644acc 100644
--- a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/sync/down/BaseDownSync.java
+++ b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/sync/down/BaseDownSync.java
@@ -20,7 +20,7 @@
     }
 
     public void syncNext() {
-        System.out.println("sync."+this.getClass().getName()+" 姝e湪鍚戜笅鍚屾");
+        //System.out.println("sync."+this.getClass().getName()+" 姝e湪鍚戜笅鍚屾");
         setSyncComplete(true);
         if (getNext() != null) {
             getNext().sync();
diff --git a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/sync/up/BaseSync.java b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/sync/up/BaseSync.java
index 3bc94f0..1c2efd3 100644
--- a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/sync/up/BaseSync.java
+++ b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/sync/up/BaseSync.java
@@ -14,7 +14,7 @@
     }
 
     public void sync() {
-        System.out.println("sync."+this.getClass().getName()+" 姝e湪鍚戜笂鍚屾");
+        //System.out.println("sync."+this.getClass().getName()+" 姝e湪鍚戜笂鍚屾");
         if (hasMore()) {
             syncComplete = false;
             doSync();
diff --git a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/sync/up/FileUpSync.java b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/sync/up/FileUpSync.java
index fb6e987..03c1999 100644
--- a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/sync/up/FileUpSync.java
+++ b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/sync/up/FileUpSync.java
@@ -32,9 +32,6 @@
             FileWriter fw0 = new FileWriter(f0);
             fw0.write("test1");
             fw0.close();
-            if (file != null && file.exists()) {
-                System.out.println("exists");
-            }
             RequestParams params = new RequestParams(AppApi.BASE_URL + AppApi.FILE_SYNCHRON);
             params.addBodyParameter("f0", f0);
             params.addBodyParameter("file", file);
diff --git a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/util/KeyboardUtil.java b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/util/KeyboardUtil.java
new file mode 100644
index 0000000..d07eb26
--- /dev/null
+++ b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/util/KeyboardUtil.java
@@ -0,0 +1,19 @@
+package cn.com.basic.face.util;
+
+import android.app.Activity;
+import android.view.inputmethod.InputMethodManager;
+
+import cn.com.basic.face.base.MainActivity;
+
+public class KeyboardUtil {
+
+    public static void hideSoftKeyboard() {
+        Activity activity = MainActivity.getInstance();
+        InputMethodManager inputMethodManager =
+                (InputMethodManager) activity.getSystemService(
+                        Activity.INPUT_METHOD_SERVICE);
+        inputMethodManager.hideSoftInputFromWindow(
+                activity.getCurrentFocus().getWindowToken(), 0);
+    }
+
+}
diff --git a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/util/SurveillanceQueryItemUtil.java b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/util/SurveillanceQueryItemUtil.java
index ceccc0d..71c0940 100644
--- a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/util/SurveillanceQueryItemUtil.java
+++ b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/util/SurveillanceQueryItemUtil.java
@@ -40,6 +40,7 @@
             addItem(returnItem, requestItem, cameraInOrOut);
         }
         removeTimeoutItemAndShow();
+        limitItemsToN();
     }
 
     public void addItem(SurveillanceQueryItem returnItem, SurveillanceQueryItem requestItem, String cameraInOrOut) {
@@ -55,6 +56,44 @@
         returnItem.setWidth(requestItem.getWidth());
         returnItem.setHeight(requestItem.getHeight());
         allItems.add(0, returnItem);
+    }
+
+    private void limitItemsToN() {
+        int max = 25;
+        int unRegisters = 0;
+        int checkIns = 0;
+        int attenderEnter = 0;
+        int attenderExit = 0;
+        List<SurveillanceQueryItem> itemsToRemove = new ArrayList<>();
+        for (int i = 0; i < allItems.size(); i++) {
+            SurveillanceQueryItem item = allItems.get(i);
+            int type = item.getRegisterOrCheckIn();
+            if (type == CommonVariables.Surveillance.VISIT_REGISTER_ITEM_TYPE) {
+                unRegisters++;
+                if (unRegisters > max) {
+                    itemsToRemove.add(item);
+                }
+            }
+            if (type == CommonVariables.Surveillance.VISIT_CHECK_IN_ITEM_TYPE) {
+                checkIns++;
+                if (checkIns > max) {
+                    itemsToRemove.add(item);
+                }
+            }
+            if (type == CommonVariables.Surveillance.VISIT_ATTENDANCE_IN) {
+                attenderEnter++;
+                if (attenderEnter > max) {
+                    itemsToRemove.add(item);
+                }
+            }
+            if (type == CommonVariables.Surveillance.VISIT_ATTENDANCE_OUT) {
+                attenderExit++;
+                if (attenderExit > max) {
+                    itemsToRemove.add(item);
+                }
+            }
+        }
+        allItems.removeAll(itemsToRemove);
     }
 
     public List getVisitorTwoRows() {
@@ -176,16 +215,16 @@
 
     public void removeTimeoutItemAndShow() {
         List itemsToRemove = new ArrayList();
-//        for (SurveillanceQueryItem item : allItems) {
-//            if (item.getRegisterOrCheckIn() == CommonVariables.Surveillance.VISIT_REGISTER_ITEM_TYPE) {
-//                Date now = new Date();
-//                Date createTime = item.getCreateTime();
-//                double minutes = (now.getTime() - createTime.getTime())*1.0 / 1000 / 60;
-//                if (minutes >= 5) {
-//                    itemsToRemove.add(item);
-//                }
-//            }
-//        }
+        for (SurveillanceQueryItem item : allItems) {
+            if (item.getRegisterOrCheckIn() == CommonVariables.Surveillance.VISIT_REGISTER_ITEM_TYPE) {
+                Date now = new Date();
+                Date createTime = item.getCreateTime();
+                double minutes = (now.getTime() - createTime.getTime())*1.0 / 1000 / 60;
+                if (minutes >= 5) {
+                    itemsToRemove.add(item);
+                }
+            }
+        }
         allItems.removeAll(itemsToRemove);
         SurveillanceFragment.getInstance().get_fragment_supervisory_bottom_visitor_list_view().show(SurveillanceQueryItemUtil.getInstance().getVisitorTwoRows());
         SurveillanceFragment.getInstance().get_fragment_supervisory_bottom_attendance_list_view().show(SurveillanceQueryItemUtil.getInstance().getAttendanceTwoRows());
diff --git a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/util/UnknownSurveillanceQueryItemUtil.java b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/util/UnknownSurveillanceQueryItemUtil.java
index 4f907a9..466c526 100644
--- a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/util/UnknownSurveillanceQueryItemUtil.java
+++ b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/util/UnknownSurveillanceQueryItemUtil.java
@@ -19,10 +19,21 @@
     static List<SurveillanceQueryItem> allItems = new ArrayList<>();
 
     public void addItems(List<SurveillanceQueryItem> unknownItems) {
-        allItems.addAll(unknownItems);
+        allItems.addAll(0, unknownItems);
+        limitItemsTo50();
         removeTimeoutItemAndShow();
     }
 
+    private void limitItemsTo50() {
+        if (allItems.size() > 50) {
+            List<SurveillanceQueryItem> itemsToRemove = new ArrayList<>();
+            for (int i = 50; i < allItems.size(); i++) {
+                itemsToRemove.add(allItems.get(i));
+            }
+            allItems.removeAll(itemsToRemove);
+        }
+    }
+
     public void removeTimeoutItemAndShow() {
         synchronized (this) {
             List itemsToRemove = new ArrayList();

--
Gitblit v1.8.0