From d289fd8eb7a6581da0dd9c9963c15b6e7c08d744 Mon Sep 17 00:00:00 2001
From: houxiao <houxiao@454eff88-639b-444f-9e54-f578c98de674>
Date: 星期二, 27 六月 2017 09:48:34 +0800
Subject: [PATCH]
---
VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/adapter/SurveillanceFragment.java | 85 ++++++++++++++++++++++++++++++------------
1 files changed, 60 insertions(+), 25 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 221fdd8..403af37 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 {
@@ -37,14 +40,18 @@
@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;
+ }
}
+
}
@Override
@@ -83,7 +90,10 @@
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.setImageResource(R.drawable.u45);
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 +103,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 +170,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 +247,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 +274,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 +288,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 = (TextView) mLayout.findViewById(R.id.fragment_surveillance_photo_cell_select);
+ 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 +337,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