From 9e5babf9db52e64bdae60137be7696e56241fca6 Mon Sep 17 00:00:00 2001 From: xingzilong <xingzilong@454eff88-639b-444f-9e54-f578c98de674> Date: 星期五, 18 八月 2017 18:12:17 +0800 Subject: [PATCH] H264 NALU解析 并在RTSPServer判断 --- VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/adapter/SurveillanceFragment.java | 643 ++++++++++++++++++++++++++++++++++++++++++++++++++++------ 1 files changed, 576 insertions(+), 67 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 976737c..de248dd 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; @@ -13,20 +14,27 @@ import com.camnter.easyrecyclerview.adapter.EasyRecyclerViewAdapter; import com.camnter.easyrecyclerview.holder.EasyRecyclerViewHolder; +import java.util.List; + +import cn.com.basic.face.base.BaseApplication; import cn.com.basic.face.base.MainActivity; +import cn.com.basic.face.dialog.AttenderRegisterSelectPhotoDialog; +import cn.com.basic.face.dialog.AttenderRegisterUploadPhotoDialog; +import cn.com.basic.face.dialog.VisitorRegisterSelectPhotoDialog; +import cn.com.basic.face.dialog.VisitorRegisterUploadPhotoDialog; +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,122 +45,147 @@ @Override public void onBindRecycleViewHolder(EasyRecyclerViewHolder viewHolder, int position) { - switch (((SurveillanceQueryItem)getList().get(position)).getType()){ - case Constant.Supervisory.VISIT_REGISTER_ITEM_TYPE: - RegisterCellViewFillData(viewHolder,position); - break; - case Constant.Supervisory.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; + case CommonVariables.Surveillance.OFFLINE_SURVEILLANCE_ITEM_TYPE: + RegisterCellViewFillData(viewHolder,position); + break; + } } } @Override public int getRecycleViewItemType(int position) { - switch (((SurveillanceQueryItem)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; + case CommonVariables.Surveillance.OFFLINE_SURVEILLANCE_ITEM_TYPE: + return Constant.Surveillance.REGISTER_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); + layoutParams.width = (int)MainActivity.getInstance().getResources().getDimension(R.dimen.h122dp); 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 SurveillanceQueryItem) { final SurveillanceQueryItem item = (SurveillanceQueryItem)data; - fragment_home_bottom_register_cell_photo.setImageURI(Uri.parse(AppApi.IMAGEURL_BASE +item.getImagePath())); - fragment_home_bottom_register_cell_to_register.setOnClickListener(new View.OnClickListener(){ + + fragment_home_bottom_register_cell_to_register.setVisibility(View.VISIBLE); + if (item.getRegisterOrCheckIn() == CommonVariables.Surveillance.OFFLINE_SURVEILLANCE_ITEM_TYPE) { + fragment_home_bottom_register_cell_to_register.setVisibility(View.GONE); + } + + 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_photo.setOnClickListener(new View.OnClickListener(){ @Override public void onClick(View view) { MainActivity.selectPage(1); - //RegisterFragment.getInstance().setRegisterInfo(item); + if(item.getBitmap() != null) { + VisitorRegisterFragment.getInstance().setChoosePhoto(item.getBitmap()); + VisitorRegisterFragment.getInstance().setSurveillanceQueryItem_selectPhoto(item); + VisitorRegisterFragment.selectedSurveillancePhotoId = item.getIdForSelect(); + } } }); } } /** - * 璁垮->鏉ヨ鐧昏 + * 鏉ヨ鐧昏 */ - 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.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); - //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); fragment_home_bottom_visitor_cell_name.setText(""); if (data instanceof SurveillanceQueryItem) { final SurveillanceQueryItem item = (SurveillanceQueryItem)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 (1==1) { - fragment_home_bottom_visitor_cell_status.setBackground(context.getDrawable(R.drawable.rectangle_textview)); + 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.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(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.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); 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()); + cn.com.basic.face.fragment.CheckInFragment.getInstance(). + getFragment_check_in_right_visitor_cell().setPhotoUri(Uri.parse(AppApi.IMAGE_URL_BASE +item.getSurveillancePhoto())); + } + cn.com.basic.face.fragment.CheckInFragment.getInstance().selectVisiteeRadio(); } }); } @@ -169,4 +202,480 @@ } } + 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) { + 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); + 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.getVisitorType()); + + 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( + 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) { + 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) { + 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); + SurveillanceQueryItem item1 = ((SurveillanceQueryItem)getList().get(position)); + if (!(item1.getRegisterOrCheckIn() == Constant.Surveillance.VISIT_REGISTER_ITEM_TYPE + || item1.getRegisterOrCheckIn() == CommonVariables.Surveillance.OFFLINE_SURVEILLANCE_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) { + 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) { + 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); + } + item.setSurveillancePhotoSelected(true); + notifyDataSetChanged(); + } + }); + + 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(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 + || ((SurveillanceQueryItem)getList().get(position)).getRegisterOrCheckIn() == CommonVariables.Surveillance.OFFLINE_SURVEILLANCE_ITEM_TYPE + )) { + return 1; + } + return 0; + } + + private CheckInQueryItem getVo(SurveillanceQueryItem item) { + return JSON.parseObject(JSON.toJSONString(item), CheckInQueryItem.class); + } + } + + public static class VisitorRegisterSelectPhotoSelectListViewAdapter extends EasyRecyclerViewAdapter { + private Context context; + public VisitorRegisterSelectPhotoSelectListViewAdapter(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); + SurveillanceQueryItem item1 = ((SurveillanceQueryItem)getList().get(position)); + if (!(item1.getRegisterOrCheckIn() == Constant.Surveillance.VISIT_REGISTER_ITEM_TYPE + || item1.getRegisterOrCheckIn() == CommonVariables.Surveillance.OFFLINE_SURVEILLANCE_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) { + VisitorRegisterFragment.getInstance().set_fragment_visitor_register_surveillance_photo(item); + VisitorRegisterSelectPhotoDialog.selectedId = item.getIdForSelect(); + for (SurveillanceQueryItem queryItem : (List<SurveillanceQueryItem>)getList()) { + queryItem.setSurveillancePhotoSelected(false); + } + item.setSurveillancePhotoSelected(true); + notifyDataSetChanged(); + } + }); + + 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(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 + || ((SurveillanceQueryItem)getList().get(position)).getRegisterOrCheckIn() == CommonVariables.Surveillance.OFFLINE_SURVEILLANCE_ITEM_TYPE + )) { + return 1; + } + return 0; + } + + private CheckInQueryItem getVo(SurveillanceQueryItem item) { + return JSON.parseObject(JSON.toJSONString(item), CheckInQueryItem.class); + } + } + + public static class VisitorRegisterUploadPhotoSelectListViewAdapter extends EasyRecyclerViewAdapter { + private Context context; + public VisitorRegisterUploadPhotoSelectListViewAdapter(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); + SurveillanceQueryItem item1 = ((SurveillanceQueryItem)getList().get(position)); + if (!(item1.getRegisterOrCheckIn() == Constant.Surveillance.VISIT_REGISTER_ITEM_TYPE + || item1.getRegisterOrCheckIn() == CommonVariables.Surveillance.OFFLINE_SURVEILLANCE_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) { + VisitorRegisterFragment.getInstance().set_fragment_visitor_register_upload_custom_photo(item); + VisitorRegisterUploadPhotoDialog.selectedId = item.getIdForSelect(); + for (SurveillanceQueryItem queryItem : (List<SurveillanceQueryItem>)getList()) { + queryItem.setSurveillancePhotoSelected(false); + } + item.setSurveillancePhotoSelected(true); + notifyDataSetChanged(); + } + }); + + 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(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 + || ((SurveillanceQueryItem)getList().get(position)).getRegisterOrCheckIn() == CommonVariables.Surveillance.OFFLINE_SURVEILLANCE_ITEM_TYPE + )) { + return 1; + } + return 0; + } + + private CheckInQueryItem getVo(SurveillanceQueryItem item) { + return JSON.parseObject(JSON.toJSONString(item), CheckInQueryItem.class); + } + } + + public static class AttenderRegisterSelectPhotoSelectListViewAdapter extends EasyRecyclerViewAdapter { + private Context context; + public AttenderRegisterSelectPhotoSelectListViewAdapter(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); + SurveillanceQueryItem item1 = ((SurveillanceQueryItem)getList().get(position)); + if (!(item1.getRegisterOrCheckIn() == Constant.Surveillance.VISIT_REGISTER_ITEM_TYPE + || item1.getRegisterOrCheckIn() == CommonVariables.Surveillance.OFFLINE_SURVEILLANCE_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) { + AttenderRegisterFragment.getInstance().set_fragment_attender_register_surveillance_photo(item); + AttenderRegisterSelectPhotoDialog.selectedId = item.getIdForSelect(); + for (SurveillanceQueryItem queryItem : (List<SurveillanceQueryItem>)getList()) { + queryItem.setSurveillancePhotoSelected(false); + } + item.setSurveillancePhotoSelected(true); + notifyDataSetChanged(); + } + }); + + 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(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 + || ((SurveillanceQueryItem)getList().get(position)).getRegisterOrCheckIn() == CommonVariables.Surveillance.OFFLINE_SURVEILLANCE_ITEM_TYPE + )) { + return 1; + } + return 0; + } + + private CheckInQueryItem getVo(SurveillanceQueryItem item) { + return JSON.parseObject(JSON.toJSONString(item), CheckInQueryItem.class); + } + } + + public static class AttenderRegisterUploadPhotoSelectListViewAdapter extends EasyRecyclerViewAdapter { + private Context context; + public AttenderRegisterUploadPhotoSelectListViewAdapter(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); + SurveillanceQueryItem item1 = ((SurveillanceQueryItem)getList().get(position)); + if (!(item1.getRegisterOrCheckIn() == Constant.Surveillance.VISIT_REGISTER_ITEM_TYPE + || item1.getRegisterOrCheckIn() == CommonVariables.Surveillance.OFFLINE_SURVEILLANCE_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) { + AttenderRegisterFragment.getInstance().set_fragment_attender_register_upload_custom_photo(item); + AttenderRegisterUploadPhotoDialog.selectedId = item.getIdForSelect(); + for (SurveillanceQueryItem queryItem : (List<SurveillanceQueryItem>)getList()) { + queryItem.setSurveillancePhotoSelected(false); + } + item.setSurveillancePhotoSelected(true); + notifyDataSetChanged(); + } + }); + + 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(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 + || ((SurveillanceQueryItem)getList().get(position)).getRegisterOrCheckIn() == CommonVariables.Surveillance.OFFLINE_SURVEILLANCE_ITEM_TYPE + )) { + return 1; + } + return 0; + } + + private CheckInQueryItem getVo(SurveillanceQueryItem item) { + return JSON.parseObject(JSON.toJSONString(item), CheckInQueryItem.class); + } + } } -- Gitblit v1.8.0