xuxiuxi
2017-08-01 e09e9f8a34cbc99a33dfa9ef1792b0025575c3a8


git-svn-id: http://192.168.1.226/svn/proxy@956 454eff88-639b-444f-9e54-f578c98de674
1个文件已添加
18个文件已修改
236 ■■■■ 已修改文件
VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/base/BaseFragment.java 27 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/discern/common/BaseCommonCallBack.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/discern/entity/Visit.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/fragment/AttendanceFragment.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/fragment/AttenderRegisterFragment.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/fragment/CheckInFragment.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/fragment/DeviceFragment.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/fragment/PhoneCallFragment.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/fragment/SurveillanceFragment.java 49 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/fragment/VisitFragment.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/fragment/VisitorRegisterFragment.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/InternetAccessThread.java 29 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/sqlite/CheckInDao.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/sync/down/BaseDownSync.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/sync/up/BaseSync.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/sync/up/FileUpSync.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/util/KeyboardUtil.java 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/util/SurveillanceQueryItemUtil.java 59 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/util/UnknownSurveillanceQueryItemUtil.java 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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);
            }
        }
    }
}
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() {
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     + 
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
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());
    }
}
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);
    }
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() {
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
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
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
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) {
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;
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;
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()+" 正在向下同步");
        //System.out.println("sync."+this.getClass().getName()+" 正在向下同步");
        setSyncComplete(true);
        if (getNext() != null) {
            getNext().sync();
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()+" 正在向上同步");
        //System.out.println("sync."+this.getClass().getName()+" 正在向上同步");
        if (hasMore()) {
            syncComplete = false;
            doSync();
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);
VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/util/KeyboardUtil.java
New file
@@ -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);
    }
}
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());
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();