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 | 190 +++++++++++++++++++++++++++++++++++++++++++----
1 files changed, 172 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 9827445..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,20 +13,23 @@
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.FacePhotoItem;
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;
}
@@ -37,19 +40,23 @@
@Override
public void onBindRecycleViewHolder(EasyRecyclerViewHolder viewHolder, int position) {
- switch (((SurveillanceQueryItem)getList().get(position)).getType()){
- 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
public int getRecycleViewItemType(int position) {
- switch (((SurveillanceQueryItem)getList().get(position)).getType()) {
+ 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:
@@ -67,8 +74,8 @@
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);
+ layoutParams.width = (int)MainActivity.getInstance().getResources().getDimension(R.dimen.h122dp);
mLayout.setLayoutParams(layoutParams);
final Object data = this.getItem(position);
@@ -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,9 +103,11 @@
@Override
public void onClick(View view) {
MainActivity.selectPage(1);
- RegisterFragment.getInstance().setRegisterInfo(getVo(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_selectPhoto(item);
+ RegisterFragment.selectedSurveillancePhotoId = item.getIdForSelect();
}
}
});
@@ -109,14 +121,15 @@
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.height = (int)MainActivity.getInstance().getResources().getDimension(R.dimen.h127dp);
+ layoutParams.width = (int)MainActivity.getInstance().getResources().getDimension(R.dimen.h122dp);
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);
+
Object data = this.getItem(position);
// if (data instanceof FacePhotoItem) {
@@ -157,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);
}
@@ -180,6 +194,12 @@
}
});
}
+ 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);
+ }
+
}
}
@@ -193,4 +213,138 @@
}
}
+ 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 = (int)MainActivity.getInstance().getResources().getDimension(R.dimen.h127dp);
+ layoutParams.width = (int)MainActivity.getInstance().getResources().getDimension(R.dimen.h122dp);
+ 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(
+ BitmapUtil.getRoundedCornerBitmap(item.getBitmap(),
+ (int)MainActivity.getInstance().getResources().getDimension(R.dimen.w10dp))
+ );
+ } 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);
+ }
+ }
+
+ public static class SurveillancePhotoSelectListViewAdapter extends EasyRecyclerViewAdapter {
+ private Context context;
+ public SurveillancePhotoSelectListViewAdapter(Context context) {
+ this.context = context;
+ }
+ public static int selectPhotoOrUploadPhoto;
+
+ @Override
+ public int[] getItemLayouts() {
+ return new int[]{R.layout.fragment_surveillance_photo_cell, R.layout.fragment_surveillance_photo_blank_cell};
+ }
+
+ @Override
+ public void onBindRecycleViewHolder(EasyRecyclerViewHolder viewHolder, int position) {
+ RelativeLayout mLayout = viewHolder.findViewById(R.id.fragment_surveillance_photo_cell_relative_layout);
+ ViewGroup.LayoutParams layoutParams = mLayout.getLayoutParams();
+ 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);
+
+ 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(BitmapUtil.getRoundedCornerBitmap(item.getBitmap(),
+ (int)MainActivity.getInstance().getResources().getDimension(R.dimen.w10dp)));
+ } else {
+ fragment_surveillance_photo_cell_photo.setImageResource(R.drawable.u45);
+ }
+ }
+ }
+ }
+
+ @Override
+ public int getRecycleViewItemType(int position) {
+ if (((SurveillanceQueryItem)getList().get(position)).getRegisterOrCheckIn() != Constant.Surveillance.VISIT_REGISTER_ITEM_TYPE) {
+ return 1;
+ }
+ return 0;
+ }
+
+ private CheckInQueryItem getVo(SurveillanceQueryItem item) {
+ return JSON.parseObject(JSON.toJSONString(item), CheckInQueryItem.class);
+ }
+ }
}
--
Gitblit v1.8.0