VisitFace/DemoForBsk/app/src/main/AndroidManifest.xml
@@ -25,8 +25,6 @@ <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <activity android:name=".ui.activity.TestARGB8888Activity" android:screenOrientation="landscape"></activity> </application> </manifest> VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/adapter/CheckInLeftListViewAdapter.java
@@ -50,10 +50,10 @@ @Override public void onBindRecycleViewHolder(EasyRecyclerViewHolder viewHolder, int position) { switch (type) { case Constant.VISITOR_ROW: case Constant.CheckIn.VISITOR_ROW: visitorCellHolder(viewHolder, position); break; case Constant.INTERVIEWEE_ROW: case Constant.CheckIn.INTERVIEWEE_ROW: intervieweeCellHolder(viewHolder, position); break; } @@ -62,9 +62,9 @@ @Override public int getRecycleViewItemType(int position) { switch (type) { case Constant.VISITOR_ROW: case Constant.CheckIn.VISITOR_ROW: return 0; case Constant.INTERVIEWEE_ROW: case Constant.CheckIn.INTERVIEWEE_ROW: return 1; default: return 1; @@ -152,11 +152,11 @@ } public void setVisitorRow() { this.type = Constant.VISITOR_ROW; this.type = Constant.CheckIn.VISITOR_ROW; } public void setIntervieweeRow() { this.type = Constant.INTERVIEWEE_ROW; this.type = Constant.CheckIn.INTERVIEWEE_ROW; } public void setRowType(int type) { VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/adapter/SupervisoryBottomListViewAdapter.java
File was renamed from VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/adapter/SupervisoryBottomAdapter.java @@ -21,17 +21,12 @@ import cn.com.basic.face.discern.query.item.FacePhotoItem; import cn.com.basic.face.discern.query.item.CheckInQueryItem; /** * Created by zhangbo on 2017/2/15. */ public class SupervisoryBottomAdapter extends EasyRecyclerViewAdapter { public class SupervisoryBottomListViewAdapter extends EasyRecyclerViewAdapter { private int TYPE_1 = 0,TYPE_2 = 1; private int type; private Context context; private List list; public SupervisoryBottomAdapter(Context context) { public SupervisoryBottomListViewAdapter(Context context) { this.context = context; } @@ -55,6 +50,7 @@ @Override public int getRecycleViewItemType(int position) { type = position%2; switch (type){ case 0: @@ -67,9 +63,7 @@ } /** * 第一列注册 * @param holder * @param posistion * 访客->人员注册 */ private void RegisterViewHolder(EasyRecyclerViewHolder holder,int posistion){ @@ -98,13 +92,11 @@ } /** * 第二列用户情况 * @param holder * @param posistion * 访客->来访登记 */ private void UserViewHolder(EasyRecyclerViewHolder holder,int posistion){ RelativeLayout mLayout = holder.findViewById(R.id.item_user_base); RelativeLayout mLayout = holder.findViewById(R.id.fragment_supervisory_bottom_visitor_cell_relative_layout); ViewGroup.LayoutParams layoutParams = mLayout.getLayoutParams(); layoutParams.height = WindowsUtil.dip2px(context, 127); layoutParams.width = WindowsUtil.dip2px(context, 104); @@ -168,4 +160,9 @@ } } public void setRowType(int i) { } } VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/discern/query/item/CheckInQueryItem.java
@@ -19,10 +19,12 @@ private String deptName; // 公司主键 private String companyId; // 职位主键 // 职位名称 private String postName; // 移动电话 private String mobilePhone; // private int type; /** * Get 人员主键 @@ -30,7 +32,7 @@ public String getId() { return id; } /** * Set 人员主键 */ @@ -44,7 +46,7 @@ public String getName() { return name; } /** * Set 人员名字 */ @@ -58,7 +60,7 @@ public String getImagePath() { return imagePath; } /** * Set 图片地址 */ @@ -72,7 +74,7 @@ public String getCompanyName() { return companyName; } /** * Set 公司名称 */ @@ -86,7 +88,7 @@ public String getPhone() { return phone; } /** * Set 座机电话 */ @@ -100,7 +102,7 @@ public String getIdentify() { return identify; } /** * Set 证件编号 */ @@ -114,7 +116,7 @@ public String getDeptName() { return deptName; } /** * Set 部门名称 */ @@ -128,7 +130,7 @@ public String getCompanyId() { return companyId; } /** * Set 公司主键 */ @@ -137,14 +139,14 @@ } /** * Get 职位主键 * Get 职位名称 */ public String getPostName() { return postName; } /** * Set 职位主键 * Set 职位名称 */ public void setPostName(String postName) { this.postName = postName; @@ -156,7 +158,7 @@ public String getMobilePhone() { return mobilePhone; } /** * Set 移动电话 */ @@ -164,11 +166,25 @@ this.mobilePhone = mobilePhone; } /** * Get */ public int getType() { return type; } /** * Set */ public void setType(int type) { this.type = type; } public String toString() { return ",人员主键 =" + id + ",人员名字 =" + name + ",图片地址 =" + imagePath + ",公司名称 =" + companyName + ",座机电话 =" + phone + ",证件编号 =" + identify + ",部门名称 =" + deptName + ",公司主键 =" + companyId + ",职位主键 =" + postName + ",移动电话 =" + mobilePhone; return ",人员主键 =" + id + ",人员名字 =" + name + ",图片地址 =" + imagePath + ",公司名称 =" + companyName + ",座机电话 =" + phone + ",证件编号 =" + identify + ",部门名称 =" + deptName + ",公司主键 =" + companyId + ",职位名称 =" + postName + ",移动电话 =" + mobilePhone + ", =" + type ; } } VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/discern/query/item/SupervisoryQueryItem.java
New file @@ -0,0 +1,190 @@ package cn.com.basic.face.discern.query.item; public class SupervisoryQueryItem { // 人员主键 private String id; // 人员名字 private String name; // 图片地址 private String imagePath; // 公司名称 private String companyName; // 座机电话 private String phone; // 证件编号 private String identify; // 部门名称 private String deptName; // 公司主键 private String companyId; // 职位名称 private String postName; // 移动电话 private String mobilePhone; // private int type; /** * Get 人员主键 */ public String getId() { return id; } /** * Set 人员主键 */ public void setId(String id) { this.id = id; } /** * Get 人员名字 */ public String getName() { return name; } /** * Set 人员名字 */ public void setName(String name) { this.name = name; } /** * Get 图片地址 */ public String getImagePath() { return imagePath; } /** * Set 图片地址 */ public void setImagePath(String imagePath) { this.imagePath = imagePath; } /** * Get 公司名称 */ public String getCompanyName() { return companyName; } /** * Set 公司名称 */ public void setCompanyName(String companyName) { this.companyName = companyName; } /** * Get 座机电话 */ public String getPhone() { return phone; } /** * Set 座机电话 */ public void setPhone(String phone) { this.phone = phone; } /** * Get 证件编号 */ public String getIdentify() { return identify; } /** * Set 证件编号 */ public void setIdentify(String identify) { this.identify = identify; } /** * Get 部门名称 */ public String getDeptName() { return deptName; } /** * Set 部门名称 */ public void setDeptName(String deptName) { this.deptName = deptName; } /** * Get 公司主键 */ public String getCompanyId() { return companyId; } /** * Set 公司主键 */ public void setCompanyId(String companyId) { this.companyId = companyId; } /** * Get 职位名称 */ public String getPostName() { return postName; } /** * Set 职位名称 */ public void setPostName(String postName) { this.postName = postName; } /** * Get 移动电话 */ public String getMobilePhone() { return mobilePhone; } /** * Set 移动电话 */ public void setMobilePhone(String mobilePhone) { this.mobilePhone = mobilePhone; } /** * Get */ public int getType() { return type; } /** * Set */ public void setType(int type) { this.type = type; } public String toString() { return ",人员主键 =" + id + ",人员名字 =" + name + ",图片地址 =" + imagePath + ",公司名称 =" + companyName + ",座机电话 =" + phone + ",证件编号 =" + identify + ",部门名称 =" + deptName + ",公司主键 =" + companyId + ",职位名称 =" + postName + ",移动电话 =" + mobilePhone + ", =" + type ; } } VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/fragment/PhoneCallFragment.java
@@ -48,11 +48,11 @@ mRecyclerView = (EasyRecyclerView) mViewLeft.findViewById(R.id.fragment_check_in_left_list_view); LinearLayoutManager manager = new LinearLayoutManager(getActivity(),LinearLayoutManager.VERTICAL,false); mRecyclerView.setLayoutManager(manager); mAdapter = new CheckInLeftListViewAdapter(getActivity(),Constant.VISITOR_ROW); mAdapter = new CheckInLeftListViewAdapter(getActivity(),Constant.CheckIn.VISITOR_ROW); ViewUtils.inject(this, mViewLeft); mLlRadioGroupClass.setVisibility(View.VISIBLE); mAdapter = new CheckInLeftListViewAdapter(getActivity(), Constant.INTERVIEWEE_ROW); mAdapter = new CheckInLeftListViewAdapter(getActivity(), Constant.CheckIn.INTERVIEWEE_ROW); mAdapter.set_fragment_check_in_left_sort_radio_group_type(CheckInLeftListViewAdapter.TYPE_NAME); mAdapter.setList(mList); mRecyclerView.setAdapter(mAdapter); @@ -76,13 +76,13 @@ switch (radioGroup.getCheckedRadioButtonId()){ case R.id.fragment_check_in_left_visitor_radio: mLlRadioGroupClass.setVisibility(View.GONE); mAdapter = new CheckInLeftListViewAdapter(getActivity(), Constant.VISITOR_ROW); mAdapter = new CheckInLeftListViewAdapter(getActivity(), Constant.CheckIn.VISITOR_ROW); mAdapter.setList(mList); mRecyclerView.setAdapter(mAdapter); break; case R.id.fragment_check_in_left_interviewee_radio: mLlRadioGroupClass.setVisibility(View.VISIBLE); mAdapter = new CheckInLeftListViewAdapter(getActivity(), Constant.INTERVIEWEE_ROW); mAdapter = new CheckInLeftListViewAdapter(getActivity(), Constant.CheckIn.INTERVIEWEE_ROW); mAdapter.set_fragment_check_in_left_sort_radio_group_type(CheckInLeftListViewAdapter.TYPE_NAME); mAdapter.setList(mList); mRecyclerView.setAdapter(mAdapter); VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/fragment/SupervisoryFragment.java
@@ -5,16 +5,18 @@ import android.support.v7.widget.GridLayoutManager; import android.support.v7.widget.LinearLayoutManager; import android.support.v7.widget.RecyclerView; import android.view.SurfaceView; import android.view.View; import android.widget.RadioButton; import android.widget.RadioGroup; import android.widget.VideoView; import com.bsk.zhangbo.demoforbsk.R; import cn.com.basic.face.adapter.SupervisoryBottomAdapter; import cn.com.basic.face.adapter.SupervisoryBottomListViewAdapter; import cn.com.basic.face.base.BaseFragment; import cn.com.basic.face.service.CheckInMng; import com.bsk.zhangbo.demoforbsk.util.RtspFaceNative; import cn.com.basic.face.service.SupervisoryMng; import cn.com.basic.face.util.WindowsUtil; import com.camnter.easyrecyclerview.widget.EasyRecyclerView; import com.lidroid.xutils.view.annotation.ViewInject; @@ -41,17 +43,22 @@ private View fragment_supervisory_bottom_attendance_background; @ViewInject(R.id.fragment_supervisory_bottom_register_list) private EasyRecyclerView fragment_supervisory_bottom_register_list; @ViewInject(R.id.fragment_supervisory_bottom_visitor_list) private EasyRecyclerView fragment_supervisory_bottom_visitor_list; @ViewInject(R.id.fragment_supervisory_enter_camera) SurfaceView fragment_supervisory_enter_camera; VideoView fragment_supervisory_enter_camera; @ViewInject(R.id.fragment_supervisory_exit_camera) SurfaceView fragment_supervisory_exit_camera; VideoView fragment_supervisory_exit_camera; private SupervisoryBottomAdapter mAdapter; private SupervisoryBottomListViewAdapter mAdapter; private List mList; static boolean useNative = false; static { System.loadLibrary("rtspface"); RtspFaceNative.init(); if (useNative) { System.loadLibrary("rtspface"); RtspFaceNative.init(); } } private static SupervisoryFragment instance = new SupervisoryFragment(); @@ -71,16 +78,25 @@ GridLayoutManager gridLayoutManager = new GridLayoutManager(getActivity(), 2); gridLayoutManager.setOrientation(LinearLayoutManager.HORIZONTAL); fragment_supervisory_bottom_register_list.setLayoutManager(gridLayoutManager); mAdapter = new SupervisoryBottomAdapter(getActivity()); mAdapter = new SupervisoryBottomListViewAdapter(getActivity()); new Thread(new Runnable() { @Override public void run() { try { Thread.sleep(2000); RtspFaceNative.setSurface(1, fragment_supervisory_enter_camera.getHolder().getSurface()); RtspFaceNative.setSurface(2, fragment_supervisory_exit_camera.getHolder().getSurface()); RtspFaceNative.createPlayer(1, "rtsp://admin:admin12345@192.168.1.70:554/h264/ch1/sub/av_stream"); RtspFaceNative.createPlayer(2, "rtsp://admin:admin12345@192.168.1.70:554/h264/ch1/sub/av_stream"); if (useNative) { RtspFaceNative.setSurface(1, fragment_supervisory_enter_camera.getHolder().getSurface()); RtspFaceNative.setSurface(2, fragment_supervisory_exit_camera.getHolder().getSurface()); RtspFaceNative.createPlayer(1, "rtsp://admin:admin12345@192.168.1.70:554/h264/ch1/sub/av_stream"); RtspFaceNative.createPlayer(2, "rtsp://admin:admin12345@192.168.1.70:554/h264/ch1/sub/av_stream"); } else { // fragment_supervisory_enter_camera.setVideoURI(Uri.parse("rtsp://admin:admin12345@192.168.1.70:554/h264/ch1/sub/av_stream")); // fragment_supervisory_enter_camera.requestFocus(); // fragment_supervisory_enter_camera.start(); // fragment_supervisory_exit_camera.setVideoURI(Uri.parse("rtsp://admin:admin12345@192.168.1.70:554/h264/ch1/main/av_stream")); // fragment_supervisory_exit_camera.requestFocus(); // fragment_supervisory_exit_camera.start(); } } catch (Exception e) { e.printStackTrace(); } @@ -93,20 +109,20 @@ fragment_supervisory_bottom_left_radio_group.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() { @Override public void onCheckedChanged(RadioGroup group, int checkedId) { // switch (checkedId) { // case R.id.fragment_supervisory_bottom_visitor_radio_button: // fragment_supervisory_bottom_visitor_background.setVisibility(View.VISIBLE); // fragment_supervisory_bottom_attendance_background.setVisibility(View.INVISIBLE); // fragment_supervisory_bottom_register_list.setVisibility(View.VISIBLE); // fragment_supervisory_bottom_visitor_list.setVisibility(View.GONE); // break; // case R.id.fragment_supervisory_bottom_attendance_radio_button: // fragment_supervisory_bottom_visitor_background.setVisibility(View.INVISIBLE); // fragment_supervisory_bottom_attendance_background.setVisibility(View.VISIBLE); // fragment_supervisory_bottom_register_list.setVisibility(View.GONE); // fragment_supervisory_bottom_visitor_list.setVisibility(View.VISIBLE); // break; // } switch (checkedId) { case R.id.fragment_supervisory_bottom_visitor_radio_button: fragment_supervisory_bottom_visitor_background.setVisibility(View.VISIBLE); fragment_supervisory_bottom_attendance_background.setVisibility(View.INVISIBLE); fragment_supervisory_bottom_register_list.setVisibility(View.VISIBLE); fragment_supervisory_bottom_visitor_list.setVisibility(View.GONE); break; case R.id.fragment_supervisory_bottom_attendance_radio_button: fragment_supervisory_bottom_visitor_background.setVisibility(View.INVISIBLE); fragment_supervisory_bottom_attendance_background.setVisibility(View.VISIBLE); fragment_supervisory_bottom_register_list.setVisibility(View.GONE); fragment_supervisory_bottom_visitor_list.setVisibility(View.VISIBLE); break; } reloadBottomList(); } }); @@ -123,8 +139,8 @@ private void reloadBottomList() { if (fragment_supervisory_bottom_register_list != null) { mList = new ArrayList(); CheckInMng.getInstance().findVisitorList(); mAdapter = new SupervisoryBottomAdapter(getActivity()); SupervisoryMng.getInstance().findSupervisoryBottomList(); mAdapter = new SupervisoryBottomListViewAdapter(getActivity()); mAdapter.setList(mList); fragment_supervisory_bottom_register_list.setAdapter(mAdapter); } VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/CheckInMng.java
@@ -4,6 +4,7 @@ import cn.com.basic.face.base.BaseApplication; import cn.com.basic.face.fragment.CheckInFragment; import cn.com.basic.face.fragment.SupervisoryFragment; import cn.com.basic.face.util.AppApi; import org.xutils.http.RequestParams; @@ -32,7 +33,7 @@ /** * 查询来访人员列表 */ public void findVisitorList(String pageNum, String name, final boolean isClear) { public void findSupervisoryBottomList(String pageNum, String name, final boolean isClear) { //id,名称,头像路径,联系电话,公司名称,证件编号 RequestParams params = new RequestParams(AppApi.BASEURL+AppApi.CheckInQuery); params.addBodyParameter(VisitorQueryCondition.FieldNames.notCompanyId, BaseApplication.getInstance().getPlace().getCompanyId()); @@ -47,7 +48,7 @@ /** * 查询来访人员列表 */ public void findVisitorList() { public void findSupervisoryBottomList() { //id,名称,头像路径,联系电话,公司名称,证件编号 RequestParams params = new RequestParams(AppApi.BASEURL+AppApi.CheckInQuery); params.addBodyParameter(VisitorQueryCondition.FieldNames.notCompanyId, BaseApplication.getInstance().getPlace().getCompanyId()); VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/SupervisoryMng.java
New file @@ -0,0 +1,20 @@ package cn.com.basic.face.service; /** * Created by xiuxi on 2017/3/31. */ public class SupervisoryMng { private static SupervisoryMng instance = new SupervisoryMng(); public static SupervisoryMng getInstance() { return instance; } public void findSupervisoryBottomList() { } } VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/util/Constant.java
@@ -5,5 +5,17 @@ */ public class Constant { public static final int INTERVIEWEE_ROW = 1, VISITOR_ROW = 2; public static class CheckIn { /*来访登记左边被访者列表行类型*/ public static final int INTERVIEWEE_ROW = 1; /*来访登记左边被访者列表行类型*/ public static final int VISITOR_ROW = 2; } public static class Supervisory { public static final int VISIT_REGISTER_CELL = 1; public static final int VISIT_CHECK_IN_CELL = 2; } } VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/widget/CheckInLeftListView.java
@@ -13,7 +13,7 @@ public class CheckInLeftListView extends EasyRecyclerView { CheckInLeftListViewAdapter mAdapter; private CheckInLeftListViewAdapter mAdapter; private List list = new ArrayList(); public void setAdapter(Context context) { @@ -38,8 +38,12 @@ } public void show(List list, boolean isVisitorList) { mAdapter.setRowType(isVisitorList? Constant.CheckIn.VISITOR_ROW:Constant.CheckIn.INTERVIEWEE_ROW); refresh(); } public void refresh() { this.list.clear(); mAdapter.setRowType(isVisitorList? Constant.VISITOR_ROW:Constant.INTERVIEWEE_ROW); this.list.addAll(list); mAdapter.setList(this.list); this.setAdapter(mAdapter); VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/widget/SupervisoryBottomListView.java
New file @@ -0,0 +1,57 @@ package cn.com.basic.face.widget; import android.content.Context; import android.util.AttributeSet; import com.camnter.easyrecyclerview.widget.EasyRecyclerView; import java.util.ArrayList; import java.util.List; import cn.com.basic.face.adapter.CheckInLeftListViewAdapter; import cn.com.basic.face.adapter.SupervisoryBottomListViewAdapter; import cn.com.basic.face.util.Constant; /** * Created by xiuxi on 2017/3/31. */ public class SupervisoryBottomListView extends EasyRecyclerView { private SupervisoryBottomListViewAdapter mAdapter; private List list = new ArrayList(); public void setAdapter(Context context) { mAdapter = new SupervisoryBottomListViewAdapter(context); mAdapter.setList(list); setAdapter(mAdapter); } public SupervisoryBottomListView(Context context) { super(context); setAdapter(context); } public SupervisoryBottomListView(Context context, AttributeSet attrs) { super(context, attrs); setAdapter(context); } public SupervisoryBottomListView(Context context, AttributeSet attrs, int defStyle) { super(context, attrs, defStyle); setAdapter(context); } public void show(List list, boolean isVisitorList) { mAdapter.setRowType(isVisitorList? Constant.CheckIn.VISITOR_ROW:Constant.CheckIn.INTERVIEWEE_ROW); refresh(); } public void refresh() { this.list.clear(); this.list.addAll(list); mAdapter.setList(this.list); this.setAdapter(mAdapter); } } VisitFace/DemoForBsk/app/src/main/res/layout/fragment_supervisory.xml
@@ -37,7 +37,7 @@ android:layout_height="match_parent" android:layout_weight="1" > <SurfaceView <VideoView android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/fragment_supervisory_enter_camera" /> @@ -73,8 +73,7 @@ android:layout_weight="1" android:layout_marginLeft="2dp" > <!--<com.bsk.zhangbo.demoforbsk.widget.MyGLSurfaceView--> <SurfaceView <VideoView android:id="@+id/fragment_supervisory_exit_camera" android:layout_width="match_parent" android:layout_height="match_parent"/> VisitFace/DemoForBsk/app/src/main/res/layout/fragment_supervisory_bottom_visitor_cell.xml
@@ -1,6 +1,6 @@ <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/item_user_base" android:id="@+id/fragment_supervisory_bottom_visitor_cell_relative_layout" android:layout_width="wrap_content" android:layout_height="wrap_content">