From 46a8044f3449c6e9a884c90477ada5a5e6879367 Mon Sep 17 00:00:00 2001
From: xuxiuxi <xuxiuxi@454eff88-639b-444f-9e54-f578c98de674>
Date: 星期二, 01 八月 2017 17:37:39 +0800
Subject: [PATCH]
---
VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/util/UnknownSurveillanceQueryItemUtil.java | 57 ++++++++++++++++++++++++++++++++++++++++++++-------------
1 files changed, 44 insertions(+), 13 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 5d83c8a..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
@@ -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,27 +16,46 @@
return instance;
}
- List<SurveillanceQueryItem> allItems = new ArrayList<>();
+ 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() {
- List itemsToRemove = new ArrayList();
- for (SurveillanceQueryItem item : allItems) {
- if (item.getRegisterOrCheckIn() == CommonVariables.Surveillance.VISIT_UNKNOWN_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() {
@@ -43,10 +63,21 @@
}
public List getAllUnregisterVisitorTwoRowsForSelect(long selectedId) {
+ select(allItems, selectedId);
return allItems;
}
+ public void select(List<SurveillanceQueryItem> items, long selectedId) {
+ for (SurveillanceQueryItem item : items) {
+ item.setSurveillancePhotoSelected(false);
+ if (item.getIdForSelect() == selectedId) {
+ item.setSurveillancePhotoSelected(true);
+ }
+ }
+ }
+
public List getAllUnregisterAttenderTwoRowsForSelect(long selectedId) {
+ select(allItems, selectedId);
return allItems;
}
--
Gitblit v1.8.0