From 3faa0f1156937cc0f19e3893bb04df2b882ea41d Mon Sep 17 00:00:00 2001
From: xuxiuxi <xuxiuxi@454eff88-639b-444f-9e54-f578c98de674>
Date: 星期五, 21 七月 2017 11:33:56 +0800
Subject: [PATCH] 

---
 VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/adapter/SurveillanceFragment.java |  156 ++++++++++++++++++++++++++++++---------------------
 1 files changed, 91 insertions(+), 65 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 b6c0be4..3800a79 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
@@ -1,6 +1,7 @@
 package cn.com.basic.face.adapter;
 
 import android.content.Context;
+import android.graphics.Color;
 import android.net.Uri;
 import android.view.View;
 import android.view.ViewGroup;
@@ -15,12 +16,14 @@
 
 import java.util.List;
 
+import cn.com.basic.face.base.BaseApplication;
 import cn.com.basic.face.base.MainActivity;
 import cn.com.basic.face.discern.common.CommonVariables;
 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;
 
 public class SurveillanceFragment {
@@ -38,13 +41,16 @@
 
         @Override
         public void onBindRecycleViewHolder(EasyRecyclerViewHolder viewHolder, int position) {
-            switch (((SurveillanceQueryItem)getList().get(position)).getRegisterOrCheckIn()){
-                case Constant.Surveillance.VISIT_REGISTER_ITEM_TYPE:
-                    RegisterCellViewFillData(viewHolder,position);
-                    break;
-                case Constant.Surveillance.VISIT_CHECK_IN_ITEM_TYPE:
-                    checkInCellViewFillData(viewHolder,position);
-                    break;
+            Object obj = getList().get(position);
+            if (obj instanceof SurveillanceQueryItem) {
+                switch (((SurveillanceQueryItem)getList().get(position)).getRegisterOrCheckIn()){
+                    case Constant.Surveillance.VISIT_REGISTER_ITEM_TYPE:
+                        RegisterCellViewFillData(viewHolder,position);
+                        break;
+                    case Constant.Surveillance.VISIT_CHECK_IN_ITEM_TYPE:
+                        checkInCellViewFillData(viewHolder,position);
+                        break;
+                }
             }
         }
 
@@ -90,14 +96,14 @@
                     }
                 }
 
-                fragment_home_bottom_register_cell_to_register.setOnClickListener(new View.OnClickListener(){
+                fragment_home_bottom_register_cell_photo.setOnClickListener(new View.OnClickListener(){
                     @Override
                     public void onClick(View view) {
                         MainActivity.selectPage(1);
-                        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_selectPhoto(item);
+                            VisitorRegisterFragment.getInstance().setChoosePhoto(item.getBitmap());
+                            VisitorRegisterFragment.getInstance().setSurveillanceQueryItem_selectPhoto(item);
+                            VisitorRegisterFragment.selectedSurveillancePhotoId = item.getIdForSelect();
                         }
                     }
                 });
@@ -120,56 +126,39 @@
             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);
 
