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