From b7fd23fb1b9d04eb8fa0d97a5d9747e145605612 Mon Sep 17 00:00:00 2001
From: xuxiuxi <xuxiuxi@454eff88-639b-444f-9e54-f578c98de674>
Date: 星期三, 03 五月 2017 14:33:42 +0800
Subject: [PATCH] 

---
 VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/adapter/SurveillanceFragment.java |  220 +++++++++++++++++++++++++++++++++++++++----------------
 1 files changed, 156 insertions(+), 64 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 ef34297..db65956 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
@@ -8,22 +8,25 @@
 import android.widget.RelativeLayout;
 import android.widget.TextView;
 
+import com.alibaba.fastjson.JSON;
 import com.bsk.zhangbo.demoforbsk.R;
 import com.camnter.easyrecyclerview.adapter.EasyRecyclerViewAdapter;
 import com.camnter.easyrecyclerview.holder.EasyRecyclerViewHolder;
 
 import cn.com.basic.face.base.MainActivity;
-import cn.com.basic.face.discern.query.item.FacePhotoItem;
-import cn.com.basic.face.discern.query.item.SupervisoryQueryItem;
+import cn.com.basic.face.discern.query.item.CheckInQueryItem;
+import cn.com.basic.face.discern.query.item.SurveillanceQueryItem;
+import cn.com.basic.face.fragment.*;
 import cn.com.basic.face.util.AppApi;
+import cn.com.basic.face.util.BitmapUtil;
 import cn.com.basic.face.util.Constant;
 import cn.com.basic.face.util.WindowsUtil;
 
 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;
         }
 
