From 8eba4786474eb6ec2861f37bc628d8d5f0aa0d96 Mon Sep 17 00:00:00 2001 From: xuxiuxi <xuxiuxi@454eff88-639b-444f-9e54-f578c98de674> Date: 星期三, 12 七月 2017 14:09:42 +0800 Subject: [PATCH] --- VisitFace/DemoForBsk/app/src/main/AndroidManifest.xml | 3 VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/base/MainActivity.java | 50 + VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/fragment/SurveillanceFragment.java | 7 VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/RegisterMng.java | 9 VisitFace/DemoForBsk/app/src/main/res/layout/fragment_attendance_right.xml | 2 VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/discern/common/CommonVariables.java | 9 VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/fragment/AttenderRegisterFragment.java | 485 +++++++++++++ VisitFace/DemoForBsk/app/src/main/res/layout/fragment_surveillance_bottom_visitor_cell.xml | 4 VisitFace/DemoForBsk/app/src/main/res/layout/fragment_visitor_register.xml | 46 VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/SurveillanceMng.java | 22 /dev/null | 551 --------------- VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/util/AppApi.java | 9 VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/util/SurveillanceQueryItemUtil.java | 161 ++++ VisitFace/DemoForBsk/app/src/main/res/values/strings.xml | 2 VisitFace/DemoForBsk/app/src/main/res/layout/fragment_surveillance.xml | 1 VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/util/IdCardReaderThread.java | 4 VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/widget/register/RegisterRightFieldLabelView.java | 17 VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/discern/query/item/SurveillanceQueryItem.java | 18 VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/dialog/SurveillancePhotoDialog.java | 9 VisitFace/DemoForBsk/app/src/main/res/layout/fragment_surveillance_bottom_register_cell.xml | 18 VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/adapter/SurveillanceFragment.java | 101 +- VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/fragment/VisitorRegisterFragment.java | 529 ++++++++++++++ VisitFace/DemoForBsk/app/src/main/res/layout/fragment_attender_register.xml | 76 - 23 files changed, 1,390 insertions(+), 743 deletions(-) diff --git a/VisitFace/DemoForBsk/app/src/main/AndroidManifest.xml b/VisitFace/DemoForBsk/app/src/main/AndroidManifest.xml index cfa3196..a4c6964 100644 --- a/VisitFace/DemoForBsk/app/src/main/AndroidManifest.xml +++ b/VisitFace/DemoForBsk/app/src/main/AndroidManifest.xml @@ -18,6 +18,9 @@ <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" /> <uses-permission android:name="android.permission.ACCESS_SUPERUSER" /> + <uses-permission android:name="android.permission.CAMERA" /> + <uses-feature android:name="android.hardware.camera" /> + <uses-feature android:name="android.hardware.camera.autofocus" /> <application android:name="cn.com.basic.face.base.BaseApplication" 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 e2d43ba..facef40 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 @@ -17,7 +17,6 @@ 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; @@ -101,9 +100,9 @@ public void onClick(View view) { MainActivity.selectPage(1); if(item.getBitmap() != null) { - RegisterFragment.getInstance().setChoosePhoto(item.getBitmap()); - RegisterFragment.getInstance().setSurveillanceQueryItem_selectPhoto(item); - RegisterFragment.selectedSurveillancePhotoId = item.getIdForSelect(); + VisitorRegisterFragment.getInstance().setChoosePhoto(item.getBitmap()); + VisitorRegisterFragment.getInstance().setSurveillanceQueryItem_selectPhoto(item); + VisitorRegisterFragment.selectedSurveillancePhotoId = item.getIdForSelect(); } } }); @@ -126,41 +125,24 @@ 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) { -// 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); -// } -// } fragment_home_bottom_visitor_cell_name.setText(""); if (data instanceof SurveillanceQueryItem) { final SurveillanceQueryItem item = (SurveillanceQueryItem)data; - fragment_home_bottom_visitor_cell_name.setText(item.getUsername()); + 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())); @@ -174,6 +156,7 @@ } if (1==1) { fragment_home_bottom_visitor_cell_status.setHeight((int)(context.getResources().getDisplayMetrics().density * 45)); + 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) { @@ -191,12 +174,6 @@ } }); } - 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); - } - } } @@ -223,6 +200,17 @@ @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); @@ -238,10 +226,10 @@ 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()); + fragment_home_bottom_attendance_cell_name.setText(item.getVisitorType()); - if (item.getImagePath() != null && !item.getImagePath().equals("")) { - fragment_home_bottom_attendance_cell_photo.setImageURI(Uri.parse(AppApi.IMAGE_URL_BASE +item.getImagePath())); + 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( @@ -258,7 +246,16 @@ @Override public int getRecycleViewItemType(int position) { - return 0; + 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) { @@ -304,12 +301,20 @@ @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 (CommonVariables.Register.VISITOR_REGISTER_SELECTED) { + VisitorRegisterFragment.getInstance().set_fragment_visitor_register_surveillance_photo(item); + VisitorRegisterFragment.selectedSurveillancePhotoId = item.getIdForSelect(); + } else { + //鑰冨嫟 + } } if (selectPhotoOrUploadPhoto == CommonVariables.SelectPhotoType.UPLOAD_PHOTO) { - RegisterFragment.getInstance().set_fragment_register_upload_custom_photo(item); - RegisterFragment.selectedCustomPhotoId = item.getIdForSelect(); + if (CommonVariables.Register.VISITOR_REGISTER_SELECTED) { + VisitorRegisterFragment.getInstance().set_fragment_visitor_register_upload_custom_photo(item); + VisitorRegisterFragment.selectedCustomPhotoId = item.getIdForSelect(); + } else { + //鑰冨嫟 + } } for (SurveillanceQueryItem queryItem : (List<SurveillanceQueryItem>)getList()) { queryItem.setSurveillancePhotoSelected(false); diff --git a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/base/MainActivity.java b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/base/MainActivity.java index 2f84b6d..6bfe263 100644 --- a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/base/MainActivity.java +++ b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/base/MainActivity.java @@ -1,23 +1,25 @@ package cn.com.basic.face.base; +import android.Manifest; import android.app.AlertDialog; import android.content.Context; import android.content.DialogInterface; -import android.content.Intent; import android.content.pm.ActivityInfo; +import android.content.pm.PackageManager; import android.content.res.Configuration; import android.graphics.Bitmap; import android.graphics.BitmapFactory; import android.graphics.Canvas; import android.graphics.Color; import android.graphics.Paint; -import android.graphics.drawable.ColorDrawable; import android.hardware.Camera; import android.os.Handler; import android.support.design.widget.TabLayout; +import android.support.v4.app.ActivityCompat; import android.support.v4.app.Fragment; import android.support.v4.app.FragmentManager; import android.support.v4.app.FragmentPagerAdapter; +import android.support.v4.content.ContextCompat; import android.support.v4.view.ViewPager; import android.os.Bundle; import android.view.LayoutInflater; @@ -26,7 +28,6 @@ import android.view.SurfaceView; import android.view.View; import android.view.ViewGroup; -import android.view.Window; import android.view.WindowManager; import android.widget.EditText; import android.widget.ImageView; @@ -39,6 +40,7 @@ import cn.com.basic.face.discern.common.CommonVariables; import cn.com.basic.face.discern.query.item.SurveillanceQueryItem; +import cn.com.basic.face.fragment.AttenderRegisterFragment; import cn.com.basic.face.fragment.SurveillanceFragment; import cn.com.basic.face.service.SurveillanceMng; import cn.com.basic.face.util.FileUtil; @@ -48,13 +50,12 @@ import cn.com.basic.face.fragment.CheckInFragment; import cn.com.basic.face.fragment.DeviceFragment; import cn.com.basic.face.fragment.PhoneCallFragment; -import cn.com.basic.face.fragment.RegisterFragment; +import cn.com.basic.face.fragment.VisitorRegisterFragment; import cn.com.basic.face.fragment.VisitFragment; import java.io.File; import java.io.FileOutputStream; import java.io.InputStream; -import java.nio.ByteBuffer; import java.util.ArrayList; import java.util.Arrays; import java.util.List; @@ -91,7 +92,8 @@ int[] tabIcons = TabNameUtil.tabIcons; MyFragmentPagerAdapter myFragmentPagerAdapter = new MyFragmentPagerAdapter(getSupportFragmentManager(),MainActivity.this); myFragmentPagerAdapter.addFragment(SurveillanceFragment.getInstance(), tabNamesList.get(0),tabIcons[0]); - myFragmentPagerAdapter.addFragment(RegisterFragment.getInstance(), tabNamesList.get(1),tabIcons[1]); +// myFragmentPagerAdapter.addFragment(VisitorRegisterFragment.getInstance(), tabNamesList.get(1),tabIcons[1]); + myFragmentPagerAdapter.addFragment(AttenderRegisterFragment.getInstance(), tabNamesList.get(1),tabIcons[1]); myFragmentPagerAdapter.addFragment(CheckInFragment.getInstance(), tabNamesList.get(2),tabIcons[2]); myFragmentPagerAdapter.addFragment(PhoneCallFragment.getInstance(), tabNamesList.get(3),tabIcons[3]); myFragmentPagerAdapter.addFragment(VisitFragment.getInstance(), tabNamesList.get(4),tabIcons[4]); @@ -109,9 +111,10 @@ tab.getCustomView().setSelected(true); } } - myThread = new MyThread(); - myThread.start(); - + if (CommonVariables.ID_CARD) { + myThread = new MyThread(); + myThread.start(); + } } public static MainActivity getInstance() { @@ -274,6 +277,7 @@ } else { FSDK.Initialize(); getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN); + setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT); mDraw = new ProcessImageAndDrawResults(this); mPreview = new Preview(this, mDraw); mDraw.mTracker = new FSDK.HTracker(); @@ -285,6 +289,16 @@ } } resetTrackerParameters(); + + //setContentView(mPreview); //creates MainActivity contents + //addContentView(mDraw, new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT)); + + // Menu +// LayoutInflater inflater = (LayoutInflater)this.getSystemService( Context.LAYOUT_INFLATER_SERVICE ); +// View buttons = inflater.inflate(R.layout.bottom_menu, null ); +// buttons.findViewById(R.id.helpButton).setOnClickListener(this); +// buttons.findViewById(R.id.clearButton).setOnClickListener(this); +// addContentView(buttons, new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT)); } } } @@ -499,12 +513,24 @@ } else { FSDK.CopyImage(Image, RotatedImage); } + +// FSDK.TFacePosition fp11 = new FSDK.TFacePosition(); +// FSDK.DetectFace(RotatedImage, fp11); + + String surveillancePhotoName11 = "/storage/sdcard1/"+System.currentTimeMillis()+".jpg"; + FSDK.SaveImageToFile(Image, surveillancePhotoName11); + + FSDK.FreeImage(Image); long IDs[] = new long[MAX_FACES]; long face_count[] = new long[1]; + + FSDK.FeedFrame(mTracker, 0, RotatedImage, face_count, IDs); + + System.out.println("face_count="+face_count[0]); faceLock.lock(); @@ -714,12 +740,17 @@ frontCameraFound = true; } } + //If authorisation not granted for camera + if (ContextCompat.checkSelfPermission(MainActivity.getInstance(), Manifest.permission.CAMERA) != PackageManager.PERMISSION_GRANTED) + //ask for authorisation + ActivityCompat.requestPermissions(MainActivity.getInstance(), new String[]{Manifest.permission.CAMERA}, 50); if (frontCameraFound) { mCamera = Camera.open(cameraId); } else { mCamera = Camera.open(); } + try { mCamera.setPreviewDisplay(holder); @@ -785,6 +816,7 @@ List<Camera.Size> supportedSizes = parameters.getSupportedPreviewSizes(); int width = 0; int height = 0; + System.out.println("surfaceChanged"); for (Camera.Size s: supportedSizes) { if ((width - 640)*(width - 640) + (height - 480)*(height - 480) > (s.width - 640)*(s.width - 640) + (s.height - 480)*(s.height - 480)) { 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 f3a92ae..57fc305 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 @@ -2,13 +2,11 @@ import android.content.Context; import android.graphics.Color; -import android.graphics.drawable.ColorDrawable; import android.view.Gravity; import android.view.LayoutInflater; import android.view.MotionEvent; import android.view.View; import android.view.ViewGroup; -import android.widget.EditText; import android.widget.PopupWindow; import android.widget.RelativeLayout; import android.widget.TextView; @@ -24,11 +22,6 @@ import cn.com.basic.face.base.MainActivity; import cn.com.basic.face.dialog.wheelview.adapter.BaseWheelAdapter; import cn.com.basic.face.dialog.wheelview.widget.WheelView; -import cn.com.basic.face.discern.common.CommonVariables; -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.util.SurveillanceQueryItemUtil; @@ -64,7 +57,7 @@ View view = LayoutInflater.from(MainActivity.getInstance()).inflate(R.layout.dialog_surveillance_photo_select,null); ViewUtils.inject(this, view); - dialog_surveillance_photo_select_list_view.show(SurveillanceQueryItemUtil.getInstance().getAllUnregisterTwoRowsForSelect(selectedId)); + dialog_surveillance_photo_select_list_view.show(SurveillanceQueryItemUtil.getInstance().getAllUnregisterVisitorTwoRowsForSelect(selectedId)); 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 a80bfab..aab5ea0 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 @@ -70,6 +70,9 @@ public static final int VISIT_CHECK_IN_ITEM_TYPE = 2; public static final int VISIT_BLANK_ITEM_TYPE = 3; public static final int VISIT_ATTENDANCE_ITEM_TYPE = 4; + public static final int VISIT_ATTENDANCE_IN = 5; + public static final int VISIT_ATTENDANCE_OUT = 6; + public static final int VISIT_ATTENDANCE_BLANK = 7; public static final int REGISTER_CELL_VIEW_INDEX = 0; public static final int CHECK_IN_CELL_VIEW_INDEX = 1; @@ -108,5 +111,11 @@ } public static boolean FACE_SERVER = true; + public static boolean ID_CARD = false; + public static boolean EMULATOR = true; + + public static class Register { + public static boolean VISITOR_REGISTER_SELECTED = true; + } } 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 a893576..db54c45 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 @@ -56,6 +56,8 @@ private String surveillancePhoto; private int stTrackId; + private String visitorType; + private String authentication; public SurveillanceQueryItem() { if (initialSelectId > 10000) { @@ -280,4 +282,20 @@ public void setStTrackId(int stTrackId) { this.stTrackId = stTrackId; } + + public String getVisitorType() { + return visitorType; + } + + public void setVisitorType(String visitorType) { + this.visitorType = visitorType; + } + + public String getAuthentication() { + return authentication; + } + + public void setAuthentication(String authentication) { + this.authentication = authentication; + } } diff --git a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/fragment/AttenderRegisterFragment.java b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/fragment/AttenderRegisterFragment.java new file mode 100644 index 0000000..21130f6 --- /dev/null +++ b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/fragment/AttenderRegisterFragment.java @@ -0,0 +1,485 @@ +package cn.com.basic.face.fragment; + +import android.app.Activity; +import android.content.Context; +import android.content.Intent; +import android.graphics.Bitmap; +import android.graphics.BitmapFactory; +import android.net.Uri; +import android.os.Environment; +import android.provider.MediaStore; +import android.view.View; +import android.view.WindowManager; +import android.widget.ImageView; +import android.widget.LinearLayout; +import android.widget.TextView; +import android.widget.Toast; + +import com.bsk.zhangbo.demoforbsk.R; + +import cn.com.basic.face.adapter.SurveillanceFragment; +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.item.CheckInQueryItem; +import cn.com.basic.face.discern.query.item.SurveillanceQueryItem; +import cn.com.basic.face.service.DictionaryMng; +import cn.com.basic.face.service.RegisterMng; +import cn.com.basic.face.util.BitmapUtil; +import cn.com.basic.face.util.Constant; +import cn.com.basic.face.util.FileUtil; + +import cn.com.basic.face.util.IdCard; +import cn.com.basic.face.util.IdCardReaderThread; +import cn.com.basic.face.util.NativeImg; +import cn.com.basic.face.util.OkClickedListener; + +import cn.com.basic.face.util.AppApi; +import cn.com.basic.face.dialog.DateSelectDialog; +import cn.com.basic.face.dialog.CountryDialog; +import cn.com.basic.face.widget.register.RegisterRightFieldLabelView; +import cn.com.basic.face.widget.register.RegisterRightFieldTextView; +import cn.com.basic.face.dialog.SelectDialog; + +import com.lidroid.xutils.view.annotation.ViewInject; +import com.lidroid.xutils.view.annotation.event.OnClick; + +import org.xutils.http.RequestParams; + +import java.io.ByteArrayOutputStream; +import java.io.File; +import java.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.Date; +import java.util.List; + +import cn.com.basic.face.base.MainActivity; + +public class AttenderRegisterFragment extends BaseFragment implements View.OnClickListener{ + + @ViewInject(R.id.fragment_attender_register_name) + private RegisterRightFieldTextView fragment_attender_register_name; + @ViewInject(R.id.fragment_attender_register_gender) + private RegisterRightFieldLabelView fragment_attender_register_gender; + @ViewInject(R.id.fragment_attender_register_post) + private RegisterRightFieldLabelView fragment_attender_register_post; + @ViewInject(R.id.fragment_attender_register_department) + private RegisterRightFieldLabelView fragment_attender_register_department; + @ViewInject(R.id.fragment_attender_register_id_class) + private RegisterRightFieldLabelView fragment_attender_register_id_class; + @ViewInject(R.id.fragment_attender_register_id_num) + private RegisterRightFieldTextView fragment_attender_register_id_num; + @ViewInject(R.id.fragment_attender_register_remark) + private RegisterRightFieldTextView fragment_attender_register_remark; + @ViewInject(R.id.fragment_attender_register_surveillance_photo) + private ImageView fragment_attender_register_surveillance_photo; + @ViewInject(R.id.fragment_attender_register_upload_custom_photo) + private ImageView fragment_attender_register_upload_custom_photo; + @ViewInject(R.id.fragment_attender_register_id_card_photo) + private ImageView fragment_attender_register_id_card_photo; + @ViewInject(R.id.fragment_attender_register_linear_layout) + private LinearLayout fragment_attender_register_linear_layout; + @ViewInject(R.id.fragment_attender_register_surveillance_photo_placeholder_image) + private ImageView fragment_attender_register_surveillance_photo_placeholder_image; + @ViewInject(R.id.fragment_attender_register_upload_custom_photo_placeholder_image) + private ImageView fragment_attender_register_upload_custom_photo_placeholder_image; + @ViewInject(R.id.fragment_attender_register_id_card_photo_placeholder_image) + private ImageView fragment_attender_register_id_card_photo_placeholder_image; + @ViewInject(R.id.fragment_attender_register_surveillance_photo_placeholder_text_view) + private TextView fragment_attender_register_surveillance_photo_placeholder_text_view; + @ViewInject(R.id.fragment_attender_register_upload_custom_photo_placeholder_text_view) + private TextView fragment_attender_register_upload_custom_photo_placeholder_text_view; + @ViewInject(R.id.fragment_attender_register_id_card_photo_placeholder_text_view) + private TextView fragment_attender_register_id_card_photo_placeholder_text_view; + + private static final int fragment_attender_register_surveillance_photo_ = 1; + private static final int fragment_attender_register_upload_custom_photo_ = 2; + private static final int fragment_attender_register_id_card_photo_ = 3; + + private Bitmap fragment_attender_register_surveillance_photo_img; + private Bitmap fragment_attender_register_upload_custom_photo_img; + private Bitmap fragment_attender_register_id_card_photo_img; + + private SurveillanceQueryItem surveillanceQueryItem_selectPhoto; + private SurveillanceQueryItem surveillanceQueryItem_uploadPhoto; + + public static long selectedSurveillancePhotoId = -1; + public static long selectedCustomPhotoId = -1; + + private File idCardImageCaptureFile = null; + + private IdCardReaderThread idCardReaderThread = null; + + private String idCardHeadPath = ""; + + private static AttenderRegisterFragment instance = new AttenderRegisterFragment(); + + public static AttenderRegisterFragment getInstance() { + return instance; + } + @Override + protected int getLayoutId() { + return R.layout.fragment_attender_register; + } + + @OnClick(R.id.fragment_attender_register_add) + public void fragment_attender_register_add_click(View view) { + resetForm(); + } + + @OnClick(R.id.fragment_attender_register_save) + public void fragment_attender_register_save_click(View v) { + RequestParams params = new RequestParams(); + + String name = fragment_attender_register_name.getValue(); + if (name.trim().length() <= 0) { + Toast.makeText(MainActivity.getInstance(), "濮撳悕涓嶈兘涓虹┖", Toast.LENGTH_SHORT).show(); + fragment_attender_register_name.requestFocus(); + return; + } + + params.addBodyParameter(Register.FieldNames.username, name); + params.addBodyParameter(Register.FieldNames.genderId, DictionaryMng.getInstance().getId(fragment_attender_register_gender.getValue())); + params.addBodyParameter(Register.FieldNames.identityTypeId, DictionaryMng.getInstance().getId(fragment_attender_register_id_class.getValue())); + params.addBodyParameter(Register.FieldNames.countryId, DictionaryMng.getInstance().getId(fragment_attender_register_post.getValue())); + params.addBodyParameter(Register.FieldNames.identifyNum, fragment_attender_register_id_num.getValue()); + params.addBodyParameter(Register.FieldNames.birthday, fragment_attender_register_department.getValue()); + params.addBodyParameter(Register.FieldNames.remark, fragment_attender_register_remark.getValue()); + + if (surveillanceQueryItem_selectPhoto != null) { + params.addBodyParameter("width", surveillanceQueryItem_selectPhoto.getWidth()); + params.addBodyParameter("height", surveillanceQueryItem_selectPhoto.getHeight()); + fragment_attender_register_surveillance_photo_img = surveillanceQueryItem_selectPhoto.getBitmap(); + + NativeImg nativeImg = surveillanceQueryItem_selectPhoto.getNativeImg(); + byte[] imageBytes = new byte[nativeImg.size]; + for (int i = 0; i < nativeImg.size; i++) { + imageBytes[i] = nativeImg.image[i]; + } + params.addBodyParameter("rawSurveillancePhoto", FileUtil.writeToFile("rawSurveillancePhoto", imageBytes)); + } else { + params.addBodyParameter("rawSurveillancePhoto", FileUtil.writeToFile("rawSurveillancePhoto", new byte[]{})); + } + + if (fragment_attender_register_surveillance_photo_img != null) { + ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream(); + fragment_attender_register_surveillance_photo_img.compress(Bitmap.CompressFormat.JPEG, 100, byteArrayOutputStream); + byte[] imageBytes = byteArrayOutputStream.toByteArray(); + + params.addBodyParameter("surveillancePhoto", FileUtil.writeToFile("surveillancePhoto", imageBytes)); + } else { + params.addBodyParameter("surveillancePhoto", FileUtil.writeToFile("surveillancePhoto", new byte[]{})); + } + + if (fragment_attender_register_upload_custom_photo_img != null) { + ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream(); + fragment_attender_register_upload_custom_photo_img.compress(Bitmap.CompressFormat.JPEG, 100, byteArrayOutputStream); + byte[] imageBytes = byteArrayOutputStream.toByteArray(); + + params.addBodyParameter("uploadCustomPhoto", FileUtil.writeToFile("uploadCustomPhoto", imageBytes)); + } else { + params.addBodyParameter("uploadCustomPhoto", FileUtil.writeToFile("uploadCustomPhoto", new byte[]{})); + } + + if (fragment_attender_register_id_card_photo_img != null) { + ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream(); + fragment_attender_register_id_card_photo_img.compress(Bitmap.CompressFormat.JPEG, 100, byteArrayOutputStream); + byte[] imageBytes = byteArrayOutputStream.toByteArray(); + + params.addBodyParameter("idCardPhoto", FileUtil.writeToFile("idCardPhoto", imageBytes)); + } else { + params.addBodyParameter("idCardPhoto", FileUtil.writeToFile("idCardPhoto", new byte[]{})); + } + RegisterMng.getInstance().add(params, idCardHeadPath); + } + + public void set_fragment_attender_register_surveillance_photo(SurveillanceQueryItem item) { + surveillanceQueryItem_selectPhoto = item; + fragment_attender_register_surveillance_photo.setImageBitmap(BitmapUtil.getRoundedCornerBitmap(item.getBitmap(), + (int)MainActivity.getInstance().getResources().getDimension(R.dimen.w10dp))); + fragment_attender_register_surveillance_photo_img = item.getBitmap(); + fragment_attender_register_surveillance_photo_placeholder_image.setVisibility(View.INVISIBLE); + fragment_attender_register_surveillance_photo_placeholder_text_view.setVisibility(View.INVISIBLE); + } + + public void set_fragment_attender_register_upload_custom_photo(SurveillanceQueryItem item) { + surveillanceQueryItem_uploadPhoto = item; + fragment_attender_register_upload_custom_photo.setImageBitmap(BitmapUtil.getRoundedCornerBitmap(item.getBitmap(), + (int)MainActivity.getInstance().getResources().getDimension(R.dimen.w10dp))); + fragment_attender_register_upload_custom_photo_img = item.getBitmap(); + + fragment_attender_register_upload_custom_photo_placeholder_image.setVisibility(View.INVISIBLE); + fragment_attender_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); + if (requestCode == fragment_attender_register_surveillance_photo_ && resultCode == Activity.RESULT_OK && data != null && data.getData() != null) { + Uri uri = data.getData(); + try { + Bitmap bitmap = MediaStore.Images.Media.getBitmap(getActivity().getContentResolver(), uri); + fragment_attender_register_surveillance_photo.setImageBitmap(bitmap); + fragment_attender_register_surveillance_photo_img = bitmap; + + fragment_attender_register_surveillance_photo_placeholder_image.setVisibility(View.INVISIBLE); + fragment_attender_register_surveillance_photo_placeholder_text_view.setVisibility(View.INVISIBLE); + + } catch (Exception e) { + e.printStackTrace(); + } + } + if (requestCode == fragment_attender_register_upload_custom_photo_ && resultCode == Activity.RESULT_OK && data != null && data.getData() != null) { + Uri uri = data.getData(); + try { + Bitmap bitmap = MediaStore.Images.Media.getBitmap(getActivity().getContentResolver(), uri); + fragment_attender_register_upload_custom_photo.setImageBitmap(bitmap); + + fragment_attender_register_upload_custom_photo_placeholder_image.setVisibility(View.INVISIBLE); + fragment_attender_register_upload_custom_photo_placeholder_text_view.setVisibility(View.INVISIBLE); + + List<SurveillanceQueryItem> bitmapList = new ArrayList<>(); + SurveillanceQueryItem item = new SurveillanceQueryItem(); + item.setWidth(bitmap.getWidth()+""); + item.setHeight(bitmap.getHeight()+""); + item.setLocalUri(uri); + + setSurveillanceQueryItem_selectPhoto(item); + bitmapList.add(item); + bitmapList.add(item); + bitmapList.add(item); + + } catch (Exception e) { + e.printStackTrace(); + } + } + if (requestCode == fragment_attender_register_id_card_photo_ && resultCode == Activity.RESULT_OK) { + + try { + if (data != null && data.getData() != null) { + Uri uri = data.getData(); + Bitmap bitmap = MediaStore.Images.Media.getBitmap(getActivity().getContentResolver(), uri); + fragment_attender_register_id_card_photo.setImageBitmap(BitmapUtil.getRoundedCornerBitmap(bitmap, + (int)MainActivity.getInstance().getResources().getDimension(R.dimen.w10dp))); + fragment_attender_register_id_card_photo_img = bitmap; + MainActivity.getInstance().getContentResolver().delete(uri, null, null); + + fragment_attender_register_id_card_photo_placeholder_image.setVisibility(View.INVISIBLE); + fragment_attender_register_id_card_photo_placeholder_text_view.setVisibility(View.INVISIBLE); + } else if (idCardImageCaptureFile != null){ + if (idCardImageCaptureFile.exists()) { + BitmapFactory.Options options = new BitmapFactory.Options(); + options.inJustDecodeBounds = true; + BitmapFactory.decodeFile(idCardImageCaptureFile.getAbsolutePath(), options); + int width = options.outWidth; + int height = options.outHeight; + WindowManager wm = (WindowManager) MainActivity.getInstance().getSystemService(Context.WINDOW_SERVICE); + int screenWidth = wm.getDefaultDisplay().getWidth(); + int screenHeight = wm.getDefaultDisplay().getHeight(); + int dx = width / screenWidth; + int dy = height / screenHeight; + int scale = 1; + if (dx > dy && dy >= 1) { + scale = dx; + } + if (dy > dx && dx >= 1) { + scale = dy; + } + options.inSampleSize = scale; + options.inJustDecodeBounds = false; + Bitmap bitmap = BitmapFactory.decodeFile(idCardImageCaptureFile.getAbsolutePath(), options); + + fragment_attender_register_id_card_photo.setImageBitmap(BitmapUtil.getRoundedCornerBitmap(bitmap, + (int)MainActivity.getInstance().getResources().getDimension(R.dimen.w10dp))); + fragment_attender_register_id_card_photo_img = bitmap; + MainActivity.getInstance().getContentResolver().delete(Uri.fromFile(idCardImageCaptureFile), null, null); + + fragment_attender_register_id_card_photo_placeholder_image.setVisibility(View.INVISIBLE); + fragment_attender_register_id_card_photo_placeholder_text_view.setVisibility(View.INVISIBLE); + idCardImageCaptureFile = null; + } + } + } catch (Exception e) { + e.printStackTrace(); + } + } + } + + public void resetForm() { + selectedCustomPhotoId = -1; + selectedSurveillancePhotoId = -1; + + idCardHeadPath = ""; + + fragment_attender_register_name.setValue("寰愪慨婧�"+Math.random()); + fragment_attender_register_id_num.setValue("36041419292222222"); + fragment_attender_register_department.setValue("1985-08-12"); + fragment_attender_register_remark.setValue("澶囨敞"); + + fragment_attender_register_name.setValue(""); + fragment_attender_register_id_num.setValue(""); + fragment_attender_register_department.setValue(""); + + fragment_attender_register_gender.setValue("鐢�"); + fragment_attender_register_id_class.setValue("韬唤璇�"); + fragment_attender_register_post.setValue("涓浗"); + fragment_attender_register_surveillance_photo_img = null; + fragment_attender_register_upload_custom_photo_img = null; + fragment_attender_register_id_card_photo_img = null; + fragment_attender_register_surveillance_photo.setImageBitmap(null); + fragment_attender_register_upload_custom_photo.setImageBitmap(null); + fragment_attender_register_id_card_photo.setImageBitmap(null); + fragment_attender_register_surveillance_photo_placeholder_image.setVisibility(View.VISIBLE); + fragment_attender_register_surveillance_photo_placeholder_text_view.setVisibility(View.VISIBLE); + fragment_attender_register_upload_custom_photo_placeholder_image.setVisibility(View.VISIBLE); + fragment_attender_register_upload_custom_photo_placeholder_text_view.setVisibility(View.VISIBLE); + fragment_attender_register_id_card_photo_placeholder_image.setVisibility(View.VISIBLE); + fragment_attender_register_id_card_photo_placeholder_text_view.setVisibility(View.VISIBLE); + this.surveillanceQueryItem_selectPhoto = null; + this.surveillanceQueryItem_uploadPhoto = null; + } + + //@OnClick(R.id.fragment_attender_register_country) + public void fragment_attender_register_country_click(View view) { + new CountryDialog(fragment_attender_register_linear_layout, new OkClickedListener() { + public void onSelected(String value) { + fragment_attender_register_post.setValue(value); + } + },fragment_attender_register_post.getValue()); + } + + //@OnClick(R.id.fragment_attender_register_gender) + public void fragment_attender_register_gender_click(View view) { + new SelectDialog(fragment_attender_register_linear_layout, Constant.DialogSelectType.GENDER, new OkClickedListener() { + public void onSelected(String value) { + fragment_attender_register_gender.setValue(value); + } + }, fragment_attender_register_gender.getValue()); + } + + //@OnClick(R.id.fragment_attender_register_birthday) + public void fragment_attender_register_birthday_click(View view) { + String birthdayStr = fragment_attender_register_department.getValue(); + Date birthday = new Date(); + if (birthdayStr != null && !"".equals(birthdayStr)) { + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); + try { + birthday = sdf.parse(birthdayStr); + } catch (Exception e) { + e.printStackTrace(); + } + } + + new DateSelectDialog( + new OkClickedListener(){ + public void onSelected(String value) { + fragment_attender_register_department.setValue(value); + } + }, birthday); + } + + //@OnClick(R.id.fragment_attender_register_id_class) + public void fragment_attender_register_id_class_click(View view) { + new SelectDialog(fragment_attender_register_linear_layout, Constant.DialogSelectType.ID_TYPE, new OkClickedListener() { + public void onSelected(String value) { + fragment_attender_register_id_class.setValue(value); + } + }, fragment_attender_register_id_class.getValue()); + } + + @OnClick(R.id.fragment_attender_register_back) + public void fragment_attender_register_back_click(View view) { + MainActivity.selectPage(0); + } + + @OnClick(R.id.fragment_attender_register_surveillance_photo) + public void fragment_attender_register_surveillance_photo_click(View view) { + SurveillanceFragment.SurveillancePhotoSelectListViewAdapter.selectPhotoOrUploadPhoto = CommonVariables.SelectPhotoType.SELECT_PHOTO; + new SurveillancePhotoDialog(fragment_attender_register_linear_layout, Constant.DialogSelectType.ID_TYPE, new OkClickedListener() { + public void onSelected(String value) { + } + }, selectedSurveillancePhotoId); + } + + @OnClick(R.id.fragment_attender_register_upload_custom_photo) + public void fragment_attender_register_upload_custom_photo_click(View view) { + SurveillanceFragment.SurveillancePhotoSelectListViewAdapter.selectPhotoOrUploadPhoto = CommonVariables.SelectPhotoType.UPLOAD_PHOTO; + new SurveillancePhotoDialog(fragment_attender_register_linear_layout, Constant.DialogSelectType.ID_TYPE, new OkClickedListener() { + public void onSelected(String value) { + } + }, selectedCustomPhotoId); + } + + @OnClick(R.id.fragment_attender_register_id_card_photo) + public void fragment_attender_register_id_card_photo_click(View view) { + Intent intent = new Intent(); + intent.setAction(MediaStore.ACTION_IMAGE_CAPTURE); + idCardImageCaptureFile = new File(Environment.getExternalStorageDirectory(), System.currentTimeMillis()+".jpg"); + intent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(idCardImageCaptureFile)); + startActivityForResult(intent, fragment_attender_register_id_card_photo_); + } + + @Override + public void onClick(View v) {} + + public void setRegisterInfo(CheckInQueryItem item) { + fragment_attender_register_surveillance_photo.setImageURI(Uri.parse(AppApi.IMAGE_URL_BASE + item.getSurveillancePhoto())); + } + + public ImageView get_fragment_attender_register_choose_photo() { + return fragment_attender_register_surveillance_photo; + } + + public void setChoosePhoto(Bitmap bitmap) { + fragment_attender_register_surveillance_photo.setImageBitmap(BitmapUtil.getRoundedCornerBitmap(bitmap, + (int)MainActivity.getInstance().getResources().getDimension(R.dimen.w10dp))); + fragment_attender_register_surveillance_photo_placeholder_text_view.setVisibility(View.INVISIBLE); + fragment_attender_register_surveillance_photo_placeholder_image.setVisibility(View.INVISIBLE); + } + + public void setSurveillanceQueryItem_selectPhoto(SurveillanceQueryItem item) { + this.surveillanceQueryItem_selectPhoto = item; + } + + @Override + protected void initData() { + //resetForm(); + if (CommonVariables.ID_CARD) { + idCardReaderThread = new IdCardReaderThread(); + idCardReaderThread.start(); + } + } + + public void fillFormWithIdCard(IdCard idCard) { + try { + fragment_attender_register_name.setValue(idCard.getName()); + fragment_attender_register_id_num.setValue(idCard.getCardNumber()); + + SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd"); + SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-MM-dd"); + + fragment_attender_register_department.setValue(sdf1.format(sdf.parse(idCard.getBirthday()))); + fragment_attender_register_gender.setValue(idCard.getGender()); + fragment_attender_register_id_class.setValue("韬唤璇�"); + BitmapFactory.Options options = new BitmapFactory.Options(); + options.inPreferredConfig = Bitmap.Config.ARGB_8888; + Bitmap bitmap = BitmapFactory.decodeFile(idCard.getHeadPath(), options); + fragment_attender_register_id_card_photo.setImageBitmap(bitmap); + fragment_attender_register_id_card_photo_placeholder_image.setVisibility(View.INVISIBLE); + fragment_attender_register_id_card_photo_placeholder_text_view.setVisibility(View.INVISIBLE); + idCardHeadPath = idCard.getHeadPath(); + } catch (Exception e) { + e.printStackTrace(); + } + } + + private boolean registerFragmentVisible = false; + + @Override + public void setMenuVisibility(boolean menuVisible) { + super.setMenuVisibility(menuVisible); + registerFragmentVisible = menuVisible; + } + +} 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 deleted file mode 100644 index e5466e4..0000000 --- a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/fragment/RegisterFragment.java +++ /dev/null @@ -1,551 +0,0 @@ -package cn.com.basic.face.fragment; - -import android.app.Activity; -import android.content.BroadcastReceiver; -import android.content.Context; -import android.content.Intent; -import android.graphics.Bitmap; -import android.graphics.BitmapFactory; -import android.net.Uri; -import android.os.AsyncTask; -import android.os.Environment; -import android.provider.MediaStore; -import android.util.Base64; -import android.util.DisplayMetrics; -import android.view.MotionEvent; -import android.view.View; -import android.view.WindowManager; -import android.widget.ImageView; -import android.widget.LinearLayout; -import android.widget.TextView; -import android.widget.Toast; - -import com.alibaba.fastjson.JSON; -import com.alibaba.fastjson.JSONArray; -import com.bit.rfid.RFIDReader; -import com.bit.rfid.ReaderExtra; -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.base.PictureTaker; -import cn.com.basic.face.dialog.SurveillancePhotoDialog; -import cn.com.basic.face.discern.common.CommonVariables; -import cn.com.basic.face.discern.common.ResultBean; -import cn.com.basic.face.discern.entity.Register; -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; -import cn.com.basic.face.service.RegisterMng; -import cn.com.basic.face.service.SurveillanceMng; -import cn.com.basic.face.util.BitmapUtil; -import cn.com.basic.face.util.Constant; -import cn.com.basic.face.util.FileUtil; -import static cn.com.basic.face.util.FileUtil.*; - -import cn.com.basic.face.util.IdCard; -import cn.com.basic.face.util.IdCardReaderThread; -import cn.com.basic.face.util.NativeImg; -import cn.com.basic.face.util.OkClickedListener; - -import cn.com.basic.face.util.AppApi; -import cn.com.basic.face.dialog.DateSelectDialog; -import cn.com.basic.face.dialog.CountryDialog; -import cn.com.basic.face.util.PostData; -import cn.com.basic.face.util.Uploader; -import cn.com.basic.face.widget.register.RegisterRightFieldLabelView; -import cn.com.basic.face.widget.register.RegisterRightFieldTextView; -import cn.com.basic.face.dialog.SelectDialog; - -import com.ivsign.android.IDCReader.IDCReaderSDK; -import com.lidroid.xutils.view.annotation.ViewInject; -import com.lidroid.xutils.view.annotation.event.OnClick; - -import org.xutils.http.RequestParams; - -import java.io.BufferedOutputStream; -import java.io.ByteArrayInputStream; -import java.io.ByteArrayOutputStream; -import java.io.File; -import java.io.FileInputStream; -import java.io.FileOutputStream; -import java.io.IOException; -import java.io.RandomAccessFile; -import java.io.Reader; -import java.text.SimpleDateFormat; -import java.util.ArrayList; -import java.util.Date; -import java.util.List; - -import cn.com.basic.face.base.MainActivity; - -public class RegisterFragment extends BaseFragment implements View.OnClickListener{ - - @ViewInject(R.id.fragment_register_name) - private RegisterRightFieldTextView fragment_register_name; - @ViewInject(R.id.fragment_register_gender) - private RegisterRightFieldLabelView fragment_register_gender; - @ViewInject(R.id.fragment_register_country) - private RegisterRightFieldLabelView fragment_register_country; - @ViewInject(R.id.fragment_register_birthday) - private RegisterRightFieldLabelView fragment_register_birthday; - @ViewInject(R.id.fragment_register_visitor_class) - private RegisterRightFieldLabelView fragment_register_visitor_class; - @ViewInject(R.id.fragment_register_phone) - private RegisterRightFieldTextView fragment_register_phone; - @ViewInject(R.id.fragment_register_id_class) - private RegisterRightFieldLabelView fragment_register_id_class; - @ViewInject(R.id.fragment_register_id_num) - private RegisterRightFieldTextView fragment_register_id_num; - @ViewInject(R.id.fragment_register_company) - private RegisterRightFieldTextView fragment_register_company; - @ViewInject(R.id.fragment_register_remark) - private RegisterRightFieldTextView fragment_register_remark; - @ViewInject(R.id.fragment_register_surveillance_photo) - private ImageView fragment_register_surveillance_photo; - @ViewInject(R.id.fragment_register_upload_custom_photo) - private ImageView fragment_register_upload_custom_photo; - @ViewInject(R.id.fragment_register_id_card_photo) - private ImageView fragment_register_id_card_photo; - @ViewInject(R.id.fragment_register_linear_layout) - private LinearLayout fragment_register_linear_layout; - @ViewInject(R.id.fragment_register_surveillance_photo_placeholder_image) - private ImageView fragment_register_surveillance_photo_placeholder_image; - @ViewInject(R.id.fragment_register_upload_custom_photo_placeholder_image) - private ImageView fragment_register_upload_custom_photo_placeholder_image; - @ViewInject(R.id.fragment_register_id_card_photo_placeholder_image) - private ImageView fragment_register_id_card_photo_placeholder_image; - @ViewInject(R.id.fragment_register_surveillance_photo_placeholder_text_view) - private TextView fragment_register_surveillance_photo_placeholder_text_view; - @ViewInject(R.id.fragment_register_upload_custom_photo_placeholder_text_view) - private TextView fragment_register_upload_custom_photo_placeholder_text_view; - @ViewInject(R.id.fragment_register_id_card_photo_placeholder_text_view) - private TextView fragment_register_id_card_photo_placeholder_text_view; - - private static final int fragment_register_surveillance_photo_ = 1; - private static final int fragment_register_upload_custom_photo_ = 2; - private static final int fragment_register_id_card_photo_ = 3; - - private Bitmap fragment_register_surveillance_photo_img; - private Bitmap fragment_register_upload_custom_photo_img; - private Bitmap fragment_register_id_card_photo_img; - - private SurveillanceQueryItem surveillanceQueryItem_selectPhoto; - private SurveillanceQueryItem surveillanceQueryItem_uploadPhoto; - - public static long selectedSurveillancePhotoId = -1; - public static long selectedCustomPhotoId = -1; - - private File idCardImageCaptureFile = null; - - private IdCardReaderThread idCardReaderThread = null; - - private String idCardHeadPath = ""; - - private static RegisterFragment instance = new RegisterFragment(); - - public static RegisterFragment getInstance() { - return instance; - } - @Override - protected int getLayoutId() { - return R.layout.fragment_register; - } - - @OnClick(R.id.fragment_register_add) - public void fragment_register_add_click(View view) { - resetForm(); - } - - @OnClick(R.id.fragment_register_save) - public void fragment_register_save_click(View v) { - RequestParams params = new RequestParams(); - - String name = fragment_register_name.getValue(); - if (name.trim().length() <= 0) { - Toast.makeText(MainActivity.getInstance(), "濮撳悕涓嶈兘涓虹┖", Toast.LENGTH_SHORT).show(); - fragment_register_name.requestFocus(); - return; - } - String phone = fragment_register_phone.getValue(); - if (phone.trim().length() <= 0) { - Toast.makeText(MainActivity.getInstance(), "鐢佃瘽涓嶈兘涓虹┖", Toast.LENGTH_SHORT).show(); - fragment_register_phone.requestFocus(); - return; - } - String company = fragment_register_company.getValue(); - if (company.trim().length() <= 0) { - Toast.makeText(MainActivity.getInstance(), "鍏徃鍚嶇О涓嶈兘涓虹┖", Toast.LENGTH_SHORT).show(); - fragment_register_company.requestFocus(); - return; - } - String visitor_type = fragment_register_visitor_class.getValue(); - if (visitor_type.trim().length() <= 0) { - Toast.makeText(MainActivity.getInstance(), "璁垮绫诲瀷涓嶈兘涓虹┖", Toast.LENGTH_SHORT).show(); - fragment_register_visitor_class.callOnClick(); - return; - } - - params.addBodyParameter(Register.FieldNames.username, name); - params.addBodyParameter(Register.FieldNames.mobilePhone, phone); - params.addBodyParameter(Register.FieldNames.genderId, DictionaryMng.getInstance().getId(fragment_register_gender.getValue())); - params.addBodyParameter(Register.FieldNames.identityTypeId, DictionaryMng.getInstance().getId(fragment_register_id_class.getValue())); - params.addBodyParameter(Register.FieldNames.countryId, DictionaryMng.getInstance().getId(fragment_register_country.getValue())); - params.addBodyParameter(Register.FieldNames.visitorTypeId, DictionaryMng.getInstance().getId(visitor_type)); - params.addBodyParameter(Register.FieldNames.identifyNum, fragment_register_id_num.getValue()); - params.addBodyParameter(Register.FieldNames.companyId, company); - params.addBodyParameter(Register.FieldNames.birthday, fragment_register_birthday.getValue()); - params.addBodyParameter(Register.FieldNames.remark, fragment_register_remark.getValue()); - - if (surveillanceQueryItem_selectPhoto != null) { - params.addBodyParameter("width", surveillanceQueryItem_selectPhoto.getWidth()); - params.addBodyParameter("height", surveillanceQueryItem_selectPhoto.getHeight()); - fragment_register_surveillance_photo_img = surveillanceQueryItem_selectPhoto.getBitmap(); - - NativeImg nativeImg = surveillanceQueryItem_selectPhoto.getNativeImg(); - byte[] imageBytes = new byte[nativeImg.size]; - for (int i = 0; i < nativeImg.size; i++) { - imageBytes[i] = nativeImg.image[i]; - } - params.addBodyParameter("rawSurveillancePhoto", FileUtil.writeToFile("rawSurveillancePhoto", imageBytes)); - } else { - params.addBodyParameter("rawSurveillancePhoto", FileUtil.writeToFile("rawSurveillancePhoto", new byte[]{})); - } - - if (fragment_register_surveillance_photo_img != null) { - ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream(); - fragment_register_surveillance_photo_img.compress(Bitmap.CompressFormat.JPEG, 100, byteArrayOutputStream); - byte[] imageBytes = byteArrayOutputStream.toByteArray(); - - params.addBodyParameter("surveillancePhoto", FileUtil.writeToFile("surveillancePhoto", imageBytes)); - } else { - params.addBodyParameter("surveillancePhoto", FileUtil.writeToFile("surveillancePhoto", new byte[]{})); - } - - if (fragment_register_upload_custom_photo_img != null) { - ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream(); - fragment_register_upload_custom_photo_img.compress(Bitmap.CompressFormat.JPEG, 100, byteArrayOutputStream); - byte[] imageBytes = byteArrayOutputStream.toByteArray(); - - params.addBodyParameter("uploadCustomPhoto", FileUtil.writeToFile("uploadCustomPhoto", imageBytes)); - } else { - params.addBodyParameter("uploadCustomPhoto", FileUtil.writeToFile("uploadCustomPhoto", new byte[]{})); - } - - if (fragment_register_id_card_photo_img != null) { - ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream(); - fragment_register_id_card_photo_img.compress(Bitmap.CompressFormat.JPEG, 100, byteArrayOutputStream); - byte[] imageBytes = byteArrayOutputStream.toByteArray(); - - params.addBodyParameter("idCardPhoto", FileUtil.writeToFile("idCardPhoto", imageBytes)); - } else { - params.addBodyParameter("idCardPhoto", FileUtil.writeToFile("idCardPhoto", new byte[]{})); - } - RegisterMng.getInstance().add(params, idCardHeadPath); - } - - public void set_fragment_register_surveillance_photo(SurveillanceQueryItem item) { - surveillanceQueryItem_selectPhoto = item; - fragment_register_surveillance_photo.setImageBitmap(BitmapUtil.getRoundedCornerBitmap(item.getBitmap(), - (int)MainActivity.getInstance().getResources().getDimension(R.dimen.w10dp))); - 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) { - surveillanceQueryItem_uploadPhoto = item; - fragment_register_upload_custom_photo.setImageBitmap(BitmapUtil.getRoundedCornerBitmap(item.getBitmap(), - (int)MainActivity.getInstance().getResources().getDimension(R.dimen.w10dp))); - 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); - if (requestCode == fragment_register_surveillance_photo_ && resultCode == Activity.RESULT_OK && data != null && data.getData() != null) { - Uri uri = data.getData(); - try { - Bitmap bitmap = MediaStore.Images.Media.getBitmap(getActivity().getContentResolver(), uri); - fragment_register_surveillance_photo.setImageBitmap(bitmap); - fragment_register_surveillance_photo_img = bitmap; - - fragment_register_surveillance_photo_placeholder_image.setVisibility(View.INVISIBLE); - fragment_register_surveillance_photo_placeholder_text_view.setVisibility(View.INVISIBLE); - - } catch (Exception e) { - e.printStackTrace(); - } - } - if (requestCode == fragment_register_upload_custom_photo_ && resultCode == Activity.RESULT_OK && data != null && data.getData() != null) { - Uri uri = data.getData(); - try { - Bitmap bitmap = MediaStore.Images.Media.getBitmap(getActivity().getContentResolver(), uri); - fragment_register_upload_custom_photo.setImageBitmap(bitmap); - - fragment_register_upload_custom_photo_placeholder_image.setVisibility(View.INVISIBLE); - fragment_register_upload_custom_photo_placeholder_text_view.setVisibility(View.INVISIBLE); - - List<SurveillanceQueryItem> bitmapList = new ArrayList<>(); - SurveillanceQueryItem item = new SurveillanceQueryItem(); - item.setWidth(bitmap.getWidth()+""); - item.setHeight(bitmap.getHeight()+""); - item.setLocalUri(uri); - - setSurveillanceQueryItem_selectPhoto(item); - bitmapList.add(item); - bitmapList.add(item); - bitmapList.add(item); - - //SurveillanceMng.getInstance().addBitmap(bitmapList, null, 0, CommonVariables.Camera.IN); - - } catch (Exception e) { - e.printStackTrace(); - } - } - if (requestCode == fragment_register_id_card_photo_ && resultCode == Activity.RESULT_OK) { - - try { - if (data != null && data.getData() != null) { - Uri uri = data.getData(); - Bitmap bitmap = MediaStore.Images.Media.getBitmap(getActivity().getContentResolver(), uri); - fragment_register_id_card_photo.setImageBitmap(BitmapUtil.getRoundedCornerBitmap(bitmap, - (int)MainActivity.getInstance().getResources().getDimension(R.dimen.w10dp))); - fragment_register_id_card_photo_img = bitmap; - MainActivity.getInstance().getContentResolver().delete(uri, null, null); - - fragment_register_id_card_photo_placeholder_image.setVisibility(View.INVISIBLE); - fragment_register_id_card_photo_placeholder_text_view.setVisibility(View.INVISIBLE); - } else if (idCardImageCaptureFile != null){ - if (idCardImageCaptureFile.exists()) { - BitmapFactory.Options options = new BitmapFactory.Options(); - options.inJustDecodeBounds = true; - BitmapFactory.decodeFile(idCardImageCaptureFile.getAbsolutePath(), options); - int width = options.outWidth; - int height = options.outHeight; - WindowManager wm = (WindowManager) MainActivity.getInstance().getSystemService(Context.WINDOW_SERVICE); - int screenWidth = wm.getDefaultDisplay().getWidth(); - int screenHeight = wm.getDefaultDisplay().getHeight(); - int dx = width / screenWidth; - int dy = height / screenHeight; - int scale = 1; - if (dx > dy && dy >= 1) { - scale = dx; - } - if (dy > dx && dx >= 1) { - scale = dy; - } - options.inSampleSize = scale; - options.inJustDecodeBounds = false; - Bitmap bitmap = BitmapFactory.decodeFile(idCardImageCaptureFile.getAbsolutePath(), options); - - fragment_register_id_card_photo.setImageBitmap(BitmapUtil.getRoundedCornerBitmap(bitmap, - (int)MainActivity.getInstance().getResources().getDimension(R.dimen.w10dp))); - fragment_register_id_card_photo_img = bitmap; - MainActivity.getInstance().getContentResolver().delete(Uri.fromFile(idCardImageCaptureFile), null, null); - - fragment_register_id_card_photo_placeholder_image.setVisibility(View.INVISIBLE); - fragment_register_id_card_photo_placeholder_text_view.setVisibility(View.INVISIBLE); - idCardImageCaptureFile = null; - } - } - } catch (Exception e) { - e.printStackTrace(); - } - } - } - - public void resetForm() { - selectedCustomPhotoId = -1; - selectedSurveillancePhotoId = -1; - - idCardHeadPath = ""; - - fragment_register_name.setValue("寰愪慨婧�"+Math.random()); - fragment_register_phone.setValue("13691348767"); - fragment_register_id_num.setValue("36041419292222222"); - fragment_register_birthday.setValue("1985-08-12"); - fragment_register_company.setValue("璐濇�濈"); - fragment_register_remark.setValue("澶囨敞"); - - fragment_register_name.setValue(""); - fragment_register_id_num.setValue(""); - fragment_register_birthday.setValue(""); - - fragment_register_gender.setValue("鐢�"); - fragment_register_id_class.setValue("韬唤璇�"); - fragment_register_country.setValue("涓浗"); - fragment_register_visitor_class.setValue("鏅�氳瀹�"); - fragment_register_surveillance_photo_img = null; - fragment_register_upload_custom_photo_img = null; - fragment_register_id_card_photo_img = null; - fragment_register_surveillance_photo.setImageBitmap(null); - fragment_register_upload_custom_photo.setImageBitmap(null); - fragment_register_id_card_photo.setImageBitmap(null); - fragment_register_surveillance_photo_placeholder_image.setVisibility(View.VISIBLE); - fragment_register_surveillance_photo_placeholder_text_view.setVisibility(View.VISIBLE); - fragment_register_upload_custom_photo_placeholder_image.setVisibility(View.VISIBLE); - fragment_register_upload_custom_photo_placeholder_text_view.setVisibility(View.VISIBLE); - fragment_register_id_card_photo_placeholder_image.setVisibility(View.VISIBLE); - fragment_register_id_card_photo_placeholder_text_view.setVisibility(View.VISIBLE); - this.surveillanceQueryItem_selectPhoto = null; - this.surveillanceQueryItem_uploadPhoto = null; - } - - //@OnClick(R.id.fragment_register_country) - public void fragment_register_country_click(View view) { - new CountryDialog(fragment_register_linear_layout, new OkClickedListener() { - public void onSelected(String value) { - fragment_register_country.setValue(value); - } - },fragment_register_country.getValue()); - } - - //@OnClick(R.id.fragment_register_gender) - public void fragment_register_gender_click(View view) { - new SelectDialog(fragment_register_linear_layout, Constant.DialogSelectType.GENDER, new OkClickedListener() { - public void onSelected(String value) { - fragment_register_gender.setValue(value); - } - }, fragment_register_gender.getValue()); - } - - //@OnClick(R.id.fragment_register_birthday) - public void fragment_register_birthday_click(View view) { - String birthdayStr = fragment_register_birthday.getValue(); - Date birthday = new Date(); - if (birthdayStr != null && !"".equals(birthdayStr)) { - SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); - try { - birthday = sdf.parse(birthdayStr); - } catch (Exception e) { - e.printStackTrace(); - } - } - - new DateSelectDialog( - new OkClickedListener(){ - public void onSelected(String value) { - fragment_register_birthday.setValue(value); - } - }, birthday); - } - - //@OnClick(R.id.fragment_register_visitor_class) - public void fragment_register_visitor_class_click(View view) { - new SelectDialog(fragment_register_linear_layout, Constant.DialogSelectType.VISITOR_TYPE, new OkClickedListener() { - public void onSelected(String value) { - fragment_register_visitor_class.setValue(value); - } - }, fragment_register_visitor_class.getValue()); - } - - //@OnClick(R.id.fragment_register_id_class) - public void fragment_register_id_class_click(View view) { - new SelectDialog(fragment_register_linear_layout, Constant.DialogSelectType.ID_TYPE, new OkClickedListener() { - public void onSelected(String value) { - fragment_register_id_class.setValue(value); - } - }, fragment_register_id_class.getValue()); - } - - @OnClick(R.id.fragment_register_back) - public void fragment_register_back_click(View view) { - MainActivity.selectPage(0); - } - - @OnClick(R.id.fragment_register_surveillance_photo) - public void fragment_register_surveillance_photo_click(View view) { - SurveillanceFragment.SurveillancePhotoSelectListViewAdapter.selectPhotoOrUploadPhoto = CommonVariables.SelectPhotoType.SELECT_PHOTO; - new SurveillancePhotoDialog(fragment_register_linear_layout, Constant.DialogSelectType.ID_TYPE, new OkClickedListener() { - public void onSelected(String value) { - } - }, selectedSurveillancePhotoId); - } - - @OnClick(R.id.fragment_register_upload_custom_photo) - public void fragment_register_upload_custom_photo_click(View view) { - SurveillanceFragment.SurveillancePhotoSelectListViewAdapter.selectPhotoOrUploadPhoto = CommonVariables.SelectPhotoType.UPLOAD_PHOTO; - new SurveillancePhotoDialog(fragment_register_linear_layout, Constant.DialogSelectType.ID_TYPE, new OkClickedListener() { - public void onSelected(String value) { - } - }, selectedCustomPhotoId); - } - - @OnClick(R.id.fragment_register_id_card_photo) - public void fragment_register_id_card_photo_click(View view) { - Intent intent = new Intent(); - intent.setAction(MediaStore.ACTION_IMAGE_CAPTURE); - idCardImageCaptureFile = new File(Environment.getExternalStorageDirectory(), System.currentTimeMillis()+".jpg"); - intent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(idCardImageCaptureFile)); - startActivityForResult(intent, fragment_register_id_card_photo_); - } - - @Override - public void onClick(View v) {} - - public void setRegisterInfo(CheckInQueryItem item) { - fragment_register_surveillance_photo.setImageURI(Uri.parse(AppApi.IMAGE_URL_BASE + item.getSurveillancePhoto())); - } - - public ImageView get_fragment_register_choose_photo() { - return fragment_register_surveillance_photo; - } - - public void setChoosePhoto(Bitmap bitmap) { - fragment_register_surveillance_photo.setImageBitmap(BitmapUtil.getRoundedCornerBitmap(bitmap, - (int)MainActivity.getInstance().getResources().getDimension(R.dimen.w10dp))); - fragment_register_surveillance_photo_placeholder_text_view.setVisibility(View.INVISIBLE); - fragment_register_surveillance_photo_placeholder_image.setVisibility(View.INVISIBLE); - } - - public void setSurveillanceQueryItem_selectPhoto(SurveillanceQueryItem item) { - this.surveillanceQueryItem_selectPhoto = item; - } - - @Override - protected void initData() { - resetForm(); - idCardReaderThread = new IdCardReaderThread(); - idCardReaderThread.start(); - } - - public void fillFormWithIdCard(IdCard idCard) { - try { - fragment_register_name.setValue(idCard.getName()); - fragment_register_id_num.setValue(idCard.getCardNumber()); - - SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd"); - SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-MM-dd"); - - fragment_register_birthday.setValue(sdf1.format(sdf.parse(idCard.getBirthday()))); - fragment_register_gender.setValue(idCard.getGender()); - fragment_register_id_class.setValue("韬唤璇�"); - BitmapFactory.Options options = new BitmapFactory.Options(); - options.inPreferredConfig = Bitmap.Config.ARGB_8888; - Bitmap bitmap = BitmapFactory.decodeFile(idCard.getHeadPath(), options); - fragment_register_id_card_photo.setImageBitmap(bitmap); - fragment_register_id_card_photo_placeholder_image.setVisibility(View.INVISIBLE); - fragment_register_id_card_photo_placeholder_text_view.setVisibility(View.INVISIBLE); - idCardHeadPath = idCard.getHeadPath(); - } catch (Exception e) { - e.printStackTrace(); - } - } - - private boolean registerFragmentVisible = false; - - @Override - public void setMenuVisibility(boolean menuVisible) { - super.setMenuVisibility(menuVisible); - registerFragmentVisible = menuVisible; - } - - - - -} diff --git a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/fragment/SurveillanceFragment.java b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/fragment/SurveillanceFragment.java index 7fb2382..871329f 100644 --- a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/fragment/SurveillanceFragment.java +++ b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/fragment/SurveillanceFragment.java @@ -11,6 +11,7 @@ import android.view.SurfaceHolder; import android.view.SurfaceView; import android.view.View; +import android.widget.LinearLayout; import android.widget.ProgressBar; import android.widget.RadioButton; import android.widget.RadioGroup; @@ -69,6 +70,9 @@ private RelativeLayout fragment_supervisory_exit_camera_relative_layout; @ViewInject(R.id.fragment_supervisory_enter_camera_relative_layout) private RelativeLayout fragment_supervisory_enter_camera_relative_layout; + @ViewInject(R.id.fragment_surveillance_bottom_linear_layout) + private LinearLayout fragment_surveillance_bottom_linear_layout; + static boolean useNative = false; @@ -169,7 +173,8 @@ if (CommonVariables.FACE_SERVER) { fragment_supervisory_enter_camera_relative_layout.addView(MainActivity.getInstance().mPreview); fragment_supervisory_enter_camera_relative_layout.addView(MainActivity.getInstance().mDraw); - + //fragment_supervisory_exit_camera_relative_layout.setVisibility(View.GONE); + //fragment_surveillance_bottom_linear_layout.setVisibility(View.GONE); } fragment_supervisory_enter_camera.getHolder().addCallback(new SurfaceHolder.Callback() { public void surfaceCreated(SurfaceHolder holder) { diff --git a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/fragment/VisitorRegisterFragment.java b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/fragment/VisitorRegisterFragment.java new file mode 100644 index 0000000..fdf02c2 --- /dev/null +++ b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/fragment/VisitorRegisterFragment.java @@ -0,0 +1,529 @@ +package cn.com.basic.face.fragment; + +import android.app.Activity; +import android.content.Context; +import android.content.Intent; +import android.graphics.Bitmap; +import android.graphics.BitmapFactory; +import android.net.Uri; +import android.os.Environment; +import android.provider.MediaStore; +import android.view.View; +import android.view.WindowManager; +import android.widget.ImageView; +import android.widget.LinearLayout; +import android.widget.TextView; +import android.widget.Toast; + +import com.bsk.zhangbo.demoforbsk.R; + +import cn.com.basic.face.adapter.SurveillanceFragment; +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.item.CheckInQueryItem; +import cn.com.basic.face.discern.query.item.SurveillanceQueryItem; +import cn.com.basic.face.service.DictionaryMng; +import cn.com.basic.face.service.RegisterMng; +import cn.com.basic.face.util.BitmapUtil; +import cn.com.basic.face.util.Constant; +import cn.com.basic.face.util.FileUtil; + +import cn.com.basic.face.util.IdCard; +import cn.com.basic.face.util.IdCardReaderThread; +import cn.com.basic.face.util.NativeImg; +import cn.com.basic.face.util.OkClickedListener; + +import cn.com.basic.face.util.AppApi; +import cn.com.basic.face.dialog.DateSelectDialog; +import cn.com.basic.face.dialog.CountryDialog; +import cn.com.basic.face.widget.register.RegisterRightFieldLabelView; +import cn.com.basic.face.widget.register.RegisterRightFieldTextView; +import cn.com.basic.face.dialog.SelectDialog; + +import com.lidroid.xutils.view.annotation.ViewInject; +import com.lidroid.xutils.view.annotation.event.OnClick; + +import org.xutils.http.RequestParams; + +import java.io.ByteArrayOutputStream; +import java.io.File; +import java.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.Date; +import java.util.List; + +import cn.com.basic.face.base.MainActivity; + +public class VisitorRegisterFragment extends BaseFragment implements View.OnClickListener{ + + @ViewInject(R.id.fragment_visitor_register_name) + private RegisterRightFieldTextView fragment_visitor_register_name; + @ViewInject(R.id.fragment_visitor_register_gender) + private RegisterRightFieldLabelView fragment_visitor_register_gender; + @ViewInject(R.id.fragment_visitor_register_country) + private RegisterRightFieldLabelView fragment_visitor_register_country; + @ViewInject(R.id.fragment_visitor_register_birthday) + private RegisterRightFieldLabelView fragment_visitor_register_birthday; + @ViewInject(R.id.fragment_visitor_register_visitor_class) + private RegisterRightFieldLabelView fragment_visitor_register_visitor_class; + @ViewInject(R.id.fragment_visitor_register_phone) + private RegisterRightFieldTextView fragment_visitor_register_phone; + @ViewInject(R.id.fragment_visitor_register_id_class) + private RegisterRightFieldLabelView fragment_visitor_register_id_class; + @ViewInject(R.id.fragment_visitor_register_id_num) + private RegisterRightFieldTextView fragment_visitor_register_id_num; + @ViewInject(R.id.fragment_visitor_register_company) + private RegisterRightFieldTextView fragment_visitor_register_company; + @ViewInject(R.id.fragment_visitor_register_remark) + private RegisterRightFieldTextView fragment_visitor_register_remark; + @ViewInject(R.id.fragment_visitor_register_surveillance_photo) + private ImageView fragment_visitor_register_surveillance_photo; + @ViewInject(R.id.fragment_visitor_register_upload_custom_photo) + private ImageView fragment_visitor_register_upload_custom_photo; + @ViewInject(R.id.fragment_visitor_register_id_card_photo) + private ImageView fragment_visitor_register_id_card_photo; + @ViewInject(R.id.fragment_visitor_register_linear_layout) + private LinearLayout fragment_visitor_register_linear_layout; + @ViewInject(R.id.fragment_visitor_register_surveillance_photo_placeholder_image) + private ImageView fragment_visitor_register_surveillance_photo_placeholder_image; + @ViewInject(R.id.fragment_visitor_register_upload_custom_photo_placeholder_image) + private ImageView fragment_visitor_register_upload_custom_photo_placeholder_image; + @ViewInject(R.id.fragment_visitor_register_id_card_photo_placeholder_image) + private ImageView fragment_visitor_register_id_card_photo_placeholder_image; + @ViewInject(R.id.fragment_visitor_register_surveillance_photo_placeholder_text_view) + private TextView fragment_visitor_register_surveillance_photo_placeholder_text_view; + @ViewInject(R.id.fragment_visitor_register_upload_custom_photo_placeholder_text_view) + private TextView fragment_visitor_register_upload_custom_photo_placeholder_text_view; + @ViewInject(R.id.fragment_visitor_register_id_card_photo_placeholder_text_view) + private TextView fragment_visitor_register_id_card_photo_placeholder_text_view; + + private static final int fragment_visitor_register_surveillance_photo_ = 1; + private static final int fragment_visitor_register_upload_custom_photo_ = 2; + private static final int fragment_visitor_register_id_card_photo_ = 3; + + private Bitmap fragment_visitor_register_surveillance_photo_img; + private Bitmap fragment_visitor_register_upload_custom_photo_img; + private Bitmap fragment_visitor_register_id_card_photo_img; + + private SurveillanceQueryItem surveillanceQueryItem_selectPhoto; + private SurveillanceQueryItem surveillanceQueryItem_uploadPhoto; + + public static long selectedSurveillancePhotoId = -1; + public static long selectedCustomPhotoId = -1; + + private File idCardImageCaptureFile = null; + + private IdCardReaderThread idCardReaderThread = null; + + private String idCardHeadPath = ""; + + private static VisitorRegisterFragment instance = new VisitorRegisterFragment(); + + public static VisitorRegisterFragment getInstance() { + return instance; + } + @Override + protected int getLayoutId() { + return R.layout.fragment_visitor_register; + } + + @OnClick(R.id.fragment_visitor_register_add) + public void fragment_visitor_register_add_click(View view) { + resetForm(); + } + + @OnClick(R.id.fragment_visitor_register_save) + public void fragment_visitor_register_save_click(View v) { + RequestParams params = new RequestParams(); + + String name = fragment_visitor_register_name.getValue(); + if (name.trim().length() <= 0) { + Toast.makeText(MainActivity.getInstance(), "濮撳悕涓嶈兘涓虹┖", Toast.LENGTH_SHORT).show(); + fragment_visitor_register_name.requestFocus(); + return; + } + String phone = fragment_visitor_register_phone.getValue(); + if (phone.trim().length() <= 0) { + Toast.makeText(MainActivity.getInstance(), "鐢佃瘽涓嶈兘涓虹┖", Toast.LENGTH_SHORT).show(); + fragment_visitor_register_phone.requestFocus(); + return; + } + String company = fragment_visitor_register_company.getValue(); + if (company.trim().length() <= 0) { + Toast.makeText(MainActivity.getInstance(), "鍏徃鍚嶇О涓嶈兘涓虹┖", Toast.LENGTH_SHORT).show(); + fragment_visitor_register_company.requestFocus(); + return; + } + String visitor_type = fragment_visitor_register_visitor_class.getValue(); + if (visitor_type.trim().length() <= 0) { + Toast.makeText(MainActivity.getInstance(), "璁垮绫诲瀷涓嶈兘涓虹┖", Toast.LENGTH_SHORT).show(); + fragment_visitor_register_visitor_class.callOnClick(); + return; + } + + params.addBodyParameter(Register.FieldNames.username, name); + params.addBodyParameter(Register.FieldNames.mobilePhone, phone); + params.addBodyParameter(Register.FieldNames.genderId, DictionaryMng.getInstance().getId(fragment_visitor_register_gender.getValue())); + params.addBodyParameter(Register.FieldNames.identityTypeId, DictionaryMng.getInstance().getId(fragment_visitor_register_id_class.getValue())); + params.addBodyParameter(Register.FieldNames.countryId, DictionaryMng.getInstance().getId(fragment_visitor_register_country.getValue())); + params.addBodyParameter(Register.FieldNames.visitorTypeId, DictionaryMng.getInstance().getId(visitor_type)); + params.addBodyParameter(Register.FieldNames.identifyNum, fragment_visitor_register_id_num.getValue()); + params.addBodyParameter(Register.FieldNames.companyId, company); + params.addBodyParameter(Register.FieldNames.birthday, fragment_visitor_register_birthday.getValue()); + params.addBodyParameter(Register.FieldNames.remark, fragment_visitor_register_remark.getValue()); + + if (surveillanceQueryItem_selectPhoto != null) { + params.addBodyParameter("width", surveillanceQueryItem_selectPhoto.getWidth()); + params.addBodyParameter("height", surveillanceQueryItem_selectPhoto.getHeight()); + fragment_visitor_register_surveillance_photo_img = surveillanceQueryItem_selectPhoto.getBitmap(); + + NativeImg nativeImg = surveillanceQueryItem_selectPhoto.getNativeImg(); + byte[] imageBytes = new byte[nativeImg.size]; + for (int i = 0; i < nativeImg.size; i++) { + imageBytes[i] = nativeImg.image[i]; + } + params.addBodyParameter("rawSurveillancePhoto", FileUtil.writeToFile("rawSurveillancePhoto", imageBytes)); + } else { + params.addBodyParameter("rawSurveillancePhoto", FileUtil.writeToFile("rawSurveillancePhoto", new byte[]{})); + } + + if (fragment_visitor_register_surveillance_photo_img != null) { + ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream(); + fragment_visitor_register_surveillance_photo_img.compress(Bitmap.CompressFormat.JPEG, 100, byteArrayOutputStream); + byte[] imageBytes = byteArrayOutputStream.toByteArray(); + + params.addBodyParameter("surveillancePhoto", FileUtil.writeToFile("surveillancePhoto", imageBytes)); + } else { + params.addBodyParameter("surveillancePhoto", FileUtil.writeToFile("surveillancePhoto", new byte[]{})); + } + + if (fragment_visitor_register_upload_custom_photo_img != null) { + ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream(); + fragment_visitor_register_upload_custom_photo_img.compress(Bitmap.CompressFormat.JPEG, 100, byteArrayOutputStream); + byte[] imageBytes = byteArrayOutputStream.toByteArray(); + + params.addBodyParameter("uploadCustomPhoto", FileUtil.writeToFile("uploadCustomPhoto", imageBytes)); + } else { + params.addBodyParameter("uploadCustomPhoto", FileUtil.writeToFile("uploadCustomPhoto", new byte[]{})); + } + + if (fragment_visitor_register_id_card_photo_img != null) { + ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream(); + fragment_visitor_register_id_card_photo_img.compress(Bitmap.CompressFormat.JPEG, 100, byteArrayOutputStream); + byte[] imageBytes = byteArrayOutputStream.toByteArray(); + + params.addBodyParameter("idCardPhoto", FileUtil.writeToFile("idCardPhoto", imageBytes)); + } else { + params.addBodyParameter("idCardPhoto", FileUtil.writeToFile("idCardPhoto", new byte[]{})); + } + RegisterMng.getInstance().add(params, idCardHeadPath); + } + + public void set_fragment_visitor_register_surveillance_photo(SurveillanceQueryItem item) { + surveillanceQueryItem_selectPhoto = item; + fragment_visitor_register_surveillance_photo.setImageBitmap(BitmapUtil.getRoundedCornerBitmap(item.getBitmap(), + (int)MainActivity.getInstance().getResources().getDimension(R.dimen.w10dp))); + fragment_visitor_register_surveillance_photo_img = item.getBitmap(); + fragment_visitor_register_surveillance_photo_placeholder_image.setVisibility(View.INVISIBLE); + fragment_visitor_register_surveillance_photo_placeholder_text_view.setVisibility(View.INVISIBLE); + } + + public void set_fragment_visitor_register_upload_custom_photo(SurveillanceQueryItem item) { + surveillanceQueryItem_uploadPhoto = item; + fragment_visitor_register_upload_custom_photo.setImageBitmap(BitmapUtil.getRoundedCornerBitmap(item.getBitmap(), + (int)MainActivity.getInstance().getResources().getDimension(R.dimen.w10dp))); + fragment_visitor_register_upload_custom_photo_img = item.getBitmap(); + + fragment_visitor_register_upload_custom_photo_placeholder_image.setVisibility(View.INVISIBLE); + fragment_visitor_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); + if (requestCode == fragment_visitor_register_surveillance_photo_ && resultCode == Activity.RESULT_OK && data != null && data.getData() != null) { + Uri uri = data.getData(); + try { + Bitmap bitmap = MediaStore.Images.Media.getBitmap(getActivity().getContentResolver(), uri); + fragment_visitor_register_surveillance_photo.setImageBitmap(bitmap); + fragment_visitor_register_surveillance_photo_img = bitmap; + + fragment_visitor_register_surveillance_photo_placeholder_image.setVisibility(View.INVISIBLE); + fragment_visitor_register_surveillance_photo_placeholder_text_view.setVisibility(View.INVISIBLE); + + } catch (Exception e) { + e.printStackTrace(); + } + } + if (requestCode == fragment_visitor_register_upload_custom_photo_ && resultCode == Activity.RESULT_OK && data != null && data.getData() != null) { + Uri uri = data.getData(); + try { + Bitmap bitmap = MediaStore.Images.Media.getBitmap(getActivity().getContentResolver(), uri); + fragment_visitor_register_upload_custom_photo.setImageBitmap(bitmap); + + fragment_visitor_register_upload_custom_photo_placeholder_image.setVisibility(View.INVISIBLE); + fragment_visitor_register_upload_custom_photo_placeholder_text_view.setVisibility(View.INVISIBLE); + + List<SurveillanceQueryItem> bitmapList = new ArrayList<>(); + SurveillanceQueryItem item = new SurveillanceQueryItem(); + item.setWidth(bitmap.getWidth()+""); + item.setHeight(bitmap.getHeight()+""); + item.setLocalUri(uri); + + setSurveillanceQueryItem_selectPhoto(item); + bitmapList.add(item); + bitmapList.add(item); + bitmapList.add(item); + + //SurveillanceMng.getInstance().addBitmap(bitmapList, null, 0, CommonVariables.Camera.IN); + + } catch (Exception e) { + e.printStackTrace(); + } + } + if (requestCode == fragment_visitor_register_id_card_photo_ && resultCode == Activity.RESULT_OK) { + + try { + if (data != null && data.getData() != null) { + Uri uri = data.getData(); + Bitmap bitmap = MediaStore.Images.Media.getBitmap(getActivity().getContentResolver(), uri); + fragment_visitor_register_id_card_photo.setImageBitmap(BitmapUtil.getRoundedCornerBitmap(bitmap, + (int)MainActivity.getInstance().getResources().getDimension(R.dimen.w10dp))); + fragment_visitor_register_id_card_photo_img = bitmap; + MainActivity.getInstance().getContentResolver().delete(uri, null, null); + + fragment_visitor_register_id_card_photo_placeholder_image.setVisibility(View.INVISIBLE); + fragment_visitor_register_id_card_photo_placeholder_text_view.setVisibility(View.INVISIBLE); + } else if (idCardImageCaptureFile != null){ + if (idCardImageCaptureFile.exists()) { + BitmapFactory.Options options = new BitmapFactory.Options(); + options.inJustDecodeBounds = true; + BitmapFactory.decodeFile(idCardImageCaptureFile.getAbsolutePath(), options); + int width = options.outWidth; + int height = options.outHeight; + WindowManager wm = (WindowManager) MainActivity.getInstance().getSystemService(Context.WINDOW_SERVICE); + int screenWidth = wm.getDefaultDisplay().getWidth(); + int screenHeight = wm.getDefaultDisplay().getHeight(); + int dx = width / screenWidth; + int dy = height / screenHeight; + int scale = 1; + if (dx > dy && dy >= 1) { + scale = dx; + } + if (dy > dx && dx >= 1) { + scale = dy; + } + options.inSampleSize = scale; + options.inJustDecodeBounds = false; + Bitmap bitmap = BitmapFactory.decodeFile(idCardImageCaptureFile.getAbsolutePath(), options); + + fragment_visitor_register_id_card_photo.setImageBitmap(BitmapUtil.getRoundedCornerBitmap(bitmap, + (int)MainActivity.getInstance().getResources().getDimension(R.dimen.w10dp))); + fragment_visitor_register_id_card_photo_img = bitmap; + MainActivity.getInstance().getContentResolver().delete(Uri.fromFile(idCardImageCaptureFile), null, null); + + fragment_visitor_register_id_card_photo_placeholder_image.setVisibility(View.INVISIBLE); + fragment_visitor_register_id_card_photo_placeholder_text_view.setVisibility(View.INVISIBLE); + idCardImageCaptureFile = null; + } + } + } catch (Exception e) { + e.printStackTrace(); + } + } + } + + public void resetForm() { + selectedCustomPhotoId = -1; + selectedSurveillancePhotoId = -1; + + idCardHeadPath = ""; + + fragment_visitor_register_name.setValue("寰愪慨婧�"+Math.random()); + fragment_visitor_register_phone.setValue("13691348767"); + fragment_visitor_register_id_num.setValue("36041419292222222"); + fragment_visitor_register_birthday.setValue("1985-08-12"); + fragment_visitor_register_company.setValue("璐濇�濈"); + fragment_visitor_register_remark.setValue("澶囨敞"); + + fragment_visitor_register_name.setValue(""); + fragment_visitor_register_id_num.setValue(""); + fragment_visitor_register_birthday.setValue(""); + + fragment_visitor_register_gender.setValue("鐢�"); + fragment_visitor_register_id_class.setValue("韬唤璇�"); + fragment_visitor_register_country.setValue("涓浗"); + fragment_visitor_register_visitor_class.setValue("鏅�氳瀹�"); + fragment_visitor_register_surveillance_photo_img = null; + fragment_visitor_register_upload_custom_photo_img = null; + fragment_visitor_register_id_card_photo_img = null; + fragment_visitor_register_surveillance_photo.setImageBitmap(null); + fragment_visitor_register_upload_custom_photo.setImageBitmap(null); + fragment_visitor_register_id_card_photo.setImageBitmap(null); + fragment_visitor_register_surveillance_photo_placeholder_image.setVisibility(View.VISIBLE); + fragment_visitor_register_surveillance_photo_placeholder_text_view.setVisibility(View.VISIBLE); + fragment_visitor_register_upload_custom_photo_placeholder_image.setVisibility(View.VISIBLE); + fragment_visitor_register_upload_custom_photo_placeholder_text_view.setVisibility(View.VISIBLE); + fragment_visitor_register_id_card_photo_placeholder_image.setVisibility(View.VISIBLE); + fragment_visitor_register_id_card_photo_placeholder_text_view.setVisibility(View.VISIBLE); + this.surveillanceQueryItem_selectPhoto = null; + this.surveillanceQueryItem_uploadPhoto = null; + } + + //@OnClick(R.id.fragment_visitor_register_country) + public void fragment_visitor_register_country_click(View view) { + new CountryDialog(fragment_visitor_register_linear_layout, new OkClickedListener() { + public void onSelected(String value) { + fragment_visitor_register_country.setValue(value); + } + },fragment_visitor_register_country.getValue()); + } + + //@OnClick(R.id.fragment_visitor_register_gender) + public void fragment_visitor_register_gender_click(View view) { + new SelectDialog(fragment_visitor_register_linear_layout, Constant.DialogSelectType.GENDER, new OkClickedListener() { + public void onSelected(String value) { + fragment_visitor_register_gender.setValue(value); + } + }, fragment_visitor_register_gender.getValue()); + } + + //@OnClick(R.id.fragment_visitor_register_birthday) + public void fragment_visitor_register_birthday_click(View view) { + String birthdayStr = fragment_visitor_register_birthday.getValue(); + Date birthday = new Date(); + if (birthdayStr != null && !"".equals(birthdayStr)) { + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); + try { + birthday = sdf.parse(birthdayStr); + } catch (Exception e) { + e.printStackTrace(); + } + } + + new DateSelectDialog( + new OkClickedListener(){ + public void onSelected(String value) { + fragment_visitor_register_birthday.setValue(value); + } + }, birthday); + } + + //@OnClick(R.id.fragment_visitor_register_visitor_class) + public void fragment_visitor_register_visitor_class_click(View view) { + new SelectDialog(fragment_visitor_register_linear_layout, Constant.DialogSelectType.VISITOR_TYPE, new OkClickedListener() { + public void onSelected(String value) { + fragment_visitor_register_visitor_class.setValue(value); + } + }, fragment_visitor_register_visitor_class.getValue()); + } + + //@OnClick(R.id.fragment_visitor_register_id_class) + public void fragment_visitor_register_id_class_click(View view) { + new SelectDialog(fragment_visitor_register_linear_layout, Constant.DialogSelectType.ID_TYPE, new OkClickedListener() { + public void onSelected(String value) { + fragment_visitor_register_id_class.setValue(value); + } + }, fragment_visitor_register_id_class.getValue()); + } + + @OnClick(R.id.fragment_visitor_register_back) + public void fragment_visitor_register_back_click(View view) { + MainActivity.selectPage(0); + } + + @OnClick(R.id.fragment_visitor_register_surveillance_photo) + public void fragment_visitor_register_surveillance_photo_click(View view) { + SurveillanceFragment.SurveillancePhotoSelectListViewAdapter.selectPhotoOrUploadPhoto = CommonVariables.SelectPhotoType.SELECT_PHOTO; + new SurveillancePhotoDialog(fragment_visitor_register_linear_layout, Constant.DialogSelectType.ID_TYPE, new OkClickedListener() { + public void onSelected(String value) { + } + }, selectedSurveillancePhotoId); + } + + @OnClick(R.id.fragment_visitor_register_upload_custom_photo) + public void fragment_visitor_register_upload_custom_photo_click(View view) { + SurveillanceFragment.SurveillancePhotoSelectListViewAdapter.selectPhotoOrUploadPhoto = CommonVariables.SelectPhotoType.UPLOAD_PHOTO; + new SurveillancePhotoDialog(fragment_visitor_register_linear_layout, Constant.DialogSelectType.ID_TYPE, new OkClickedListener() { + public void onSelected(String value) { + } + }, selectedCustomPhotoId); + } + + @OnClick(R.id.fragment_visitor_register_id_card_photo) + public void fragment_visitor_register_id_card_photo_click(View view) { + Intent intent = new Intent(); + intent.setAction(MediaStore.ACTION_IMAGE_CAPTURE); + idCardImageCaptureFile = new File(Environment.getExternalStorageDirectory(), System.currentTimeMillis()+".jpg"); + intent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(idCardImageCaptureFile)); + startActivityForResult(intent, fragment_visitor_register_id_card_photo_); + } + + @Override + public void onClick(View v) {} + + public void setRegisterInfo(CheckInQueryItem item) { + fragment_visitor_register_surveillance_photo.setImageURI(Uri.parse(AppApi.IMAGE_URL_BASE + item.getSurveillancePhoto())); + } + + public ImageView get_fragment_visitor_register_choose_photo() { + return fragment_visitor_register_surveillance_photo; + } + + public void setChoosePhoto(Bitmap bitmap) { + fragment_visitor_register_surveillance_photo.setImageBitmap(BitmapUtil.getRoundedCornerBitmap(bitmap, + (int)MainActivity.getInstance().getResources().getDimension(R.dimen.w10dp))); + fragment_visitor_register_surveillance_photo_placeholder_text_view.setVisibility(View.INVISIBLE); + fragment_visitor_register_surveillance_photo_placeholder_image.setVisibility(View.INVISIBLE); + } + + public void setSurveillanceQueryItem_selectPhoto(SurveillanceQueryItem item) { + this.surveillanceQueryItem_selectPhoto = item; + } + + @Override + protected void initData() { + resetForm(); + if (CommonVariables.ID_CARD) { + idCardReaderThread = new IdCardReaderThread(); + idCardReaderThread.start(); + } + } + + public void fillFormWithIdCard(IdCard idCard) { + try { + fragment_visitor_register_name.setValue(idCard.getName()); + fragment_visitor_register_id_num.setValue(idCard.getCardNumber()); + + SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd"); + SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-MM-dd"); + + fragment_visitor_register_birthday.setValue(sdf1.format(sdf.parse(idCard.getBirthday()))); + fragment_visitor_register_gender.setValue(idCard.getGender()); + fragment_visitor_register_id_class.setValue("韬唤璇�"); + BitmapFactory.Options options = new BitmapFactory.Options(); + options.inPreferredConfig = Bitmap.Config.ARGB_8888; + Bitmap bitmap = BitmapFactory.decodeFile(idCard.getHeadPath(), options); + fragment_visitor_register_id_card_photo.setImageBitmap(bitmap); + fragment_visitor_register_id_card_photo_placeholder_image.setVisibility(View.INVISIBLE); + fragment_visitor_register_id_card_photo_placeholder_text_view.setVisibility(View.INVISIBLE); + idCardHeadPath = idCard.getHeadPath(); + } catch (Exception e) { + e.printStackTrace(); + } + } + + private boolean registerFragmentVisible = false; + + @Override + public void setMenuVisibility(boolean menuVisible) { + super.setMenuVisibility(menuVisible); + registerFragmentVisible = menuVisible; + } + + + + +} diff --git a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/RegisterMng.java b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/RegisterMng.java index 849fbc4..db5cfdc 100644 --- a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/RegisterMng.java +++ b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/RegisterMng.java @@ -3,8 +3,7 @@ import android.widget.Toast; import cn.com.basic.face.base.BaseApplication; -import cn.com.basic.face.discern.entity.Device; -import cn.com.basic.face.fragment.RegisterFragment; +import cn.com.basic.face.fragment.VisitorRegisterFragment; import cn.com.basic.face.util.AppApi; import org.xutils.http.RequestParams; @@ -72,7 +71,7 @@ @Override public void success() { Toast.makeText(BaseApplication.getInstance(),"娣诲姞鎴愬姛", Toast.LENGTH_SHORT).show(); - RegisterFragment.getInstance().resetForm(); + VisitorRegisterFragment.getInstance().resetForm(); } }); }catch(Exception e) { @@ -109,7 +108,7 @@ x.http().post(params, new BaseCommonCallBack() { @Override public void success() { - if (!RegisterFragment.getInstance().isVisible()) { + if (!VisitorRegisterFragment.getInstance().isVisible()) { return; } List<Double> percents = resultBean.getListBeanOfType(Double.class); @@ -117,7 +116,7 @@ double percent = percents.get(0); if (percent >= 70) { Toast.makeText(BaseApplication.getInstance(),"璁よ瘉閫氳繃", Toast.LENGTH_SHORT).show(); - RegisterFragment.getInstance().fillFormWithIdCard(idCard); + VisitorRegisterFragment.getInstance().fillFormWithIdCard(idCard); return; } System.out.println("percent="+percent); 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 6b36aad..b03ea79 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 @@ -1,39 +1,19 @@ package cn.com.basic.face.service; -import android.os.AsyncTask; -import android.util.Base64; -import android.widget.Toast; - -import com.alibaba.fastjson.JSON; -import com.alibaba.fastjson.JSONArray; - import org.xutils.http.RequestParams; import org.xutils.x; import java.io.File; import java.io.FileWriter; -import java.io.IOException; -import java.util.ArrayList; -import java.util.Date; -import java.util.HashSet; import java.util.List; -import java.util.Set; import cn.com.basic.face.base.BaseApplication; import cn.com.basic.face.base.MainActivity; import cn.com.basic.face.discern.common.BaseCommonCallBack; -import cn.com.basic.face.discern.common.CommonVariables; -import cn.com.basic.face.discern.common.ResultBean; -import cn.com.basic.face.discern.entity.Device; import cn.com.basic.face.discern.query.item.SurveillanceQueryItem; -import cn.com.basic.face.fragment.RegisterFragment; -import cn.com.basic.face.fragment.SurveillanceFragment; import cn.com.basic.face.util.AppApi; -import cn.com.basic.face.util.Constant; import cn.com.basic.face.util.FileUtil; -import cn.com.basic.face.util.PostData; import cn.com.basic.face.util.SurveillanceQueryItemUtil; -import cn.com.basic.face.util.Uploader; public class SurveillanceMng { @@ -102,7 +82,7 @@ @Override public void success() { try { - SurveillanceQueryItemUtil.getInstance().addItems(resultBean.getListBeanOfType(SurveillanceQueryItem.class), bitmapList); + SurveillanceQueryItemUtil.getInstance().addItems(resultBean.getListBeanOfType(SurveillanceQueryItem.class), bitmapList, cameraInOrOut); } catch(Exception e) { e.printStackTrace(); } diff --git a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/util/AppApi.java b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/util/AppApi.java index 7aa8d4b..1f718ad 100644 --- a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/util/AppApi.java +++ b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/util/AppApi.java @@ -4,14 +4,17 @@ //public final static String IMAGE_URL_BASE = "http://192.168.1.137:8333/face/img/"; //public final static String BASE_URL = "http://192.168.1.137:8333/face/"; - public final static String IMAGE_URL_BASE = "http://192.168.1.49:8888/"; + public final static String IMAGE_URL_BASE = "http://192.168.1.65:8888/"; //public final static String BASE_URL = "http://192.168.1.51/face/"; // public final static String BASE_URL = "http://192.168.1.4:8333/face/"; - public final static String BASE_URL = "http://192.168.1.77:8080/face/"; + public final static String BASE_URL = "http://192.168.1.35:8080/face/"; - //娉ㄥ唽娣诲姞 + //璁垮娉ㄥ唽娣诲姞 public static final String REGISTER_ADD = "Register/o_add.do"; + //鑰冨嫟娣诲姞 + public static final String ATTENDER_REGISTER_ADD = "Register/o_add_attender.do"; + //娉ㄥ唽韬唤璇佽璇� public static final String REGISTER_ID_CARD_AUTH = "Register/v_id_card_auth.do"; diff --git a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/util/IdCardReaderThread.java b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/util/IdCardReaderThread.java index 487f896..28c9c4d 100644 --- a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/util/IdCardReaderThread.java +++ b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/util/IdCardReaderThread.java @@ -14,7 +14,7 @@ import cn.com.basic.face.base.BaseApplication; import cn.com.basic.face.base.MainActivity; -import cn.com.basic.face.fragment.RegisterFragment; +import cn.com.basic.face.fragment.VisitorRegisterFragment; import cn.com.basic.face.service.RegisterMng; import static cn.com.basic.face.util.FileUtil.writeToFile; @@ -28,7 +28,7 @@ try{ Thread.sleep(2000); try { - if (!RegisterFragment.getInstance().isVisible()) { + if (!VisitorRegisterFragment.getInstance().isVisible()) { return; } diff --git a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/util/SurveillanceQueryItemUtil.java b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/util/SurveillanceQueryItemUtil.java index c52e764..e90b449 100644 --- a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/util/SurveillanceQueryItemUtil.java +++ b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/util/SurveillanceQueryItemUtil.java @@ -2,8 +2,10 @@ import java.util.ArrayList; import java.util.Date; +import java.util.HashMap; import java.util.HashSet; import java.util.List; +import java.util.Map; import java.util.Set; import cn.com.basic.face.discern.common.CommonVariables; @@ -26,19 +28,24 @@ private static List<SurveillanceQueryItem> visitorTwoRows = new ArrayList<>(); //绗竴琛屾樉绀虹鍒帮紝绗簩琛屾樉绀虹閫� private static List<SurveillanceQueryItem> attendanceTwoRows = new ArrayList<>(); - //鏈敞鍐岀殑鍒楄〃, 閫夋嫨鏃剁敤 - private static List<SurveillanceQueryItem> allUnregisterTwoRowsForSelect = new ArrayList(); + //鏈敞鍐岀殑璁垮鍒楄〃, 閫夋嫨鏃剁敤 + private static List<SurveillanceQueryItem> allUnregisterVisitorTwoRowsForSelect = new ArrayList(); + //鏈敞鍐岀殑鑰冨嫟鍒楄〃, 閫夋嫨鏃剁敤 + private static List<SurveillanceQueryItem> allUnregisterAttenderTwoRowsForSelect = new ArrayList(); - public void addItems(List<SurveillanceQueryItem> returnItems, List<SurveillanceQueryItem> requestItems) { + public void addItems(List<SurveillanceQueryItem> returnItems, List<SurveillanceQueryItem> requestItems, String cameraInOrOut) { for ( int i = 0; i < returnItems.size(); i++) { SurveillanceQueryItem returnItem = returnItems.get(i); SurveillanceQueryItem requestItem = requestItems.get(i); - addItem(returnItem, requestItem); + addItem(returnItem, requestItem, cameraInOrOut); } removeTimeoutItemAndShow(); } - public void addItem(SurveillanceQueryItem returnItem, SurveillanceQueryItem requestItem) { + public void addItem(SurveillanceQueryItem returnItem, SurveillanceQueryItem requestItem, String cameraInOrOut) { + if (!CommonVariables.FACE_SERVER) { + RtspFaceNative.setFaceLabel(Integer.parseInt(cameraInOrOut), requestItem.getStTrackId(), returnItem.getVisitorType()); + } returnItem.setCreateTime(new Date()); returnItem.setStTrackId(requestItem.getStTrackId()); returnItem.setBitmap(requestItem.getBitmap()); @@ -67,15 +74,20 @@ public List getAttendanceTwoRows() { attendanceTwoRows.clear(); for (SurveillanceQueryItem item : allItems) { - if (item.getRegisterOrCheckIn() == CommonVariables.Surveillance.VISIT_ATTENDANCE_ITEM_TYPE) { + if (item.getRegisterOrCheckIn() == CommonVariables.Surveillance.VISIT_ATTENDANCE_IN || + item.getRegisterOrCheckIn() == CommonVariables.Surveillance.VISIT_ATTENDANCE_OUT + ) { attendanceTwoRows.add(item); } } + AttendentUtil.removeDuplicateAttendanceIn(); + AttendentUtil.removeDuplicateAttendanceOut(); + AttendentUtil.sortByRow(); return attendanceTwoRows; } - public List getAllUnregisterTwoRowsForSelect(long selectedId) { - allUnregisterTwoRowsForSelect.clear(); + public List getAllUnregisterVisitorTwoRowsForSelect(long selectedId) { + allUnregisterVisitorTwoRowsForSelect.clear(); List<SurveillanceQueryItem> registerList = new ArrayList(); int countPerRow = 9; for (SurveillanceQueryItem surveillanceQueryItem : allItems) { @@ -113,8 +125,51 @@ } items.add(item); } - allUnregisterTwoRowsForSelect.addAll(items); - return allUnregisterTwoRowsForSelect; + allUnregisterVisitorTwoRowsForSelect.addAll(items); + return allUnregisterVisitorTwoRowsForSelect; + } + + public List getAllUnregisterAttenderTwoRowsForSelect(long selectedId) { + allUnregisterAttenderTwoRowsForSelect.clear(); + List<SurveillanceQueryItem> registerList = new ArrayList(); + int countPerRow = 9; + for (SurveillanceQueryItem surveillanceQueryItem : allItems) { + if (surveillanceQueryItem.getRegisterOrCheckIn() == CommonVariables.Surveillance.VISIT_REGISTER_ITEM_TYPE) { + if (registerList.size() > countPerRow*2) { + break; + } + if (surveillanceQueryItem.getIdForSelect() == selectedId) { + surveillanceQueryItem.setSurveillancePhotoSelected(true); + } else { + surveillanceQueryItem.setSurveillancePhotoSelected(false); + } + registerList.add(surveillanceQueryItem); + } + } + + SurveillanceQueryItem item; + List items = new ArrayList(); + int m = 0, n = 0; + for (int i = 0; i < countPerRow*2; i++) { + if (i % 2 == 0) { + if (m < registerList.size()) { + item = registerList.get(m); + m++; + } else { + item = VisitorUtil.getBlankItem(); + } + } else { + if (n < registerList.size() - countPerRow) { + item = registerList.get(countPerRow+n); + n++; + } else { + item = VisitorUtil.getBlankItem(); + } + } + items.add(item); + } + allUnregisterAttenderTwoRowsForSelect.addAll(items); + return allUnregisterAttenderTwoRowsForSelect; } public void removeTimeoutItemAndShow() { @@ -230,6 +285,92 @@ static class AttendentUtil { + public static void removeDuplicateAttendanceIn() { + Map<String, String> registerIdMap = new HashMap<>(); + List itemsToRemove = new ArrayList(); + for (SurveillanceQueryItem item : attendanceTwoRows) { + if (item.getRegisterOrCheckIn() == CommonVariables.Surveillance.VISIT_ATTENDANCE_IN) { + String registerId = item.getRegisterId(); + if (registerIdMap.containsKey(item.getRegisterId())) { + itemsToRemove.add(item); + } else { + registerIdMap.put(registerId, registerId); + } + } + } + attendanceTwoRows.removeAll(itemsToRemove); + } + + public static void removeDuplicateAttendanceOut() { + Map<String, String> registerIdMap = new HashMap<>(); + List itemsToRemove = new ArrayList(); + for (SurveillanceQueryItem item : attendanceTwoRows) { + if (item.getRegisterOrCheckIn() == CommonVariables.Surveillance.VISIT_ATTENDANCE_OUT) { + String registerId = item.getRegisterId(); + if (registerIdMap.containsKey(item.getRegisterId())) { + itemsToRemove.add(item); + } else { + registerIdMap.put(registerId, registerId); + } + } + } + attendanceTwoRows.removeAll(itemsToRemove); + } + + public static void sortByRow() { + List<SurveillanceQueryItem> attenderInList = new ArrayList<SurveillanceQueryItem>(); + List<SurveillanceQueryItem> attenderOutList = new ArrayList<SurveillanceQueryItem>(); + int i1 = 0, j = 0; + int maxAttenderIn = 50; + int maxAttenderOut = 50; + for (SurveillanceQueryItem item : attendanceTwoRows) { + if (item.getRegisterOrCheckIn() == CommonVariables.Surveillance.VISIT_ATTENDANCE_IN) { + if (i1 < maxAttenderIn) { + attenderInList.add(item); + i1++; + } + } + if (item.getRegisterOrCheckIn() == CommonVariables.Surveillance.VISIT_ATTENDANCE_OUT) { + if (j < maxAttenderOut) { + attenderOutList.add(item); + j++; + } + } + } + + int max = attenderInList.size() > attenderOutList.size() ? attenderInList.size() : attenderOutList.size(); + + List tempList = new ArrayList(); + + int m = 0, n = 0; + for (int i = 0; i < max * 2; i++) { + SurveillanceQueryItem item; + if (i % 2 == 0) { + if (m < attenderInList.size()) { + item = attenderInList.get(m); + } else { + item = getBlankItem(); + } + m++; + } else { + if (n < attenderOutList.size()) { + item = attenderOutList.get(n); + } else { + item = getBlankItem(); + } + n++; + } + tempList.add(item); + } + attendanceTwoRows.clear(); + attendanceTwoRows.addAll(tempList); + } + + public static SurveillanceQueryItem getBlankItem() { + SurveillanceQueryItem blankItem = new SurveillanceQueryItem(); + blankItem.setRegisterOrCheckIn(CommonVariables.Surveillance.VISIT_ATTENDANCE_BLANK); + return blankItem; + } } } diff --git a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/widget/register/RegisterRightFieldLabelView.java b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/widget/register/RegisterRightFieldLabelView.java index a88af3a..67cf543 100644 --- a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/widget/register/RegisterRightFieldLabelView.java +++ b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/widget/register/RegisterRightFieldLabelView.java @@ -3,10 +3,7 @@ import android.content.Context; import android.content.res.TypedArray; import android.util.AttributeSet; -import android.view.MotionEvent; import android.view.View; -import android.view.ViewGroup; -import android.widget.EditText; import android.widget.LinearLayout; import android.widget.TextView; @@ -15,9 +12,7 @@ import com.lidroid.xutils.view.annotation.ViewInject; import com.lidroid.xutils.view.annotation.event.OnClick; -import cn.com.basic.face.base.MainActivity; -import cn.com.basic.face.fragment.RegisterFragment; -import cn.com.basic.face.util.WindowsUtil; +import cn.com.basic.face.fragment.VisitorRegisterFragment; public class RegisterRightFieldLabelView extends LinearLayout { @@ -84,19 +79,19 @@ public void fragment_register_right_label_image_click(View view) { String label = fragment_register_right_label_label.getText().toString(); if ("鎬у埆锛�".equals(label)) { - RegisterFragment.getInstance().fragment_register_gender_click(view); + VisitorRegisterFragment.getInstance().fragment_visitor_register_gender_click(view); } if ("璇佷欢绫诲瀷锛�".equals(label)) { - RegisterFragment.getInstance().fragment_register_id_class_click(view); + VisitorRegisterFragment.getInstance().fragment_visitor_register_id_class_click(view); } if ("鍥界睄锛�".equals(label)) { - RegisterFragment.getInstance().fragment_register_country_click(view); + VisitorRegisterFragment.getInstance().fragment_visitor_register_country_click(view); } if ("鍑虹敓鏃ユ湡锛�".equals(label)) { - RegisterFragment.getInstance().fragment_register_birthday_click(view); + VisitorRegisterFragment.getInstance().fragment_visitor_register_birthday_click(view); } if ("璁垮绫诲瀷锛�".equals(label)) { - RegisterFragment.getInstance().fragment_register_visitor_class_click(view); + VisitorRegisterFragment.getInstance().fragment_visitor_register_visitor_class_click(view); } } diff --git a/VisitFace/DemoForBsk/app/src/main/res/layout/fragment_attendance_right.xml b/VisitFace/DemoForBsk/app/src/main/res/layout/fragment_attendance_right.xml index 5acba48..dd2d416 100644 --- a/VisitFace/DemoForBsk/app/src/main/res/layout/fragment_attendance_right.xml +++ b/VisitFace/DemoForBsk/app/src/main/res/layout/fragment_attendance_right.xml @@ -114,7 +114,7 @@ android:layout_height="wrap_content" android:textSize="@dimen/w14dp" android:textColor="@color/colorText_5" - android:text="@string/title_work"/> + android:text="@string/title_post"/> <TextView android:id="@+id/fragment_attendance_right_post" android:layout_width="wrap_content" diff --git a/VisitFace/DemoForBsk/app/src/main/res/layout/fragment_register.xml b/VisitFace/DemoForBsk/app/src/main/res/layout/fragment_attender_register.xml similarity index 79% copy from VisitFace/DemoForBsk/app/src/main/res/layout/fragment_register.xml copy to VisitFace/DemoForBsk/app/src/main/res/layout/fragment_attender_register.xml index ff569af..16fa7be 100644 --- a/VisitFace/DemoForBsk/app/src/main/res/layout/fragment_register.xml +++ b/VisitFace/DemoForBsk/app/src/main/res/layout/fragment_attender_register.xml @@ -2,7 +2,7 @@ <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" xmlns:register="http://schemas.android.com/apk/res-auto" - android:id="@+id/fragment_register_linear_layout" + android:id="@+id/fragment_attender_register_linear_layout" android:orientation="vertical" android:layout_width="match_parent" android:background="@android:color/white" android:layout_height="match_parent"> @@ -18,7 +18,7 @@ android:layout_width="match_parent" android:layout_height="@dimen/h50dp"> <TextView - android:id="@+id/fragment_register_back" + android:id="@+id/fragment_attender_register_back" android:layout_width="wrap_content" android:layout_height="match_parent" android:text="< 浜哄憳娉ㄥ唽" @@ -36,7 +36,7 @@ android:layout_alignParentBottom="true" android:layout_height="@dimen/h40dp"> <TextView - android:id="@+id/fragment_register_add" + android:id="@+id/fragment_attender_register_add" android:layout_width="@dimen/w40dp" android:layout_height="@dimen/h36dp" android:gravity="center" @@ -45,7 +45,7 @@ android:background="@drawable/u249" android:text=""/> <TextView - android:id="@+id/fragment_register_save" + android:id="@+id/fragment_attender_register_save" android:layout_width="@dimen/w40dp" android:layout_height="@dimen/h36dp" android:gravity="center" @@ -68,7 +68,7 @@ android:gravity="center_horizontal" > <ImageView - android:id="@+id/fragment_register_surveillance_photo" + android:id="@+id/fragment_attender_register_surveillance_photo" android:layout_width="@dimen/w197dp" android:layout_height="@dimen/h206dp" android:background="#07000000" @@ -76,7 +76,7 @@ android:adjustViewBounds="true" /> <ImageView - android:id="@+id/fragment_register_upload_custom_photo" + android:id="@+id/fragment_attender_register_upload_custom_photo" android:layout_width="@dimen/w197dp" android:layout_height="@dimen/h206dp" android:background="#07000000" @@ -89,7 +89,7 @@ android:adjustViewBounds="true" /> <ImageView - android:id="@+id/fragment_register_id_card_photo" + android:id="@+id/fragment_attender_register_id_card_photo" android:layout_width="@dimen/w330dp" android:layout_height="@dimen/h206dp" android:background="#07000000" @@ -103,7 +103,7 @@ android:gravity="center_horizontal" > <ImageView - android:id="@+id/fragment_register_surveillance_photo_placeholder_image" + android:id="@+id/fragment_attender_register_surveillance_photo_placeholder_image" android:layout_width="@dimen/w197dp" android:layout_height="@dimen/h206dp" android:alpha="0.35" @@ -113,7 +113,7 @@ android:paddingTop="@dimen/h70dp" /> <ImageView - android:id="@+id/fragment_register_upload_custom_photo_placeholder_image" + android:id="@+id/fragment_attender_register_upload_custom_photo_placeholder_image" android:layout_width="@dimen/w197dp" android:layout_height="@dimen/h206dp" android:alpha="0.35" @@ -129,7 +129,7 @@ android:paddingTop="@dimen/h70dp" /> <ImageView - android:id="@+id/fragment_register_id_card_photo_placeholder_image" + android:id="@+id/fragment_attender_register_id_card_photo_placeholder_image" android:layout_width="@dimen/w330dp" android:layout_height="@dimen/h206dp" android:alpha="0.35" @@ -143,7 +143,7 @@ android:gravity="center_horizontal" > <TextView - android:id="@+id/fragment_register_surveillance_photo_placeholder_text_view" + android:id="@+id/fragment_attender_register_surveillance_photo_placeholder_text_view" android:layout_width="@dimen/w197dp" android:layout_height="@dimen/h206dp" android:gravity="center" @@ -153,7 +153,7 @@ android:paddingTop="@dimen/h70dp" /> <TextView - android:id="@+id/fragment_register_upload_custom_photo_placeholder_text_view" + android:id="@+id/fragment_attender_register_upload_custom_photo_placeholder_text_view" android:layout_width="@dimen/w197dp" android:layout_height="@dimen/h206dp" android:background="#00000000" @@ -165,7 +165,7 @@ android:paddingTop="@dimen/h70dp" /> <TextView - android:id="@+id/fragment_register_id_card_photo_placeholder_text_view" + android:id="@+id/fragment_attender_register_id_card_photo_placeholder_text_view" android:layout_width="@dimen/w330dp" android:layout_height="@dimen/h206dp" android:background="#00000000" @@ -187,34 +187,28 @@ android:layout_height="wrap_content" android:orientation="vertical"> <cn.com.basic.face.widget.register.RegisterRightFieldTextView - android:id="@+id/fragment_register_name" + android:id="@+id/fragment_attender_register_name" android:layout_height="wrap_content" android:layout_width="@dimen/w311dp" register:label="@string/title_name" /> <cn.com.basic.face.widget.register.RegisterRightFieldLabelView - android:id="@+id/fragment_register_gender" + android:id="@+id/fragment_attender_register_gender" android:layout_height="wrap_content" android:layout_width="@dimen/w311dp" register:label="@string/title_sex" /> <cn.com.basic.face.widget.register.RegisterRightFieldLabelView - android:id="@+id/fragment_register_country" + android:id="@+id/fragment_attender_register_id_class" android:layout_height="wrap_content" android:layout_width="@dimen/w311dp" - register:label="@string/title_nation" + register:label="@string/title_idClass" /> - <cn.com.basic.face.widget.register.RegisterRightFieldLabelView - android:id="@+id/fragment_register_birthday" + <cn.com.basic.face.widget.register.RegisterRightFieldTextView + android:id="@+id/fragment_attender_register_remark" android:layout_height="wrap_content" android:layout_width="@dimen/w311dp" - register:label="@string/title_birthday" - /> - <cn.com.basic.face.widget.register.RegisterRightFieldLabelView - android:id="@+id/fragment_register_visitor_class" - android:layout_height="wrap_content" - android:layout_width="@dimen/w311dp" - register:label="@string/title_visitorClass" + register:label="@string/title_remark" /> </LinearLayout> <LinearLayout @@ -223,34 +217,22 @@ android:layout_marginLeft="@dimen/w122dp" android:orientation="vertical"> <cn.com.basic.face.widget.register.RegisterRightFieldTextView - android:id="@+id/fragment_register_phone" + android:id="@+id/fragment_attender_register_post" android:layout_height="wrap_content" android:layout_width="@dimen/w311dp" - register:label="@string/title_phone" - /> - <cn.com.basic.face.widget.register.RegisterRightFieldLabelView - android:id="@+id/fragment_register_id_class" - android:layout_height="wrap_content" - android:layout_width="@dimen/w311dp" - register:label="@string/title_idClass" + register:label="@string/title_post" /> <cn.com.basic.face.widget.register.RegisterRightFieldTextView - android:id="@+id/fragment_register_id_num" + android:id="@+id/fragment_attender_register_department" + android:layout_height="wrap_content" + android:layout_width="@dimen/w311dp" + register:label="@string/title_department" + /> + <cn.com.basic.face.widget.register.RegisterRightFieldTextView + android:id="@+id/fragment_attender_register_id_num" android:layout_height="wrap_content" android:layout_width="@dimen/w311dp" register:label="@string/title_idNumber" - /> - <cn.com.basic.face.widget.register.RegisterRightFieldTextView - android:id="@+id/fragment_register_company" - android:layout_height="wrap_content" - android:layout_width="@dimen/w311dp" - register:label="@string/title_companyName" - /> - <cn.com.basic.face.widget.register.RegisterRightFieldTextView - android:id="@+id/fragment_register_remark" - android:layout_height="wrap_content" - android:layout_width="@dimen/w311dp" - register:label="@string/title_remark" /> </LinearLayout> </LinearLayout> diff --git a/VisitFace/DemoForBsk/app/src/main/res/layout/fragment_surveillance.xml b/VisitFace/DemoForBsk/app/src/main/res/layout/fragment_surveillance.xml index 92b7ce7..873fb11 100644 --- a/VisitFace/DemoForBsk/app/src/main/res/layout/fragment_surveillance.xml +++ b/VisitFace/DemoForBsk/app/src/main/res/layout/fragment_surveillance.xml @@ -123,6 +123,7 @@ android:paddingRight="@dimen/h4dp" android:orientation="horizontal" android:layout_weight="0" + android:id="@+id/fragment_surveillance_bottom_linear_layout" > <RelativeLayout android:layout_width="wrap_content" diff --git a/VisitFace/DemoForBsk/app/src/main/res/layout/fragment_surveillance_bottom_register_cell.xml b/VisitFace/DemoForBsk/app/src/main/res/layout/fragment_surveillance_bottom_register_cell.xml index a5579fb..791a6a0 100644 --- a/VisitFace/DemoForBsk/app/src/main/res/layout/fragment_surveillance_bottom_register_cell.xml +++ b/VisitFace/DemoForBsk/app/src/main/res/layout/fragment_surveillance_bottom_register_cell.xml @@ -15,6 +15,7 @@ android:paddingLeft="@dimen/w5dp" android:paddingBottom="@dimen/h5dp" /> + <!-- <TextView android:id="@+id/fragment_home_bottom_register_cell_to_register" android:layout_width="wrap_content" @@ -28,5 +29,22 @@ android:layout_alignParentBottom="true" android:textColor="@android:color/white" android:layout_alignParentRight="true"/> +--> + <TextView + android:id="@+id/fragment_home_bottom_register_cell_to_register" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:background="#FFA500" + android:paddingRight="@dimen/w7dp" + android:paddingLeft="@dimen/w10dp" + android:layout_marginTop="@dimen/h12dp" + android:layout_marginRight="@dimen/w5dp" + android:paddingBottom="@dimen/h2dp" + android:textSize="@dimen/w16dp" + android:text="鏈敞鍐�" + android:textColor="@android:color/white" + android:layout_alignParentRight="true" + android:visibility="visible" + /> </RelativeLayout> \ No newline at end of file diff --git a/VisitFace/DemoForBsk/app/src/main/res/layout/fragment_surveillance_bottom_visitor_cell.xml b/VisitFace/DemoForBsk/app/src/main/res/layout/fragment_surveillance_bottom_visitor_cell.xml index 908b7f0..905003d 100644 --- a/VisitFace/DemoForBsk/app/src/main/res/layout/fragment_surveillance_bottom_visitor_cell.xml +++ b/VisitFace/DemoForBsk/app/src/main/res/layout/fragment_surveillance_bottom_visitor_cell.xml @@ -33,7 +33,7 @@ android:background="@color/colorRed" android:paddingRight="@dimen/w7dp" android:paddingLeft="@dimen/w10dp" - android:paddingTop="@dimen/h2dp" + android:layout_marginTop="@dimen/h10dp" android:paddingBottom="@dimen/h2dp" android:textSize="@dimen/w16dp" android:text="璀︽姤" @@ -69,7 +69,7 @@ android:layout_width="@dimen/view_size_0" android:layout_height="match_parent" android:layout_weight="1" - android:text="鏉ヨ鐧昏" + android:text="鏉ヨ" android:background="#40F6335A" android:textSize="@dimen/w10dp" android:gravity="center" diff --git a/VisitFace/DemoForBsk/app/src/main/res/layout/fragment_register.xml b/VisitFace/DemoForBsk/app/src/main/res/layout/fragment_visitor_register.xml similarity index 86% rename from VisitFace/DemoForBsk/app/src/main/res/layout/fragment_register.xml rename to VisitFace/DemoForBsk/app/src/main/res/layout/fragment_visitor_register.xml index ff569af..fb0f669 100644 --- a/VisitFace/DemoForBsk/app/src/main/res/layout/fragment_register.xml +++ b/VisitFace/DemoForBsk/app/src/main/res/layout/fragment_visitor_register.xml @@ -2,7 +2,7 @@ <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" xmlns:register="http://schemas.android.com/apk/res-auto" - android:id="@+id/fragment_register_linear_layout" + android:id="@+id/fragment_visitor_register_linear_layout" android:orientation="vertical" android:layout_width="match_parent" android:background="@android:color/white" android:layout_height="match_parent"> @@ -18,7 +18,7 @@ android:layout_width="match_parent" android:layout_height="@dimen/h50dp"> <TextView - android:id="@+id/fragment_register_back" + android:id="@+id/fragment_visitor_register_back" android:layout_width="wrap_content" android:layout_height="match_parent" android:text="< 浜哄憳娉ㄥ唽" @@ -36,7 +36,7 @@ android:layout_alignParentBottom="true" android:layout_height="@dimen/h40dp"> <TextView - android:id="@+id/fragment_register_add" + android:id="@+id/fragment_visitor_register_add" android:layout_width="@dimen/w40dp" android:layout_height="@dimen/h36dp" android:gravity="center" @@ -45,7 +45,7 @@ android:background="@drawable/u249" android:text=""/> <TextView - android:id="@+id/fragment_register_save" + android:id="@+id/fragment_visitor_register_save" android:layout_width="@dimen/w40dp" android:layout_height="@dimen/h36dp" android:gravity="center" @@ -68,7 +68,7 @@ android:gravity="center_horizontal" > <ImageView - android:id="@+id/fragment_register_surveillance_photo" + android:id="@+id/fragment_visitor_register_surveillance_photo" android:layout_width="@dimen/w197dp" android:layout_height="@dimen/h206dp" android:background="#07000000" @@ -76,7 +76,7 @@ android:adjustViewBounds="true" /> <ImageView - android:id="@+id/fragment_register_upload_custom_photo" + android:id="@+id/fragment_visitor_register_upload_custom_photo" android:layout_width="@dimen/w197dp" android:layout_height="@dimen/h206dp" android:background="#07000000" @@ -89,7 +89,7 @@ android:adjustViewBounds="true" /> <ImageView - android:id="@+id/fragment_register_id_card_photo" + android:id="@+id/fragment_visitor_register_id_card_photo" android:layout_width="@dimen/w330dp" android:layout_height="@dimen/h206dp" android:background="#07000000" @@ -103,7 +103,7 @@ android:gravity="center_horizontal" > <ImageView - android:id="@+id/fragment_register_surveillance_photo_placeholder_image" + android:id="@+id/fragment_visitor_register_surveillance_photo_placeholder_image" android:layout_width="@dimen/w197dp" android:layout_height="@dimen/h206dp" android:alpha="0.35" @@ -113,7 +113,7 @@ android:paddingTop="@dimen/h70dp" /> <ImageView - android:id="@+id/fragment_register_upload_custom_photo_placeholder_image" + android:id="@+id/fragment_visitor_register_upload_custom_photo_placeholder_image" android:layout_width="@dimen/w197dp" android:layout_height="@dimen/h206dp" android:alpha="0.35" @@ -129,7 +129,7 @@ android:paddingTop="@dimen/h70dp" /> <ImageView - android:id="@+id/fragment_register_id_card_photo_placeholder_image" + android:id="@+id/fragment_visitor_register_id_card_photo_placeholder_image" android:layout_width="@dimen/w330dp" android:layout_height="@dimen/h206dp" android:alpha="0.35" @@ -143,7 +143,7 @@ android:gravity="center_horizontal" > <TextView - android:id="@+id/fragment_register_surveillance_photo_placeholder_text_view" + android:id="@+id/fragment_visitor_register_surveillance_photo_placeholder_text_view" android:layout_width="@dimen/w197dp" android:layout_height="@dimen/h206dp" android:gravity="center" @@ -153,7 +153,7 @@ android:paddingTop="@dimen/h70dp" /> <TextView - android:id="@+id/fragment_register_upload_custom_photo_placeholder_text_view" + android:id="@+id/fragment_visitor_register_upload_custom_photo_placeholder_text_view" android:layout_width="@dimen/w197dp" android:layout_height="@dimen/h206dp" android:background="#00000000" @@ -165,7 +165,7 @@ android:paddingTop="@dimen/h70dp" /> <TextView - android:id="@+id/fragment_register_id_card_photo_placeholder_text_view" + android:id="@+id/fragment_visitor_register_id_card_photo_placeholder_text_view" android:layout_width="@dimen/w330dp" android:layout_height="@dimen/h206dp" android:background="#00000000" @@ -187,31 +187,31 @@ android:layout_height="wrap_content" android:orientation="vertical"> <cn.com.basic.face.widget.register.RegisterRightFieldTextView - android:id="@+id/fragment_register_name" + android:id="@+id/fragment_visitor_register_name" android:layout_height="wrap_content" android:layout_width="@dimen/w311dp" register:label="@string/title_name" /> <cn.com.basic.face.widget.register.RegisterRightFieldLabelView - android:id="@+id/fragment_register_gender" + android:id="@+id/fragment_visitor_register_gender" android:layout_height="wrap_content" android:layout_width="@dimen/w311dp" register:label="@string/title_sex" /> <cn.com.basic.face.widget.register.RegisterRightFieldLabelView - android:id="@+id/fragment_register_country" + android:id="@+id/fragment_visitor_register_country" android:layout_height="wrap_content" android:layout_width="@dimen/w311dp" register:label="@string/title_nation" /> <cn.com.basic.face.widget.register.RegisterRightFieldLabelView - android:id="@+id/fragment_register_birthday" + android:id="@+id/fragment_visitor_register_birthday" android:layout_height="wrap_content" android:layout_width="@dimen/w311dp" register:label="@string/title_birthday" /> <cn.com.basic.face.widget.register.RegisterRightFieldLabelView - android:id="@+id/fragment_register_visitor_class" + android:id="@+id/fragment_visitor_register_visitor_class" android:layout_height="wrap_content" android:layout_width="@dimen/w311dp" register:label="@string/title_visitorClass" @@ -223,31 +223,31 @@ android:layout_marginLeft="@dimen/w122dp" android:orientation="vertical"> <cn.com.basic.face.widget.register.RegisterRightFieldTextView - android:id="@+id/fragment_register_phone" + android:id="@+id/fragment_visitor_register_phone" android:layout_height="wrap_content" android:layout_width="@dimen/w311dp" register:label="@string/title_phone" /> <cn.com.basic.face.widget.register.RegisterRightFieldLabelView - android:id="@+id/fragment_register_id_class" + android:id="@+id/fragment_visitor_register_id_class" android:layout_height="wrap_content" android:layout_width="@dimen/w311dp" register:label="@string/title_idClass" /> <cn.com.basic.face.widget.register.RegisterRightFieldTextView - android:id="@+id/fragment_register_id_num" + android:id="@+id/fragment_visitor_register_id_num" android:layout_height="wrap_content" android:layout_width="@dimen/w311dp" register:label="@string/title_idNumber" /> <cn.com.basic.face.widget.register.RegisterRightFieldTextView - android:id="@+id/fragment_register_company" + android:id="@+id/fragment_visitor_register_company" android:layout_height="wrap_content" android:layout_width="@dimen/w311dp" register:label="@string/title_companyName" /> <cn.com.basic.face.widget.register.RegisterRightFieldTextView - android:id="@+id/fragment_register_remark" + android:id="@+id/fragment_visitor_register_remark" android:layout_height="wrap_content" android:layout_width="@dimen/w311dp" register:label="@string/title_remark" diff --git a/VisitFace/DemoForBsk/app/src/main/res/values/strings.xml b/VisitFace/DemoForBsk/app/src/main/res/values/strings.xml index 94714f3..1c652fb 100644 --- a/VisitFace/DemoForBsk/app/src/main/res/values/strings.xml +++ b/VisitFace/DemoForBsk/app/src/main/res/values/strings.xml @@ -18,7 +18,7 @@ <string name="title_visitor_end_time">绂诲紑鏃堕棿锛�</string> <string name="title_card_number">鍗″彿锛�</string> <string name="title_department">閮ㄩ棬/鐝骇锛�</string> - <string name="title_work">鑱屽姟锛�</string> + <string name="title_post">鑱屽姟锛�</string> <string name="check_class">鏌ヨ鍒嗙被锛�</string> -- Gitblit v1.8.0