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 | 322 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 322 insertions(+), 0 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 3800a79..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 @@ -18,6 +18,10 @@ 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.SurveillanceQueryItem; @@ -50,6 +54,9 @@ case Constant.Surveillance.VISIT_CHECK_IN_ITEM_TYPE: checkInCellViewFillData(viewHolder,position); break; + case CommonVariables.Surveillance.OFFLINE_SURVEILLANCE_ITEM_TYPE: + RegisterCellViewFillData(viewHolder,position); + break; } } } @@ -63,6 +70,8 @@ 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.Surveillance.VISIT_BLANK_CELL_VIEW_INDEX; } @@ -85,6 +94,11 @@ if (data instanceof SurveillanceQueryItem) { final SurveillanceQueryItem item = (SurveillanceQueryItem)data; + + 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())); @@ -356,4 +370,312 @@ 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