xuxiuxi
2017-08-01 e09e9f8a34cbc99a33dfa9ef1792b0025575c3a8
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;
    }