From 34c342a8401a76636a3434d3df2d345cae6e88a7 Mon Sep 17 00:00:00 2001
From: xuxiuxi <xuxiuxi@454eff88-639b-444f-9e54-f578c98de674>
Date: 星期日, 23 七月 2017 15:16:29 +0800
Subject: [PATCH] 

---
 VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/util/UnknownSurveillanceQueryItemUtil.java |   32 ++++++++++++++++++++------------
 1 files changed, 20 insertions(+), 12 deletions(-)

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 3d4481f..2112147 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
@@ -4,6 +4,7 @@
 import java.util.Date;
 import java.util.List;
 
+import cn.com.basic.face.base.MainActivity;
 import cn.com.basic.face.discern.common.CommonVariables;
 import cn.com.basic.face.discern.query.item.SurveillanceQueryItem;
 import cn.com.basic.face.fragment.SurveillanceFragment;
@@ -15,7 +16,7 @@
         return instance;
     }
 
-    List<SurveillanceQueryItem> allItems = new ArrayList<>();
+    static List<SurveillanceQueryItem> allItems = new ArrayList<>();
 
     public void addItems(List<SurveillanceQueryItem> unknownItems) {
         allItems.addAll(unknownItems);
@@ -23,20 +24,27 @@
     }
 
     public void removeTimeoutItemAndShow() {
-        List itemsToRemove = new ArrayList();
-        for (SurveillanceQueryItem item : allItems) {
-            if (item.getRegisterOrCheckIn() == CommonVariables.Surveillance.OFFLINE_SURVEILLANCE_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);
+        synchronized (this) {
+            List itemsToRemove = new ArrayList();
+            for (SurveillanceQueryItem item : allItems) {
+                if (item.getRegisterOrCheckIn() == CommonVariables.Surveillance.OFFLINE_SURVEILLANCE_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);
         }
-        allItems.removeAll(itemsToRemove);
-        SurveillanceFragment.getInstance().get_fragment_supervisory_bottom_visitor_list_view().show(UnknownSurveillanceQueryItemUtil.getInstance().getUnknownTwoRows());
-        SurveillanceFragment.getInstance().get_fragment_supervisory_bottom_attendance_list_view().show(new ArrayList());
+        MainActivity.getInstance().runOnUiThread(new Runnable() {
+            @Override
+            public void run() {
+                SurveillanceFragment.getInstance().get_fragment_supervisory_bottom_visitor_list_view().show(UnknownSurveillanceQueryItemUtil.getInstance().getUnknownTwoRows());
+                SurveillanceFragment.getInstance().get_fragment_supervisory_bottom_attendance_list_view().show(new ArrayList());
+            }
+        });
     }
 
     private List getUnknownTwoRows() {

--
Gitblit v1.8.0