xuxiuxi
2017-05-02 f6c45041ce6e8b9f0ab0da6b94f3970fb479d7da


git-svn-id: http://192.168.1.226/svn/proxy@574 454eff88-639b-444f-9e54-f578c98de674
1 文件已复制
2个文件已添加
1 文件已重命名
6个文件已修改
234 ■■■■ 已修改文件
VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/adapter/SurveillanceFragment.java 56 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/discern/common/CommonVariables.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/discern/query/item/SurveillanceQueryItem.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/fragment/SurveillanceFragment.java 50 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/SurveillanceMng.java 26 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/widget/surveilance/SurveillanceBottomAttendanceListView.java 18 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/widget/surveilance/SurveillanceBottomVisitorListView.java 14 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
VisitFace/DemoForBsk/app/src/main/res/layout/fragment_surveillance.xml 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
VisitFace/DemoForBsk/app/src/main/res/layout/fragment_surveillance_bottom_attendance_blank_cell.xml 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
VisitFace/DemoForBsk/app/src/main/res/layout/fragment_surveillance_bottom_attendance_cell.xml 49 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/adapter/SurveillanceFragment.java
@@ -24,9 +24,9 @@
public class SurveillanceFragment {
    public static class SurveillanceBottomListViewAdapter extends EasyRecyclerViewAdapter {
    public static class SurveillanceBottomVisitorListViewAdapter extends EasyRecyclerViewAdapter {
        private Context context;
        public SurveillanceBottomListViewAdapter(Context context) {
        public SurveillanceBottomVisitorListViewAdapter(Context context) {
            this.context = context;
        }
@@ -201,4 +201,56 @@
        }
    }
    public static class SurveillanceBottomAttendanceListViewAdapter extends EasyRecyclerViewAdapter {
        private Context context;
        public SurveillanceBottomAttendanceListViewAdapter(Context context) {
            this.context = context;
        }
        @Override
        public int[] getItemLayouts() {
            return new int[]{R.layout.fragment_surveillance_bottom_attendance_cell, R.layout.fragment_surveillance_bottom_attendance_blank_cell};
        }
        @Override
        public void onBindRecycleViewHolder(EasyRecyclerViewHolder viewHolder, int position) {
            RelativeLayout mLayout = viewHolder.findViewById(R.id.fragment_supervisory_bottom_attendance_cell_relative_layout);
            ViewGroup.LayoutParams layoutParams = mLayout.getLayoutParams();
            layoutParams.height = WindowsUtil.dip2px(context, 127);
            layoutParams.width = WindowsUtil.dip2px(context, 122);
            mLayout.setLayoutParams(layoutParams);
            ImageView fragment_home_bottom_attendance_cell_photo = (ImageView) mLayout.findViewById(R.id.fragment_home_bottom_attendance_cell_photo);
            TextView fragment_home_bottom_attendance_cell_name = (TextView) mLayout.findViewById(R.id.fragment_home_bottom_attendance_cell_name);
            TextView fragment_home_bottom_attendance_cell_status = (TextView) mLayout.findViewById(R.id.fragment_home_bottom_attendance_cell_status);
            Object data = this.getItem(position);
            fragment_home_bottom_attendance_cell_name.setText("");
            if (data instanceof SurveillanceQueryItem) {
                final SurveillanceQueryItem item = (SurveillanceQueryItem)data;
                fragment_home_bottom_attendance_cell_name.setText(item.getUsername());
                if (item.getImagePath() != null && !item.getImagePath().equals("")) {
                    fragment_home_bottom_attendance_cell_photo.setImageURI(Uri.parse(AppApi.IMAGE_URL_BASE +item.getImagePath()));
                } else {
                    if (item.getBitmap() != null) {
                        fragment_home_bottom_attendance_cell_photo.setImageBitmap(item.getBitmap());
                    } else {
                        fragment_home_bottom_attendance_cell_photo.setImageResource(R.drawable.u45);
                    }
                }
                fragment_home_bottom_attendance_cell_status.setText(item.getStatus());
            }
        }
        @Override
        public int getRecycleViewItemType(int position) {
            return 0;
        }
        private CheckInQueryItem getVo(SurveillanceQueryItem item) {
            return JSON.parseObject(JSON.toJSONString(item), CheckInQueryItem.class);
        }
    }
}
VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/discern/common/CommonVariables.java
@@ -65,6 +65,7 @@
        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 VISIT_ATTENDANCE_ITEM_TYPE = 4;
        public static final int REGISTER_CELL_VIEW_INDEX = 0;
        public static final int CHECK_IN_CELL_VIEW_INDEX = 1;
VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/discern/query/item/SurveillanceQueryItem.java
@@ -20,6 +20,8 @@
    private int registerOrCheckIn;
    // 进摄像头或出摄像头
    private String inOrOutCamera;
    // 状态
    private String status;
    private Bitmap bitmap;
@@ -178,4 +180,11 @@
        this.base64Image = base64Image;
    }
    public String getStatus() {
        return status;
    }
    public void setStatus(String status) {
        this.status = status;
    }
}
VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/fragment/SurveillanceFragment.java
@@ -1,14 +1,11 @@
package cn.com.basic.face.fragment;
import android.graphics.Bitmap;
import android.os.Bundle;
import android.view.Surface;
import android.view.SurfaceView;
import android.view.View;
import android.widget.RadioButton;
import android.widget.RadioGroup;
import android.widget.TextView;
import android.widget.VideoView;
import com.bsk.zhangbo.demoforbsk.R;
@@ -18,9 +15,11 @@
import cn.com.basic.face.util.RtspFaceNative;
import cn.com.basic.face.service.SurveillanceMng;
import cn.com.basic.face.widget.surveilance.SurveillanceBottomListView;
import cn.com.basic.face.widget.surveilance.SurveillanceBottomAttendanceListView;
import cn.com.basic.face.widget.surveilance.SurveillanceBottomVisitorListView;
import com.lidroid.xutils.view.annotation.ViewInject;
import com.lidroid.xutils.view.annotation.event.OnClick;
import java.text.SimpleDateFormat;
import java.util.Date;
@@ -36,9 +35,9 @@
    @ViewInject(R.id.fragment_supervisory_bottom_attendance_background)
    private View fragment_supervisory_bottom_attendance_background;
    @ViewInject(R.id.fragment_supervisory_bottom_visit_list_view)
    private SurveillanceBottomListView fragment_supervisory_bottom_visit_list_view;
    private SurveillanceBottomVisitorListView fragment_supervisory_bottom_visit_list_view;
    @ViewInject(R.id.fragment_supervisory_bottom_attendance_list_view)
    private SurveillanceBottomListView fragment_supervisory_bottom_attendance_list_view;
    private SurveillanceBottomAttendanceListView fragment_supervisory_bottom_attendance_list_view;
    @ViewInject(R.id.fragment_supervisory_enter_camera)
    SurfaceView fragment_supervisory_enter_camera;
    @ViewInject(R.id.fragment_supervisory_exit_camera)