@@ -34,11 +37,11 @@
 
         @Override
         public void onBindRecycleViewHolder(EasyRecyclerViewHolder viewHolder, int position) {
-            switch (((SupervisoryQueryItem)getList().get(position)).getType()){
-                case Constant.Supervisory.VISIT_REGISTER_ITEM_TYPE:
+            switch (((SurveillanceQueryItem)getList().get(position)).getRegisterOrCheckIn()){
+                case Constant.Surveillance.VISIT_REGISTER_ITEM_TYPE:
                     RegisterCellViewFillData(viewHolder,position);
                     break;
-                case Constant.Supervisory.VISIT_CHECK_IN_ITEM_TYPE:
+                case Constant.Surveillance.VISIT_CHECK_IN_ITEM_TYPE:
                     checkInCellViewFillData(viewHolder,position);
                     break;
             }
@@ -46,99 +49,121 @@
 
         @Override
         public int getRecycleViewItemType(int position) {
-            switch (((SupervisoryQueryItem)getList().get(position)).getType()) {
-                case Constant.Supervisory.VISIT_REGISTER_ITEM_TYPE:
-                    return Constant.Supervisory.REGISTER_CELL_VIEW_INDEX;
-                case Constant.Supervisory.VISIT_CHECK_IN_ITEM_TYPE:
-                    return Constant.Supervisory.CHECK_IN_CELL_VIEW_INDEX;
-                case Constant.Supervisory.VISIT_BLANK_ITEM_TYPE:
-                    return Constant.Supervisory.VISIT_BLANK_CELL_VIEW_INDEX;
+            switch (((SurveillanceQueryItem)getList().get(position)).getRegisterOrCheckIn()) {
+                case Constant.Surveillance.VISIT_REGISTER_ITEM_TYPE:
+                    return Constant.Surveillance.REGISTER_CELL_VIEW_INDEX;
+                case Constant.Surveillance.VISIT_CHECK_IN_ITEM_TYPE:
+                    return Constant.Surveillance.CHECK_IN_CELL_VIEW_INDEX;
+                case Constant.Surveillance.VISIT_BLANK_ITEM_TYPE:
+                    return Constant.Surveillance.VISIT_BLANK_CELL_VIEW_INDEX;
             }
-            return Constant.Supervisory.VISIT_BLANK_CELL_VIEW_INDEX;
+            return Constant.Surveillance.VISIT_BLANK_CELL_VIEW_INDEX;
         }
 
         /**
-         * 璁垮->浜哄憳娉ㄥ唽
+         * 浜哄憳娉ㄥ唽
          */
-        private void RegisterCellViewFillData(EasyRecyclerViewHolder holder, int posistion){
+        private void RegisterCellViewFillData(EasyRecyclerViewHolder holder, int position){
 
             RelativeLayout mLayout = holder.findViewById(R.id.fragment_home_bottom_register_cell_relative_layout);
             ViewGroup.LayoutParams layoutParams = mLayout.getLayoutParams();
-            layoutParams.height = WindowsUtil.dip2px(context, 127);
-            layoutParams.width = WindowsUtil.dip2px(context, 104);
+            layoutParams.height = (int)MainActivity.getInstance().getResources().getDimension(R.dimen.h127dp);//WindowsUtil.dip2px(context, 127);
+            layoutParams.width = (int)MainActivity.getInstance().getResources().getDimension(R.dimen.h122dp);//WindowsUtil.dip2px(context, 122);
             mLayout.setLayoutParams(layoutParams);
 
-            final Object data = this.getItem(posistion);
+            final Object data = this.getItem(position);
 
             ImageView fragment_home_bottom_register_cell_photo = holder.findViewById(R.id.fragment_home_bottom_register_cell_photo);
             TextView fragment_home_bottom_register_cell_to_register = holder.findViewById(R.id.fragment_home_bottom_register_cell_to_register);
 
-            if (data instanceof SupervisoryQueryItem) {
-                final SupervisoryQueryItem item = (SupervisoryQueryItem)data;
-                fragment_home_bottom_register_cell_photo.setImageURI(Uri.parse(AppApi.IMAGEURL_BASE +item.getImagePath()));
+            if (data instanceof SurveillanceQueryItem) {
+                final SurveillanceQueryItem item = (SurveillanceQueryItem)data;
+
+                if (item.getImagePath() != null && !item.getImagePath().equals("")) {
+                    fragment_home_bottom_register_cell_photo.setImageURI(Uri.parse(AppApi.IMAGE_URL_BASE +item.getImagePath()));
+                } else {
+                    if (item.getBitmap() != null) {
+                        fragment_home_bottom_register_cell_photo.setImageBitmap(item.getBitmap());
+                    } else {
+                        fragment_home_bottom_register_cell_photo.setImageResource(R.drawable.u45);
+                    }
+                }
+
                 fragment_home_bottom_register_cell_to_register.setOnClickListener(new View.OnClickListener(){
                     @Override
                     public void onClick(View view) {
                         MainActivity.selectPage(1);
-                        //RegisterFragment.getInstance().setRegisterInfo(item);
+                        //RegisterFragment.getInstance().setRegisterInfo(getVo(item));//java.lang.OutOfMemoryError: Failed to allocate a 25338980 byte allocation with 15827186 free bytes and 15MB until OOM
+                        //if(item.getBitmap() != null) {
+                        //    RegisterFragment.getInstance().setChoosePhoto(item.getBitmap());
+                        //    RegisterFragment.getInstance().setSurveillanceQueryItem(item);
+                        //}
                     }
                 });
             }
         }
 
         /**
-         * 璁垮->鏉ヨ鐧昏
+         * 鏉ヨ鐧昏
          */
-        private void checkInCellViewFillData(EasyRecyclerViewHolder holder, int posistion){
+        private void checkInCellViewFillData(EasyRecyclerViewHolder holder, int position){
 
             RelativeLayout mLayout = holder.findViewById(R.id.fragment_supervisory_bottom_visitor_cell_relative_layout);
             ViewGroup.LayoutParams layoutParams = mLayout.getLayoutParams();
             layoutParams.height = WindowsUtil.dip2px(context, 127);
-            layoutParams.width = WindowsUtil.dip2px(context, 104);
+            layoutParams.width = WindowsUtil.dip2px(context, 122);
             mLayout.setLayoutParams(layoutParams);
 
             ImageView fragment_home_bottom_visitor_cell_photo = (ImageView) mLayout.findViewById(R.id.fragment_home_bottom_visitor_cell_photo);
             TextView fragment_home_bottom_visitor_cell_warning = (TextView) mLayout.findViewById(R.id.fragment_home_bottom_visitor_cell_warning);
             TextView fragment_home_bottom_visitor_cell_name = (TextView) mLayout.findViewById(R.id.fragment_home_bottom_visitor_cell_name);
             TextView fragment_home_bottom_visitor_cell_status = (TextView) mLayout.findViewById(R.id.fragment_home_bottom_visitor_cell_status);
-            //statusTv.setText("");
-
-            Object data = this.getItem(posistion);
-            if (data instanceof FacePhotoItem) {
-                final FacePhotoItem item = (FacePhotoItem) data;
-
-                if (item.getWarning().length() > 0 && "鏉ヨ鐧昏".equals(item.getStatus())) {
-                    //warningTv.setText("璀﹀憡");
-                    fragment_home_bottom_visitor_cell_warning.setVisibility(View.VISIBLE);
-                } else {
-                    fragment_home_bottom_visitor_cell_warning.setVisibility(View.GONE);
-                }
 
 
-                fragment_home_bottom_visitor_cell_name.setText(item.getName());
-
-                fragment_home_bottom_visitor_cell_status.setText(item.getStatus());
-                if ("鏉ヨ鐧昏".equals(item.getStatus())) {
-                    fragment_home_bottom_visitor_cell_status.setBackground(context.getDrawable(R.drawable.rectangle_textview));
-
-                    fragment_home_bottom_visitor_cell_status.setHeight((int)(context.getResources().getDisplayMetrics().density * 45));
-                    fragment_home_bottom_visitor_cell_status.setOnClickListener(new View.OnClickListener(){
-                        @Override
-                        public void onClick(View view) {
-                            MainActivity.selectPage(2);
-                        }
-                    });
-                } else {
-                    fragment_home_bottom_visitor_cell_status.setBackground(null);
-                    fragment_home_bottom_visitor_cell_status.setOnClickListener(null);
-                }
-            }
+            Object data = this.getItem(position);
+//            if (data instanceof FacePhotoItem) {
+//                final FacePhotoItem item = (FacePhotoItem) data;
+//
+//                if (item.getWarning().length() > 0 && "鏉ヨ鐧昏".equals(item.getStatus())) {
+//                    //warningTv.setText("璀﹀憡");
+//                    fragment_home_bottom_visitor_cell_warning.setVisibility(View.VISIBLE);
+//                } else {
+//                    fragment_home_bottom_visitor_cell_warning.setVisibility(View.GONE);
+//                }
+//
+//                fragment_home_bottom_visitor_cell_name.setText(item.getName());
+//
+//                fragment_home_bottom_visitor_cell_status.setText(item.getStatus());
+//                if ("鏉ヨ鐧昏".equals(item.getStatus())) {
+//                    fragment_home_bottom_visitor_cell_status.setBackground(context.getDrawable(R.drawable.rectangle_textview));
+//
+//                    fragment_home_bottom_visitor_cell_status.setHeight((int)(context.getResources().getDisplayMetrics().density * 45));
+//                    fragment_home_bottom_visitor_cell_status.setOnClickListener(new View.OnClickListener(){
+//                        @Override
+//                        public void onClick(View view) {
+//                            MainActivity.selectPage(2);
+//                        }
+//                    });
+//                } else {
+//                    fragment_home_bottom_visitor_cell_status.setBackground(null);
+//                    fragment_home_bottom_visitor_cell_status.setOnClickListener(null);
+//                }
+//            }
 
             fragment_home_bottom_visitor_cell_name.setText("");
-            if (data instanceof SupervisoryQueryItem) {
-                final SupervisoryQueryItem item = (SupervisoryQueryItem)data;
-                fragment_home_bottom_visitor_cell_name.setText(item.getName());
-                fragment_home_bottom_visitor_cell_photo.setImageURI(Uri.parse(AppApi.IMAGEURL_BASE +item.getImagePath()));
+            if (data instanceof SurveillanceQueryItem) {
+                final SurveillanceQueryItem item = (SurveillanceQueryItem)data;
+                fragment_home_bottom_visitor_cell_name.setText(item.getUsername());
+
+                if (item.getImagePath() != null && !item.getImagePath().equals("")) {
+                    fragment_home_bottom_visitor_cell_photo.setImageURI(Uri.parse(AppApi.IMAGE_URL_BASE +item.getImagePath()));
+                } else {
+                    if (item.getBitmap() != null) {
+                        fragment_home_bottom_visitor_cell_photo.setImageBitmap(item.getBitmap());
+                    } else {
+                        fragment_home_bottom_visitor_cell_photo.setImageResource(R.drawable.u45);
+                    }
+                }
                 if (1==1) {
                     fragment_home_bottom_visitor_cell_status.setBackground(context.getDrawable(R.drawable.rectangle_textview));
 
@@ -146,14 +171,29 @@
                     fragment_home_bottom_visitor_cell_status.setOnClickListener(new View.OnClickListener(){
                         @Override
                         public void onClick(View view) {
-                            MainActivity.selectPage(2);
-                            //CheckInFragment.getInstance().checkInFromHomePage(item);
-                            //CheckInFragment.getInstance().getFragment_check_in_right_visitor_cell().setVisitorInfo(item);
+                            MainActivity.selectPage(Constant.TabType.CHECK_IN);
+                            cn.com.basic.face.fragment.CheckInFragment.getInstance().
+                                    getFragment_check_in_right_visitor_cell()
+                                    .setVisitorInfo(getVo(item));
+                            if (item.getBitmap() != null && (item.getImagePath() == null || "".equals(item.getImagePath()))) {
+                                cn.com.basic.face.fragment.CheckInFragment.getInstance().
+                                        getFragment_check_in_right_visitor_cell().setPhoto(item.getBitmap());
+                            }
                         }
                     });
                 }
+                if (item.getWarning() != null && "1".equals(item.getWarning())) {
+                    fragment_home_bottom_visitor_cell_warning.setVisibility(View.VISIBLE);
+                } else {
+                    fragment_home_bottom_visitor_cell_warning.setVisibility(View.INVISIBLE);
+                }
+
             }
 
+        }
+
+        private CheckInQueryItem getVo(SurveillanceQueryItem item) {
+            return JSON.parseObject(JSON.toJSONString(item), CheckInQueryItem.class);
         }
 
         public void setRowType(int i) {
@@ -161,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);
+        }
+    }
 }

--
Gitblit v1.8.0