From f6c45041ce6e8b9f0ab0da6b94f3970fb479d7da Mon Sep 17 00:00:00 2001
From: xuxiuxi <xuxiuxi@454eff88-639b-444f-9e54-f578c98de674>
Date: 星期二, 02 五月 2017 09:55:32 +0800
Subject: [PATCH] 

---
 VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/SurveillanceMng.java                                 |   26 ++++++
 VisitFace/DemoForBsk/app/src/main/res/layout/fragment_surveillance_bottom_attendance_cell.xml                         |   49 ++++++++++++
 VisitFace/DemoForBsk/app/src/main/res/layout/fragment_surveillance.xml                                                |    4 
 VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/discern/query/item/SurveillanceQueryItem.java                |    9 ++
 VisitFace/DemoForBsk/app/src/main/res/layout/fragment_surveillance_bottom_attendance_blank_cell.xml                   |    7 +
 VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/fragment/SurveillanceFragment.java                           |   50 ++++++++----
 VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/widget/surveilance/SurveillanceBottomAttendanceListView.java |   18 ++--
 VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/widget/surveilance/SurveillanceBottomVisitorListView.java    |   14 +-
 VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/adapter/SurveillanceFragment.java                            |   56 +++++++++++++
 VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/discern/common/CommonVariables.java                          |    1 
 10 files changed, 196 insertions(+), 38 deletions(-)

diff --git a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/adapter/SurveillanceFragment.java b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/adapter/SurveillanceFragment.java
index d333a80..5fe87a6 100644
--- a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/adapter/SurveillanceFragment.java
+++ b/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);
+        }
+    }
 }
diff --git a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/discern/common/CommonVariables.java b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/discern/common/CommonVariables.java
index 3dfa8e0..98e387a 100644
--- a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/discern/common/CommonVariables.java
+++ b/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;
diff --git a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/discern/query/item/SurveillanceQueryItem.java b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/discern/query/item/SurveillanceQueryItem.java
index 951b54c..4b5b712 100644
--- a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/discern/query/item/SurveillanceQueryItem.java
+++ b/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;
+	}
 }
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 e67aaa7..b387c10 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,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();
             }
         });
     }
diff --git a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/SurveillanceMng.java b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/SurveillanceMng.java
index 4f537ed..3189a6b 100644
--- a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/SurveillanceMng.java
+++ b/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);
                 }
 
             }
diff --git a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/widget/surveilance/SurveillanceBottomListView.java b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/widget/surveilance/SurveillanceBottomAttendanceListView.java
similarity index 76%
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
index 2cc0888..2cfced6 100644
--- a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/widget/surveilance/SurveillanceBottomListView.java
+++ b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/widget/surveilance/SurveillanceBottomAttendanceListView.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);
     }
diff --git a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/widget/surveilance/SurveillanceBottomListView.java b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/widget/surveilance/SurveillanceBottomVisitorListView.java
similarity index 80%
rename from VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/widget/surveilance/SurveillanceBottomListView.java
rename to VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/widget/surveilance/SurveillanceBottomVisitorListView.java
index 2cc0888..81d61a6 100644
--- a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/widget/surveilance/SurveillanceBottomListView.java
+++ b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/widget/surveilance/SurveillanceBottomVisitorListView.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);
     }
diff --git a/VisitFace/DemoForBsk/app/src/main/res/layout/fragment_surveillance.xml b/VisitFace/DemoForBsk/app/src/main/res/layout/fragment_surveillance.xml
index bcce184..e64e4bc 100644
--- a/VisitFace/DemoForBsk/app/src/main/res/layout/fragment_surveillance.xml
+++ b/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"
diff --git a/VisitFace/DemoForBsk/app/src/main/res/layout/fragment_surveillance_bottom_attendance_blank_cell.xml b/VisitFace/DemoForBsk/app/src/main/res/layout/fragment_surveillance_bottom_attendance_blank_cell.xml
new file mode 100644
index 0000000..f2335f1
--- /dev/null
+++ b/VisitFace/DemoForBsk/app/src/main/res/layout/fragment_surveillance_bottom_attendance_blank_cell.xml
@@ -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>
\ No newline at end of file
diff --git a/VisitFace/DemoForBsk/app/src/main/res/layout/fragment_surveillance_bottom_attendance_cell.xml b/VisitFace/DemoForBsk/app/src/main/res/layout/fragment_surveillance_bottom_attendance_cell.xml
new file mode 100644
index 0000000..70dd9db
--- /dev/null
+++ b/VisitFace/DemoForBsk/app/src/main/res/layout/fragment_surveillance_bottom_attendance_cell.xml
@@ -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>
\ No newline at end of file

--
Gitblit v1.8.0