xuxiuxi
2017-04-18 2d588d61fdee6506af81d05a59e40fdd519cd50d


git-svn-id: http://192.168.1.226/svn/proxy@471 454eff88-639b-444f-9e54-f578c98de674
5个文件已修改
99 ■■■■ 已修改文件
VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/discern/common/CommonVariables.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/SurveillanceMng.java 31 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/util/RtspFaceNative.java 54 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/widget/surveilance/SurveillanceBottomListView.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
VisitFace/DemoForBsk/app/src/main/jniLibs/armeabi-v7a/librtspface.so 补丁 | 查看 | 原始文档 | blame | 历史
VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/discern/common/CommonVariables.java
@@ -54,4 +54,14 @@
        public static final int reachBottom = 3;
    }
    public static class Surveillance {
        public static final int VISIT_REGISTER_ITEM_TYPE = 1;
        public static final int VISIT_CHECK_IN_ITEM_TYPE = 2;
        public static final int VISIT_BLANK_ITEM_TYPE = 3;
        public static final int REGISTER_CELL_VIEW_INDEX = 0;
        public static final int CHECK_IN_CELL_VIEW_INDEX = 1;
        public static final int VISIT_BLANK_CELL_VIEW_INDEX = 2;
    }
}
VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/SurveillanceMng.java
@@ -10,9 +10,11 @@
import java.util.ArrayList;
import java.util.List;
import cn.com.basic.face.base.BaseApplication;
import cn.com.basic.face.discern.common.BaseCommonCallBack;
import cn.com.basic.face.discern.common.CommonVariables;
import cn.com.basic.face.discern.query.item.SurveillanceQueryItem;
import cn.com.basic.face.fragment.RegisterFragment;
import cn.com.basic.face.fragment.SurveillanceFragment;
import cn.com.basic.face.util.AppApi;
import cn.com.basic.face.util.Constant;
@@ -36,9 +38,9 @@
                    int i = 0;
                    for (SurveillanceQueryItem item : list) {
                        if (i % 5 == 0) {
                            item.setType(Constant.Surveillance.VISIT_REGISTER_ITEM_TYPE);
                            item.setType(CommonVariables.Surveillance.VISIT_REGISTER_ITEM_TYPE);
                        } else {
                            item.setType(Constant.Surveillance.VISIT_CHECK_IN_ITEM_TYPE);
                            item.setType(CommonVariables.Surveillance.VISIT_CHECK_IN_ITEM_TYPE);
                        }
                        i++;
                    }
