From 326590904f5b7294791226fee5b7bdadfd565cb2 Mon Sep 17 00:00:00 2001 From: xuxiuxi <xuxiuxi@454eff88-639b-444f-9e54-f578c98de674> Date: 星期四, 04 五月 2017 15:36:19 +0800 Subject: [PATCH] --- VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/SurveillanceMng.java | 36 ++++++++++++ VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/fragment/RegisterFragment.java | 34 ++++++++--- VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/discern/query/item/SurveillanceQueryItem.java | 10 +++ VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/dialog/SurveillancePhotoDialog.java | 17 ----- VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/adapter/SurveillanceFragment.java | 44 ++++++++++---- VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/discern/common/CommonVariables.java | 5 + 6 files changed, 108 insertions(+), 38 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..5a71fa6 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,15 @@ 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.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 { @@ -259,14 +260,18 @@ 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_bottom_visit_blank_cell}; } @Override public void onBindRecycleViewHolder(EasyRecyclerViewHolder viewHolder, int position) { + if (((SurveillanceQueryItem)getList().get(position)).getRegisterOrCheckIn() != Constant.Surveillance.VISIT_REGISTER_ITEM_TYPE) { + return; + } 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); @@ -278,18 +283,28 @@ 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); + } + if (selectPhotoOrUploadPhoto == CommonVariables.SelectPhotoType.UPLOAD_PHOTO) { + RegisterFragment.getInstance().set_fragment_register_upload_custom_photo(item); + } + 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())); @@ -305,6 +320,9 @@ @Override public int getRecycleViewItemType(int position) { + if (((SurveillanceQueryItem)getList().get(position)).getRegisterOrCheckIn() != Constant.Surveillance.VISIT_REGISTER_ITEM_TYPE) { + return 1; + } return 0; } diff --git a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/dialog/SurveillancePhotoDialog.java b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/dialog/SurveillancePhotoDialog.java index aa3eb52..34b55b1 100644 --- a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/dialog/SurveillancePhotoDialog.java +++ b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/dialog/SurveillancePhotoDialog.java @@ -28,6 +28,7 @@ import cn.com.basic.face.discern.query.item.SurveillancePhotoQueryItem; import cn.com.basic.face.discern.query.item.SurveillanceQueryItem; import cn.com.basic.face.fragment.SurveillanceFragment; +import cn.com.basic.face.service.SurveillanceMng; import cn.com.basic.face.util.Constant; import cn.com.basic.face.util.OkClickedListener; import cn.com.basic.face.widget.surveilance.SurveillancePhotoSelectListView; @@ -62,21 +63,7 @@ View view = LayoutInflater.from(MainActivity.getInstance()).inflate(R.layout.dialog_surveillance_photo_select,null); ViewUtils.inject(this, view); - - List<SurveillanceQueryItem> prevVisitorList = SurveillanceFragment.getInstance().get_fragment_supervisory_bottom_visitor_list_view().getPrevList(); - List<SurveillanceQueryItem> registerList = new ArrayList(); - for (SurveillanceQueryItem surveillanceQueryItem : prevVisitorList) { - if (surveillanceQueryItem.getRegisterOrCheckIn() == CommonVariables.Surveillance.VISIT_REGISTER_ITEM_TYPE) { - registerList.add(surveillanceQueryItem); - } - } - - for (int i = 0; i < 2; i++) { - SurveillanceQueryItem item = new SurveillanceQueryItem(); - registerList.add(item); - } - dialog_surveillance_photo_select_list_view.show(registerList); - + dialog_surveillance_photo_select_list_view.show(SurveillanceMng.getInstance().getSurveillancePhotoList()); setTitleAndList(type); WheelView.WheelViewStyle style = new WheelView.WheelViewStyle(); diff --git a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/discern/common/CommonVariables.java b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/discern/common/CommonVariables.java index 98e387a..8a92dff 100644 --- a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/discern/common/CommonVariables.java +++ b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/discern/common/CommonVariables.java @@ -84,4 +84,9 @@ public static final int FIRST_ELEMENT_NEGATIVE = -1;//璁垮鏁版嵁搴撴壘鍒颁簡銆� } + public static class SelectPhotoType { + public static final int SELECT_PHOTO = 1; + public static final int UPLOAD_PHOTO = 2; + } + } diff --git a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/discern/query/item/SurveillanceQueryItem.java b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/discern/query/item/SurveillanceQueryItem.java index 96ed452..ca15d97 100644 --- a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/discern/query/item/SurveillanceQueryItem.java +++ b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/discern/query/item/SurveillanceQueryItem.java @@ -40,6 +40,8 @@ private Uri localUri; + private boolean surveillancePhotoSelected; + /** * Get 浜哄憳涓婚敭 */ @@ -206,4 +208,12 @@ public void setLocalUri(Uri localUri) { this.localUri = localUri; } + + public boolean isSurveillancePhotoSelected() { + return surveillancePhotoSelected; + } + + public void setSurveillancePhotoSelected(boolean surveillancePhotoSelected) { + this.surveillancePhotoSelected = surveillancePhotoSelected; + } } diff --git a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/fragment/RegisterFragment.java b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/fragment/RegisterFragment.java index d697830..feae9ee 100644 --- a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/fragment/RegisterFragment.java +++ b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/fragment/RegisterFragment.java @@ -15,12 +15,12 @@ import com.bsk.zhangbo.demoforbsk.R; +import cn.com.basic.face.adapter.SurveillanceFragment; import cn.com.basic.face.base.BaseApplication; import cn.com.basic.face.base.BaseFragment; import cn.com.basic.face.dialog.SurveillancePhotoDialog; import cn.com.basic.face.discern.common.CommonVariables; import cn.com.basic.face.discern.entity.Register; -import cn.com.basic.face.discern.query.condition.SurveillanceQueryCondition; import cn.com.basic.face.discern.query.item.CheckInQueryItem; import cn.com.basic.face.discern.query.item.SurveillanceQueryItem; import cn.com.basic.face.service.DictionaryMng; @@ -236,6 +236,22 @@ RegisterMng.getInstance().add(params); } + public void set_fragment_register_surveillance_photo(SurveillanceQueryItem item) { + fragment_register_surveillance_photo.setImageBitmap(item.getBitmap()); + fragment_register_surveillance_photo_img = item.getBitmap(); + fragment_register_surveillance_photo_placeholder_image.setVisibility(View.INVISIBLE); + fragment_register_surveillance_photo_placeholder_text_view.setVisibility(View.INVISIBLE); + } + + public void set_fragment_register_upload_custom_photo(SurveillanceQueryItem item) { + fragment_register_upload_custom_photo.setImageBitmap(item.getBitmap()); + fragment_register_upload_custom_photo_img = item.getBitmap(); + + fragment_register_upload_custom_photo_placeholder_image.setVisibility(View.INVISIBLE); + fragment_register_upload_custom_photo_placeholder_text_view.setVisibility(View.INVISIBLE); + + } + @Override public void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); @@ -381,23 +397,20 @@ @OnClick(R.id.fragment_register_surveillance_photo) public void fragment_register_surveillance_photo_click(View view) { -// Intent intent = new Intent(); -// intent.setType("image/*"); -// intent.setAction(Intent.ACTION_GET_CONTENT); -// startActivityForResult(Intent.createChooser(intent, "閫夋嫨鍥剧墖"), fragment_register_surveillance_photo_); + SurveillanceFragment.SurveillancePhotoSelectListViewAdapter.selectPhotoOrUploadPhoto = CommonVariables.SelectPhotoType.SELECT_PHOTO; new SurveillancePhotoDialog(fragment_register_linear_layout, Constant.DialogSelectType.ID_TYPE, new OkClickedListener() { public void onSelected(String value) { - fragment_register_id_class.setValue(value); } }); } @OnClick(R.id.fragment_register_upload_custom_photo) public void fragment_register_upload_custom_photo_click(View view) { - Intent intent = new Intent(); - intent.setType("image/*"); - intent.setAction(Intent.ACTION_GET_CONTENT); - startActivityForResult(Intent.createChooser(intent, "閫夋嫨鍥剧墖"), fragment_register_upload_custom_photo_); + SurveillanceFragment.SurveillancePhotoSelectListViewAdapter.selectPhotoOrUploadPhoto = CommonVariables.SelectPhotoType.UPLOAD_PHOTO; + new SurveillancePhotoDialog(fragment_register_linear_layout, Constant.DialogSelectType.ID_TYPE, new OkClickedListener() { + public void onSelected(String value) { + } + }); } @OnClick(R.id.fragment_register_id_card_photo) @@ -433,4 +446,5 @@ protected void initData() { resetForm(); } + } diff --git a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/SurveillanceMng.java b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/SurveillanceMng.java index 2286421..ded27c8 100644 --- a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/SurveillanceMng.java +++ b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/SurveillanceMng.java @@ -96,6 +96,42 @@ }); } + public List getSurveillancePhotoList() { + List<SurveillanceQueryItem> prevVisitorList = SurveillanceFragment.getInstance().get_fragment_supervisory_bottom_visitor_list_view().getPrevList(); + List<SurveillanceQueryItem> registerList = new ArrayList(); + for (SurveillanceQueryItem surveillanceQueryItem : prevVisitorList) { + if (surveillanceQueryItem.getRegisterOrCheckIn() == CommonVariables.Surveillance.VISIT_REGISTER_ITEM_TYPE) { + if (registerList.size() > 16) { + break; + } + registerList.add(surveillanceQueryItem); + } + } + SurveillanceQueryItem item; + List items = new ArrayList(); + int m = 0; + int n = 8; + for (int i = 0; i < 16; i++) { + if (i % 2 == 0) { + if (m < registerList.size()) { + item = registerList.get(m); + m++; + } else { + item = getBlankItem(); + } + } else { + if (n < registerList.size()) { + item = registerList.get(n); + n++; + } else { + item = getBlankItem(); + } + } + items.add(item); + } + return items; + } + private void registerTopAndCheckInBottom(List<SurveillanceQueryItem> list) { List<SurveillanceQueryItem> registerList = new ArrayList<SurveillanceQueryItem>(); List<SurveillanceQueryItem> checkInList = new ArrayList<SurveillanceQueryItem>(); -- Gitblit v1.8.0