-
             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 SurveillanceQueryItem) {
                 final SurveillanceQueryItem item = (SurveillanceQueryItem)data;
-                fragment_home_bottom_visitor_cell_name.setText(item.getUsername());
+                fragment_home_bottom_visitor_cell_warning.setVisibility(View.VISIBLE);
+                if (item.getWarning() != null && item.getWarning().length() > 0) {
+                    fragment_home_bottom_visitor_cell_photo.setBackgroundColor(Color.RED);
+                    fragment_home_bottom_visitor_cell_warning.setText("璀﹀憡");
+                } else {
+                    fragment_home_bottom_visitor_cell_photo.setBackgroundColor(Color.GRAY);
+                    if (item.getAuthentication() != null && item.getAuthentication().length() > 0) {
+                        fragment_home_bottom_visitor_cell_warning.setText("宸茶璇�");
+                    } else {
+                        fragment_home_bottom_visitor_cell_warning.setText("鏈璇�");
+                    }
+                }
+                fragment_home_bottom_visitor_cell_name.setText(item.getVisitorType());
 
-                if (item.getImagePath() != null && !item.getImagePath().equals("")) {
-                    fragment_home_bottom_visitor_cell_photo.setImageURI(Uri.parse(AppApi.IMAGE_URL_BASE +item.getImagePath()));
+                if (item.getSurveillancePhoto() != null && !item.getSurveillancePhoto().equals("")) {
+                    fragment_home_bottom_visitor_cell_photo.setImageURI(Uri.parse(AppApi.IMAGE_URL_BASE +item.getSurveillancePhoto()));
                 } else {
                     if (item.getBitmap() != null) {
-                        fragment_home_bottom_visitor_cell_photo.setImageBitmap(item.getBitmap());
+                        fragment_home_bottom_visitor_cell_photo.setImageBitmap(BitmapUtil.getRoundedCornerBitmap(item.getBitmap(),
+                                (int)MainActivity.getInstance().getResources().getDimension(R.dimen.w10dp)));
                     } 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));
-
                     fragment_home_bottom_visitor_cell_status.setHeight((int)(context.getResources().getDisplayMetrics().density * 45));
-                    fragment_home_bottom_visitor_cell_status.setOnClickListener(new View.OnClickListener(){
+                    fragment_home_bottom_visitor_cell_status.setText(item.getStatus()); //绂诲紑
+                    fragment_home_bottom_visitor_cell_photo.setOnClickListener(new View.OnClickListener(){
                         @Override
                         public void onClick(View view) {
                             MainActivity.selectPage(Constant.TabType.CHECK_IN);
@@ -177,18 +166,15 @@
                                     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());
                                 cn.com.basic.face.fragment.CheckInFragment.getInstance().
-                                        getFragment_check_in_right_visitor_cell().setPhoto(item.getBitmap());
+                                        getFragment_check_in_right_visitor_cell().setPhotoUri(Uri.parse(AppApi.IMAGE_URL_BASE +item.getSurveillancePhoto()));
                             }
+                            cn.com.basic.face.fragment.CheckInFragment.getInstance().selectVisiteeRadio();
                         }
                     });
                 }
-                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);
-                }
-
             }
 
         }
@@ -215,6 +201,17 @@
 
         @Override
         public void onBindRecycleViewHolder(EasyRecyclerViewHolder viewHolder, int position) {
+            Object obj = getList().get(position);
+            if (obj instanceof SurveillanceQueryItem) {
+                if(((SurveillanceQueryItem)getList().get(position)).getRegisterOrCheckIn() == CommonVariables.Surveillance.VISIT_ATTENDANCE_BLANK) {
+                    return;
+                } else {
+
+                }
+            } else {
+                return;
+            }
+
             RelativeLayout mLayout = viewHolder.findViewById(R.id.fragment_supervisory_bottom_attendance_cell_relative_layout);
             ViewGroup.LayoutParams layoutParams = mLayout.getLayoutParams();
             layoutParams.height = (int)MainActivity.getInstance().getResources().getDimension(R.dimen.h127dp);
@@ -230,13 +227,16 @@
             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());
+                fragment_home_bottom_attendance_cell_name.setText(item.getVisitorType());
 