@@ -76,17 +78,30 @@
    public void addBitmap(final List<Bitmap> bitmapList, byte[] byteArray, int len) {
        RequestParams params = new RequestParams(AppApi.BASE_URL +AppApi.SURVEILLANCE_UPLOAD);
        params.addBodyParameter("base64Photo", Base64.encodeToString(byteArray, 0, len, Base64.DEFAULT));
        params.addBodyParameter("deviceCompanyId", BaseApplication.getInstance().getDevice().getCompanyId());
        params.addBodyParameter("deviceId", BaseApplication.getInstance().getDevice().getDeviceId());
        params.addBodyParameter("enterOrExit", CommonVariables.EnterOrExit.ENTER+"");
        x.http().post(params, new BaseCommonCallBack() {
            public void success() {
                String result = "";
                List list = new ArrayList();
                if (result.equals("visit")) {
                    list.add(0, "");
                } else if (result.equals("register")) {
                    list.add(0, "");
                SurveillanceQueryItem item = getBean(SurveillanceQueryItem.class);
                if (item.getType() == CommonVariables.Surveillance.VISIT_REGISTER_ITEM_TYPE
                        || item.getType() == CommonVariables.Surveillance.VISIT_CHECK_IN_ITEM_TYPE
                        ) {
                    List<SurveillanceQueryItem> doubleList = new ArrayList<SurveillanceQueryItem>();
                    List list = SurveillanceFragment.getInstance().get_fragment_supervisory_bottom_visit_list_view().getPrevList();
                    list.add(0, item);
                    fillBlank(list, doubleList);
                    SurveillanceFragment.getInstance().get_fragment_supervisory_bottom_visit_list_view().show(doubleList, true);
                }
            }
        });
        if (bitmapList != null && bitmapList.size() > 0) {
            //RegisterFragment.getInstance().get_fragment_register_choose_photo().setImageBitmap(bitmapList.get(0));
        }
    }
    private void fillBlank(List<SurveillanceQueryItem> list, List<SurveillanceQueryItem> doubleList) {
VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/util/RtspFaceNative.java
@@ -14,6 +14,10 @@
import cn.com.basic.face.fragment.RegisterFragment;
import cn.com.basic.face.service.SurveillanceMng;
/**
 * Created by houxiao on 2017/3/21 0021.
 */
class NativeImgIdx {
    public int offset;
    public int size;
@@ -25,7 +29,18 @@
class RefByteArray
{
    public byte[] arr;
    public byte[][] arr2;
}
class NativeImg
{
    public int size;
    public int type;
    public int width;
    public int height;
    public byte[] image;
}
public class RtspFaceNative {
@@ -41,7 +56,8 @@
    public static native void lockFace(int cameraIdx);
    public static native void releaseFace(int cameraIdx);
    public static native int getFaceList(int cameraIdx, RefByteArray faceListPb);
    public static native ArrayList<NativeImgIdx> getFaceImages(int cameraIdx, RefByteArray faceImages);
    //public static native ArrayList<NativeImgIdx> getFaceImages(int cameraIdx, RefByteArray faceImages);
    public static native ArrayList<NativeImg> getFaceImages(int cameraIdx);
    public static void faceCallBack(int cameraIdx, int count)
    {
@@ -57,24 +73,38 @@
        int s = getFaceList(cameraIdx, faceListPb);
        Log.i("@@@", "RtspFaceNative.faceCallBack, getFaceList, cameraIdx=" + cameraIdx + ", size=" + s);
        RefByteArray faceImages = new RefByteArray();
        ArrayList<NativeImgIdx> faceImagesIdx = getFaceImages(cameraIdx, faceImages);
        //RefByteArray faceImages = new RefByteArray();
        //ArrayList<NativeImgIdx> faceImagesIdx = getFaceImages(cameraIdx, faceImages);
        //int c = 0;
        //if (faceImagesIdx != null)
        //    c = faceImagesIdx.size();
        //Log.i("@@@", "RtspFaceNative.faceCallBack, getFaceImages, cameraIdx=" + cameraIdx + ", count=" + c);
        ArrayList<NativeImg> faceImages = getFaceImages(cameraIdx);
        int c = 0;
        if (faceImagesIdx != null)
            c = faceImagesIdx.size();
        if (faceImages != null)
            c = faceImages.size();
        Log.i("@@@", "RtspFaceNative.faceCallBack, getFaceImages, cameraIdx=" + cameraIdx + ", count=" + c);
        for (int i = 0; i < c; i++)
        {
            Log.i("@@@", "cameraIdx=" + cameraIdx +
                    ", i=" + i +
                    ", size=" + faceImages.get(i).size+
                    ", w=" + faceImages.get(i).width +
                    ", h=" + faceImages.get(i).height +
                    ", image[0]=" + faceImages.get(i).image[0] +
                    ", image[1]=" + faceImages.get(i).image[1]);
        }
        try{
            List<Bitmap> bitmapList = new ArrayList();
            for (int i = 0; i < faceImagesIdx.size(); i++) {
                if (i >= 1) {
                    break;
                }
                NativeImgIdx item = faceImagesIdx.get(i);
                int offset = item.offset;
            for (int i = 0; i < faceImages.size(); i++) {
                NativeImg item = faceImages.get(i);
                int offset = 0;
                int size = item.size;
                Bitmap bitmap = Bitmap.createBitmap(item.width,item.height, Bitmap.Config.RGB_565);
                ByteBuffer byteBuffer = ByteBuffer.wrap(faceImages.arr, offset, size);
                ByteBuffer byteBuffer = ByteBuffer.wrap(item.image, offset, size);
                bitmap.copyPixelsFromBuffer(byteBuffer);
                bitmapList.add(bitmap);
            }
VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/widget/surveilance/SurveillanceBottomListView.java
@@ -77,4 +77,8 @@
        this.setAdapter(mAdapter);
    }
    public List getPrevList() {
        return this.list;
    }
}
VisitFace/DemoForBsk/app/src/main/jniLibs/armeabi-v7a/librtspface.so
Binary files differ