From 3cceac30dc1c5a7cf5bd4f95e327e855cdcf304d Mon Sep 17 00:00:00 2001
From: xuxiuxi <xuxiuxi@454eff88-639b-444f-9e54-f578c98de674>
Date: 星期五, 02 六月 2017 16:01:35 +0800
Subject: [PATCH] 

---
 VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/adapter/SurveillanceFragment.java |   65 +++++++++++++++++++++++---------
 1 files changed, 47 insertions(+), 18 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 4a1dcf6..de6f27f 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
@@ -13,14 +13,17 @@
 import com.camnter.easyrecyclerview.adapter.EasyRecyclerViewAdapter;
 import com.camnter.easyrecyclerview.holder.EasyRecyclerViewHolder;
 
+import java.util.List;
+
 import cn.com.basic.face.base.MainActivity;
+import cn.com.basic.face.dialog.SurveillancePhotoDialog;
+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;
-import cn.com.basic.face.util.WindowsUtil;
 
 public class SurveillanceFragment {
 
@@ -83,7 +86,8 @@
                     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());
+                        fragment_home_bottom_register_cell_photo.setImageBitmap(BitmapUtil.getRoundedCornerBitmap(item.getBitmap(),
+                                (int)MainActivity.getInstance().getResources().getDimension(R.dimen.w10dp)));
                     } else {
                         fragment_home_bottom_register_cell_photo.setImageResource(R.drawable.u45);
                     }
@@ -93,10 +97,11 @@
                     @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
+//                        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);
+                            RegisterFragment.getInstance().setSurveillanceQueryItem_selectPhoto(item);
+                            RegisterFragment.selectedSurveillancePhotoId = item.getIdForSelect();
                         }
                     }
                 });
@@ -159,7 +164,8 @@
                     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());
+                        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);
                     }
@@ -235,7 +241,10 @@
                     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());
+                        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);
                     }
@@ -259,10 +268,11 @@
         public SurveillancePhotoSelectListViewAdapter(Context context) {
             this.context = context;
         }
+        public static int selectPhotoOrUploadPhoto;
 
         @Override
         public int[] getItemLayouts() {
-            return new int[]{R.layout.fragment_surveillance_photo_cell};
+            return new int[]{R.layout.fragment_surveillance_photo_cell, R.layout.fragment_surveillance_photo_blank_cell};
         }
 
         @Override
@@ -272,30 +282,46 @@
             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) {
+                return;
+            }
 
             ImageView fragment_surveillance_photo_cell_photo = (ImageView) mLayout.findViewById(R.id.fragment_surveillance_photo_cell_photo);
             final View fragment_surveillance_photo_cell_select = mLayout.findViewById(R.id.fragment_surveillance_photo_cell_select);
 
             Object data = this.getItem(position);
 
-
-            fragment_surveillance_photo_cell_photo.setOnClickListener(new View.OnClickListener() {
-                @Override
-                public void onClick(View v) {
-                    fragment_surveillance_photo_cell_select.setVisibility(fragment_surveillance_photo_cell_select.getVisibility() == View.VISIBLE
-                        ? View.INVISIBLE : View.VISIBLE
-                    );
-                }
-            });
-
             if (data instanceof SurveillanceQueryItem) {
                 final SurveillanceQueryItem item = (SurveillanceQueryItem)data;
+                fragment_surveillance_photo_cell_select.setVisibility(item.isSurveillancePhotoSelected()
+                        ? View.VISIBLE : View.INVISIBLE
+                );
+
+                fragment_surveillance_photo_cell_photo.setOnClickListener(new View.OnClickListener() {
+                    @Override
+                    public void onClick(View v) {
+                        if (selectPhotoOrUploadPhoto == CommonVariables.SelectPhotoType.SELECT_PHOTO) {
+                            RegisterFragment.getInstance().set_fragment_register_surveillance_photo(item);
+                            RegisterFragment.selectedSurveillancePhotoId = item.getIdForSelect();
+                        }
+                        if (selectPhotoOrUploadPhoto == CommonVariables.SelectPhotoType.UPLOAD_PHOTO) {
+                            RegisterFragment.getInstance().set_fragment_register_upload_custom_photo(item);
+                            RegisterFragment.selectedCustomPhotoId = item.getIdForSelect();
+                        }
+                        for (SurveillanceQueryItem queryItem : (List<SurveillanceQueryItem>)getList()) {
+                            queryItem.setSurveillancePhotoSelected(false);
+                        }
+                        item.setSurveillancePhotoSelected(true);
+                        notifyDataSetChanged();
+                    }
+                });
 
                 if (item.getImagePath() != null && !item.getImagePath().equals("")) {
                     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);
                     }
@@ -305,6 +331,9 @@
 
         @Override
         public int getRecycleViewItemType(int position) {
+            if (((SurveillanceQueryItem)getList().get(position)).getRegisterOrCheckIn() != Constant.Surveillance.VISIT_REGISTER_ITEM_TYPE) {
+                return 1;
+            }
             return 0;
         }
 

--
Gitblit v1.8.0