-                if (item.getImagePath() != null && !item.getImagePath().equals("")) {
-                    fragment_home_bottom_attendance_cell_photo.setImageURI(Uri.parse(AppApi.IMAGE_URL_BASE +item.getImagePath()));
+                if (item.getSurveillancePhoto() != null && !item.getSurveillancePhoto().equals("")) {
+                    fragment_home_bottom_attendance_cell_photo.setImageURI(Uri.parse(AppApi.IMAGE_URL_BASE +item.getSurveillancePhoto()));
                 } else {
                     if (item.getBitmap() != null) {
-                        fragment_home_bottom_attendance_cell_photo.setImageBitmap(item.getBitmap());
+                        fragment_home_bottom_attendance_cell_photo.setImageBitmap(
+                                BitmapUtil.getRoundedCornerBitmap(item.getBitmap(),
+                                        (int)MainActivity.getInstance().getResources().getDimension(R.dimen.w10dp))
+                                );
                     } else {
                         fragment_home_bottom_attendance_cell_photo.setImageResource(R.drawable.u45);
                     }
@@ -247,7 +247,16 @@
 
         @Override
         public int getRecycleViewItemType(int position) {
-            return 0;
+            int type = ((SurveillanceQueryItem)getList().get(position)).getRegisterOrCheckIn();
+            if (type == CommonVariables.Surveillance.VISIT_ATTENDANCE_IN ||
+                    type == CommonVariables.Surveillance.VISIT_ATTENDANCE_OUT
+                    ) {
+                return 0;
+            }
+            if (type == CommonVariables.Surveillance.VISIT_ATTENDANCE_BLANK) {
+                return 1;
+            }
+            return 1;
         }
 
         private CheckInQueryItem getVo(SurveillanceQueryItem item) {
@@ -274,7 +283,9 @@
             layoutParams.height = (int)MainActivity.getInstance().getResources().getDimension(R.dimen.h127dp);
             layoutParams.width = (int)MainActivity.getInstance().getResources().getDimension(R.dimen.h122dp);
             mLayout.setLayoutParams(layoutParams);
-            if (((SurveillanceQueryItem)getList().get(position)).getRegisterOrCheckIn() != Constant.Surveillance.VISIT_REGISTER_ITEM_TYPE) {
+            SurveillanceQueryItem item1 = ((SurveillanceQueryItem)getList().get(position));
+            if (!(item1.getRegisterOrCheckIn() == Constant.Surveillance.VISIT_REGISTER_ITEM_TYPE
+                    || item1.getRegisterOrCheckIn() == CommonVariables.Surveillance.OFFLINE_SURVEILLANCE_ITEM_TYPE)) {
                 return;
             }
 
@@ -293,10 +304,22 @@
                     @Override
                     public void onClick(View v) {
                         if (selectPhotoOrUploadPhoto == CommonVariables.SelectPhotoType.SELECT_PHOTO) {
-                            RegisterFragment.getInstance().set_fragment_register_surveillance_photo(item);
+                            if (CommonVariables.Register.VISITOR_REGISTER_SELECTED) {
+                                VisitorRegisterFragment.getInstance().set_fragment_visitor_register_surveillance_photo(item);
+                                VisitorRegisterFragment.selectedSurveillancePhotoId = item.getIdForSelect();
+                            } else {
+                                AttenderRegisterFragment.getInstance().set_fragment_attender_register_surveillance_photo(item);
+                                AttenderRegisterFragment.getInstance().selectedSurveillancePhotoId = item.getIdForSelect();
+                            }
                         }
                         if (selectPhotoOrUploadPhoto == CommonVariables.SelectPhotoType.UPLOAD_PHOTO) {
-                            RegisterFragment.getInstance().set_fragment_register_upload_custom_photo(item);
+                            if (CommonVariables.Register.VISITOR_REGISTER_SELECTED) {
+                                VisitorRegisterFragment.getInstance().set_fragment_visitor_register_upload_custom_photo(item);
+                                VisitorRegisterFragment.selectedCustomPhotoId = item.getIdForSelect();
+                            } else {
+                                AttenderRegisterFragment.getInstance().set_fragment_attender_register_upload_custom_photo(item);
+                                AttenderRegisterFragment.selectedCustomPhotoId = item.getIdForSelect();
+                            }
                         }
                         for (SurveillanceQueryItem queryItem : (List<SurveillanceQueryItem>)getList()) {
                             queryItem.setSurveillancePhotoSelected(false);
@@ -306,11 +329,12 @@
                     }
                 });
 
-                if (item.getImagePath() != null && !item.getImagePath().equals("")) {
+                if (item.getImagePath() != null && !item.getImagePath().equals("") && BaseApplication.getInstance().networkAvailable()) {
                     fragment_surveillance_photo_cell_photo.setImageURI(Uri.parse(AppApi.IMAGE_URL_BASE +item.getImagePath()));
                 } else {
                     if (item.getBitmap() != null) {
-                        fragment_surveillance_photo_cell_photo.setImageBitmap(item.getBitmap());
+                        fragment_surveillance_photo_cell_photo.setImageBitmap(BitmapUtil.getRoundedCornerBitmap(item.getBitmap(),
+                                (int)MainActivity.getInstance().getResources().getDimension(R.dimen.w10dp)));
                     } else {
                         fragment_surveillance_photo_cell_photo.setImageResource(R.drawable.u45);
                     }
@@ -320,7 +344,9 @@
 
         @Override
         public int getRecycleViewItemType(int position) {
-            if (((SurveillanceQueryItem)getList().get(position)).getRegisterOrCheckIn() != Constant.Surveillance.VISIT_REGISTER_ITEM_TYPE) {
+            if (!(((SurveillanceQueryItem)getList().get(position)).getRegisterOrCheckIn() == Constant.Surveillance.VISIT_REGISTER_ITEM_TYPE
+                    || ((SurveillanceQueryItem)getList().get(position)).getRegisterOrCheckIn() == CommonVariables.Surveillance.OFFLINE_SURVEILLANCE_ITEM_TYPE
+                    )) {
                 return 1;
             }
             return 0;

--
Gitblit v1.8.0