@@ -69,12 +68,12 @@
        return instance;
    }
    public SurveillanceBottomListView get_fragment_supervisory_bottom_visit_list_view() {
    public SurveillanceBottomVisitorListView get_fragment_supervisory_bottom_visitor_list_view() {
        return fragment_supervisory_bottom_visit_list_view;
    }
    public SurveillanceBottomListView get_fragment_supervisory_bottom_attendance_list_view() {
        return fragment_supervisory_bottom_visit_list_view;
    public SurveillanceBottomAttendanceListView get_fragment_supervisory_bottom_attendance_list_view() {
        return fragment_supervisory_bottom_attendance_list_view;
    }
    @Override
@@ -92,10 +91,11 @@
                        MainActivity.getInstance().runOnUiThread(new Runnable() {
                            public void run() {
                                RtspFaceNative.setSurface(1, fragment_supervisory_enter_camera.getHolder().getSurface());
                                //RtspFaceNative.setSurface(2, fragment_supervisory_exit_camera.getHolder().getSurface());
                                RtspFaceNative.setSurface(2, fragment_supervisory_exit_camera.getHolder().getSurface());
                                RtspFaceNative.createPlayer(1, "rtsp://admin:admin12345@192.168.1.70:554/h264/ch1/sub/av_stream");
                                //RtspFaceNative.createPlayer(2, "rtsp://admin:admin12345@192.168.1.70:554/h264/ch1/sub/av_stream");
                                RtspFaceNative.createPlayer(2, "rtsp://admin:admin12345@192.168.1.70:554/h264/ch1/sub/av_stream");
                                RtspFaceNative.setFaceCallback(1, "cn/com/basic/face/util/RtspFaceNative", "faceCallBack");
                                RtspFaceNative.setFaceCallback(2, "cn/com/basic/face/util/RtspFaceNative", "faceCallBack");
                            }
                        });
@@ -123,16 +123,34 @@
        reloadBottomList();
    }
    @OnClick(R.id.fragment_supervisory_bottom_visitor_radio_button)
    public void fragment_supervisory_bottom_visitor_radio_button_click(View view) {
        fragment_supervisory_bottom_visitor_background.setVisibility(fragment_supervisory_bottom_visitor_radio_button.isChecked()?View.VISIBLE:View.GONE);
        fragment_supervisory_bottom_visit_list_view.setVisibility(fragment_supervisory_bottom_visitor_radio_button.isChecked()?View.VISIBLE:View.GONE);
        fragment_supervisory_bottom_attendance_background.setVisibility(!fragment_supervisory_bottom_visitor_radio_button.isChecked()?View.VISIBLE:View.GONE);
        fragment_supervisory_bottom_attendance_list_view.setVisibility(!fragment_supervisory_bottom_visitor_radio_button.isChecked()?View.VISIBLE:View.GONE);
        reloadBottomList();
    }
    @OnClick(R.id.fragment_supervisory_bottom_attendance_radio_button)
    public void fragment_supervisory_bottom_attendance_radio_button_click(View view) {
        fragment_supervisory_bottom_visitor_background.setVisibility(fragment_supervisory_bottom_visitor_radio_button.isChecked()?View.VISIBLE:View.GONE);
        fragment_supervisory_bottom_visit_list_view.setVisibility(fragment_supervisory_bottom_visitor_radio_button.isChecked()?View.VISIBLE:View.GONE);
        fragment_supervisory_bottom_attendance_background.setVisibility(!fragment_supervisory_bottom_visitor_radio_button.isChecked()?View.VISIBLE:View.GONE);
        fragment_supervisory_bottom_attendance_list_view.setVisibility(!fragment_supervisory_bottom_visitor_radio_button.isChecked()?View.VISIBLE:View.GONE);
        reloadBottomList();
    }
    @Override
    protected void initListeners() {
        fragment_supervisory_bottom_left_radio_group.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
            @Override
            public void onCheckedChanged(RadioGroup group, int checkedId) {
                fragment_supervisory_bottom_visitor_background.setVisibility(fragment_supervisory_bottom_visitor_radio_button.isChecked()?View.VISIBLE:View.GONE);
                fragment_supervisory_bottom_visit_list_view.setVisibility(fragment_supervisory_bottom_visitor_radio_button.isChecked()?View.VISIBLE:View.GONE);
                fragment_supervisory_bottom_attendance_background.setVisibility(!fragment_supervisory_bottom_visitor_radio_button.isChecked()?View.VISIBLE:View.GONE);
                fragment_supervisory_bottom_attendance_list_view.setVisibility(!fragment_supervisory_bottom_visitor_radio_button.isChecked()?View.VISIBLE:View.GONE);
                reloadBottomList();
//                fragment_supervisory_bottom_visitor_background.setVisibility(fragment_supervisory_bottom_visitor_radio_button.isChecked()?View.VISIBLE:View.GONE);
//                fragment_supervisory_bottom_visit_list_view.setVisibility(fragment_supervisory_bottom_visitor_radio_button.isChecked()?View.VISIBLE:View.GONE);
//                fragment_supervisory_bottom_attendance_background.setVisibility(!fragment_supervisory_bottom_visitor_radio_button.isChecked()?View.VISIBLE:View.GONE);
//                fragment_supervisory_bottom_attendance_list_view.setVisibility(!fragment_supervisory_bottom_visitor_radio_button.isChecked()?View.VISIBLE:View.GONE);
//                reloadBottomList();
            }
        });
    }
VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/SurveillanceMng.java
@@ -30,6 +30,14 @@
        if (!BaseApplication.deviceAvailable) {
            return;
        }
        List attendanceList = new ArrayList();
        for (int i = 0; i < 10; i++) {
            SurveillanceQueryItem item = new SurveillanceQueryItem();
            item.setInOrOutCamera(CommonVariables.Camera.IN);
            item.setUsername("zhangsan");
            attendanceList.add(item);
        }
        SurveillanceFragment.getInstance().get_fragment_supervisory_bottom_attendance_list_view().show(attendanceList);
    }
    public void addBitmap(final List<SurveillanceQueryItem> bitmapList, byte[] byteArray, int len, String cameraInOrOut) {
@@ -44,9 +52,12 @@
        x.http().post(params, new BaseCommonCallBack() {
            public void success() {
                List<SurveillanceQueryItem> items = getList(SurveillanceQueryItem.class);
                List prevVisitorList = SurveillanceFragment.getInstance().get_fragment_supervisory_bottom_visit_list_view().getPrevList();
                List prevVisitorList = SurveillanceFragment.getInstance().get_fragment_supervisory_bottom_visitor_list_view().getPrevList();
                List prevAttendanceList = SurveillanceFragment.getInstance().get_fragment_supervisory_bottom_attendance_list_view().getPrevList();
                List newVisitorList = new ArrayList();
                List newAttendanceList = new ArrayList();
                for (int i = 0; items != null && i < items.size(); i++) {
                    SurveillanceQueryItem item = items.get(i);
@@ -63,12 +74,23 @@
                            item.setHeight(surveillanceQueryItem.getHeight());
                        }
                    }
                    if (type ==  CommonVariables.Surveillance.VISIT_ATTENDANCE_ITEM_TYPE) {
                        newAttendanceList.add(item);
                    }
                }
                if (newVisitorList.size() > 0) {
                    prevVisitorList.addAll(0, newVisitorList);
                    registerTopAndCheckInBottom(prevVisitorList);
                    SurveillanceFragment.getInstance().get_fragment_supervisory_bottom_visit_list_view().show(prevVisitorList);
                    SurveillanceFragment.getInstance().get_fragment_supervisory_bottom_visitor_list_view().show(prevVisitorList);
                }
                if (newAttendanceList.size() > 0) {
                    prevAttendanceList.addAll(0, newAttendanceList);
                    if (prevAttendanceList.size() > 20) {
                        prevAttendanceList = prevAttendanceList.subList(0, 20);
                    }
                    SurveillanceFragment.getInstance().get_fragment_supervisory_bottom_attendance_list_view().show(prevAttendanceList);
                }
            }
VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/widget/surveilance/SurveillanceBottomAttendanceListView.java
copy from VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/widget/surveilance/SurveillanceBottomListView.java copy to VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/widget/surveilance/SurveillanceBottomAttendanceListView.java
File was copied from VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/widget/surveilance/SurveillanceBottomListView.java
@@ -14,17 +14,17 @@
import java.util.ArrayList;
import java.util.List;
import cn.com.basic.face.adapter.SurveillanceFragment.SurveillanceBottomListViewAdapter;
import cn.com.basic.face.adapter.SurveillanceFragment;
import cn.com.basic.face.base.MainActivity;
import cn.com.basic.face.util.WindowsUtil;
public class SurveillanceBottomListView extends EasyRecyclerView {
public class SurveillanceBottomAttendanceListView extends EasyRecyclerView {
    private Parcelable recyclerViewState;
    private class SpaceItemDecoration extends RecyclerView.ItemDecoration {
    private class SpaceItemDecoration extends ItemDecoration {
        @Override
        public void getItemOffsets(Rect outRect, View view, RecyclerView parent, RecyclerView.State state) {
        public void getItemOffsets(Rect outRect, View view, RecyclerView parent, State state) {
            super.getItemOffsets(outRect, view, parent, state);
            outRect.right = WindowsUtil.dip2px(MainActivity.getInstance(), 15);
@@ -44,27 +44,27 @@
        setLayoutManager(gridLayoutManager);
    }
    private SurveillanceBottomListViewAdapter mAdapter;
    private SurveillanceFragment.SurveillanceBottomAttendanceListViewAdapter mAdapter;
    private List list = new ArrayList();
    public void setAdapter(Context context) {
        mAdapter = new SurveillanceBottomListViewAdapter(context);
        mAdapter = new SurveillanceFragment.SurveillanceBottomAttendanceListViewAdapter(context);
        mAdapter.setList(list);
        setAdapter(mAdapter);
        initLayout();
    }
    public SurveillanceBottomListView(Context context) {
    public SurveillanceBottomAttendanceListView(Context context) {
        super(context);
        setAdapter(context);
    }
    public SurveillanceBottomListView(Context context, AttributeSet attrs) {
    public SurveillanceBottomAttendanceListView(Context context, AttributeSet attrs) {
        super(context, attrs);
        setAdapter(context);
    }
    public SurveillanceBottomListView(Context context, AttributeSet attrs, int defStyle) {
    public SurveillanceBottomAttendanceListView(Context context, AttributeSet attrs, int defStyle) {
        super(context, attrs, defStyle);
        setAdapter(context);
    }
VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/widget/surveilance/SurveillanceBottomVisitorListView.java
File was renamed from VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/widget/surveilance/SurveillanceBottomListView.java
@@ -14,11 +14,11 @@
import java.util.ArrayList;
import java.util.List;
import cn.com.basic.face.adapter.SurveillanceFragment.SurveillanceBottomListViewAdapter;
import cn.com.basic.face.adapter.SurveillanceFragment;
import cn.com.basic.face.base.MainActivity;
import cn.com.basic.face.util.WindowsUtil;
public class SurveillanceBottomListView extends EasyRecyclerView {
public class SurveillanceBottomVisitorListView extends EasyRecyclerView {
    private Parcelable recyclerViewState;
@@ -44,27 +44,27 @@
        setLayoutManager(gridLayoutManager);
    }
    private SurveillanceBottomListViewAdapter mAdapter;
    private SurveillanceFragment.SurveillanceBottomVisitorListViewAdapter mAdapter;
    private List list = new ArrayList();
    public void setAdapter(Context context) {
        mAdapter = new SurveillanceBottomListViewAdapter(context);
        mAdapter = new SurveillanceFragment.SurveillanceBottomVisitorListViewAdapter(context);
        mAdapter.setList(list);
        setAdapter(mAdapter);
        initLayout();
    }
    public SurveillanceBottomListView(Context context) {
    public SurveillanceBottomVisitorListView(Context context) {
        super(context);
        setAdapter(context);
    }
    public SurveillanceBottomListView(Context context, AttributeSet attrs) {
    public SurveillanceBottomVisitorListView(Context context, AttributeSet attrs) {
        super(context, attrs);
        setAdapter(context);
    }
    public SurveillanceBottomListView(Context context, AttributeSet attrs, int defStyle) {
    public SurveillanceBottomVisitorListView(Context context, AttributeSet attrs, int defStyle) {
        super(context, attrs, defStyle);
        setAdapter(context);
    }
VisitFace/DemoForBsk/app/src/main/res/layout/fragment_surveillance.xml
@@ -176,13 +176,13 @@
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:background="@android:color/white">
            <cn.com.basic.face.widget.surveilance.SurveillanceBottomListView
            <cn.com.basic.face.widget.surveilance.SurveillanceBottomVisitorListView
                android:id="@+id/fragment_supervisory_bottom_visit_list_view"
                android:layout_width="wrap_content"
                android:layout_height="match_parent"
                android:orientation="vertical"/>
            <cn.com.basic.face.widget.surveilance.SurveillanceBottomListView
            <cn.com.basic.face.widget.surveilance.SurveillanceBottomAttendanceListView
                android:id="@+id/fragment_supervisory_bottom_attendance_list_view"
                android:layout_width="wrap_content"
                android:layout_height="match_parent"
VisitFace/DemoForBsk/app/src/main/res/layout/fragment_surveillance_bottom_attendance_blank_cell.xml
New file
@@ -0,0 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/fragment_home_bottom_register_cell_relative_layout"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content">
</RelativeLayout>
VisitFace/DemoForBsk/app/src/main/res/layout/fragment_surveillance_bottom_attendance_cell.xml
New file
@@ -0,0 +1,49 @@
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/fragment_supervisory_bottom_attendance_cell_relative_layout"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    xmlns:fresco="http://schemas.android.com/apk/res-auto"
    >
    <com.facebook.drawee.view.SimpleDraweeView
        android:id="@+id/fragment_home_bottom_attendance_cell_photo"
        android:layout_width="122dp"
        android:layout_height="127dp"
        fresco:roundedCornerRadius="5dp"
        android:layout_alignParentBottom="true"
        android:scaleType="centerCrop"
        />
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="20dp"
        android:background="#40000000"
        android:layout_alignParentBottom="true">
        <TextView
            android:id="@+id/fragment_home_bottom_attendance_cell_name"
            android:layout_width="@dimen/view_size_0"
            android:layout_height="match_parent"
            android:layout_weight="1"
            android:text=""
            android:textSize="@dimen/text_size_small"
            android:gravity="center"
            android:textColor="@android:color/white"/>
        <View
            android:layout_width="1dp"
            android:layout_height="match_parent"
            android:background="@android:color/white"/>
        <TextView
            android:id="@+id/fragment_home_bottom_attendance_cell_status"
            android:layout_width="@dimen/view_size_0"
            android:layout_height="match_parent"
            android:layout_weight="1"
            android:text="来访登记"
            android:textSize="@dimen/text_size_small"
            android:gravity="center"
            android:textColor="@android:color/white"
            android:background="#00000000"
            />
    </LinearLayout>
</RelativeLayout>