xuxiuxi
2017-07-23 8d434f2a76348a759486cb7a95042a211bcc81db


git-svn-id: http://192.168.1.226/svn/proxy@830 454eff88-639b-444f-9e54-f578c98de674
13个文件已添加
2个文件已修改
1267 ■■■■■ 已修改文件
VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/dialog/AttenderRegisterSelectPhotoDialog.java 164 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/dialog/AttenderRegisterUploadPhotoDialog.java 164 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/dialog/VisitorRegisterSelectPhotoDialog.java 164 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/dialog/VisitorRegisterUploadPhotoDialog.java 164 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/fragment/AttenderRegisterFragment.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/fragment/VisitorRegisterFragment.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/widget/surveilance/AttenderRegisterSelectPhotoListView.java 67 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/widget/surveilance/AttenderRegisterUploadPhotoListView.java 67 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/widget/surveilance/SpaceItemDecoration.java 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/widget/surveilance/VisitorRegisterSelectPhotoListView.java 67 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/widget/surveilance/VisitorRegisterUploadPhotoListView.java 67 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
VisitFace/DemoForBsk/app/src/main/res/layout/dialog_attender_register_select_photo_select.xml 77 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
VisitFace/DemoForBsk/app/src/main/res/layout/dialog_attender_register_upload_photo_select.xml 77 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
VisitFace/DemoForBsk/app/src/main/res/layout/dialog_visitor_register_select_photo_select.xml 77 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
VisitFace/DemoForBsk/app/src/main/res/layout/dialog_visitor_register_upload_photo_select.xml 77 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/dialog/AttenderRegisterSelectPhotoDialog.java
New file
@@ -0,0 +1,164 @@
package cn.com.basic.face.dialog;
import android.content.Context;
import android.graphics.Color;
import android.view.Gravity;
import android.view.LayoutInflater;
import android.view.MotionEvent;
import android.view.View;
import android.view.ViewGroup;
import android.widget.PopupWindow;
import android.widget.RelativeLayout;
import android.widget.TextView;
import com.bsk.zhangbo.demoforbsk.R;
import com.lidroid.xutils.ViewUtils;
import com.lidroid.xutils.view.annotation.ViewInject;
import com.lidroid.xutils.view.annotation.event.OnClick;
import java.util.ArrayList;
import java.util.List;
import cn.com.basic.face.base.BaseApplication;
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.util.Constant;
import cn.com.basic.face.util.OkClickedListener;
import cn.com.basic.face.util.SurveillanceQueryItemUtil;
import cn.com.basic.face.util.UnknownSurveillanceQueryItemUtil;
import cn.com.basic.face.widget.surveilance.AttenderRegisterSelectPhotoListView;
import cn.com.basic.face.widget.surveilance.SurveillancePhotoSelectListView;
public class AttenderRegisterSelectPhotoDialog extends PopupWindow {
    private final View parentView;
    @ViewInject(R.id.dialog_surveillance_photo_select_list_view)
    private AttenderRegisterSelectPhotoListView dialog_surveillance_photo_select_list_view;
    public static long selectedId = -1;
    public AttenderRegisterSelectPhotoDialog(View parentView, int type, OkClickedListener okButtonClickedListener, long selectedId) {
        this.parentView = parentView;
        View view = LayoutInflater.from(MainActivity.getInstance()).inflate(R.layout.dialog_attender_register_select_photo_select,null);
        ViewUtils.inject(this, view);
        if (BaseApplication.getInstance().networkAvailable()) {
            if (CommonVariables.Register.VISITOR_REGISTER_SELECTED) {
                dialog_surveillance_photo_select_list_view.show(SurveillanceQueryItemUtil.getInstance().getAllUnregisterVisitorTwoRowsForSelect(selectedId));
            } else {
                dialog_surveillance_photo_select_list_view.show(SurveillanceQueryItemUtil.getInstance().getAllUnregisterAttenderTwoRowsForSelect(selectedId));
            }
        } else {
            if (CommonVariables.Register.VISITOR_REGISTER_SELECTED) {
                dialog_surveillance_photo_select_list_view.show(UnknownSurveillanceQueryItemUtil.getInstance().getAllUnregisterVisitorTwoRowsForSelect(selectedId));
            } else {
                dialog_surveillance_photo_select_list_view.show(UnknownSurveillanceQueryItemUtil.getInstance().getAllUnregisterAttenderTwoRowsForSelect(selectedId));
            }
        }
        setTitleAndList(type);
        WheelView.WheelViewStyle style = new WheelView.WheelViewStyle();
        style.selectedTextColor = Color.parseColor("#11c3e3");
        style.textColor = Color.parseColor("#bcc6cf");
        style.selectedTextSize = 22;
        style.textSize = 16;
        style.holoBorderColor = Color.parseColor("#11c3e3");
        view.setOnTouchListener(new View.OnTouchListener() {
            @Override
            public boolean onTouch(View view, MotionEvent motionEvent) {
                View popLayout = view.findViewById(R.id.dialog_add_linear_layout);
                int top = popLayout.getTop();
                int bottom = popLayout.getBottom();
                int left = popLayout.getLeft();
                int right = popLayout.getRight();
                int y = (int) motionEvent.getY();
                int x = (int) motionEvent.getX();
                if (motionEvent.getAction() == MotionEvent.ACTION_UP){
                    if (y<top || y> bottom){
                        dismiss();
                    }
                    if (x < left || x > right){
                        dismiss();
                    }
                }
                return true;
            }
        });
        setOutsideTouchable(true);
        this.setContentView(view);
        this.setHeight(RelativeLayout.LayoutParams.MATCH_PARENT);
        this.setWidth(RelativeLayout.LayoutParams.MATCH_PARENT);
        this.setFocusable(true);
        //this.setBackgroundDrawable(new ColorDrawable(0x7f000000));
        this.setAnimationStyle(R.style.PopupSlideAnimation);
        okButtonClickedListeners.add(okButtonClickedListener);
        this.showAtLocation(parentView, Gravity.BOTTOM,0,330);
    }
    @OnClick(R.id.dialog_add_ok)
    public void dialog_add_ok_click(View view) {
        for (OkClickedListener okButtonClickedListener : okButtonClickedListeners) {
            // okButtonClickedListener.onSelected(dialog_add_content.getText().toString());
        }
        dismiss();
    }
    @OnClick(R.id.dialog_add_cancel)
    public void dialog_add_cancel_click(View view) {
        dismiss();
    }
    private List<OkClickedListener> okButtonClickedListeners = new ArrayList<OkClickedListener>();
    public void addOkButtonClickedListener(OkClickedListener okButtonClickedListener) {
        this.okButtonClickedListeners.add(okButtonClickedListener);
    }
    private void setTitleAndList(int type) {
        String tile = "";
        switch (type) {
            case Constant.DialogSelectType.VISIT_REASON_ADD:
                tile = "添加访问事由";
                break;
        }
        // dialog_add_title.setText(tile);
    }
    public static void setVisitReasonList(List visitReasonList) {
        AddDialog.visitReasonList = visitReasonList;
    }
    public static class WheelAdapter extends BaseWheelAdapter<String> {
        private Context mContext;
        public WheelAdapter(Context context) {
            mContext = context;
        }
        @Override
        protected View bindView(int position, View convertView, ViewGroup parent) {
            AddDialog.WheelAdapter.ViewHolder viewHolder;
            if (convertView == null) {
                viewHolder = new AddDialog.WheelAdapter.ViewHolder();
                convertView = LayoutInflater.from(mContext).inflate(R.layout.dialog_row, null);
                viewHolder.textView = (TextView) convertView.findViewById(R.id.item_wheel_name);
                convertView.setTag(viewHolder);
            } else {
                viewHolder = (AddDialog.WheelAdapter.ViewHolder) convertView.getTag();
            }
            viewHolder.textView.setText(mList.get(position)+"");
            return convertView;
        }
        static class ViewHolder {
            TextView textView;
        }
    }
}
VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/dialog/AttenderRegisterUploadPhotoDialog.java
New file
@@ -0,0 +1,164 @@
package cn.com.basic.face.dialog;
import android.content.Context;
import android.graphics.Color;
import android.view.Gravity;
import android.view.LayoutInflater;
import android.view.MotionEvent;
import android.view.View;
import android.view.ViewGroup;
import android.widget.PopupWindow;
import android.widget.RelativeLayout;
import android.widget.TextView;
import com.bsk.zhangbo.demoforbsk.R;
import com.lidroid.xutils.ViewUtils;
import com.lidroid.xutils.view.annotation.ViewInject;
import com.lidroid.xutils.view.annotation.event.OnClick;
import java.util.ArrayList;
import java.util.List;
import cn.com.basic.face.base.BaseApplication;
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.util.Constant;
import cn.com.basic.face.util.OkClickedListener;
import cn.com.basic.face.util.SurveillanceQueryItemUtil;
import cn.com.basic.face.util.UnknownSurveillanceQueryItemUtil;
import cn.com.basic.face.widget.surveilance.AttenderRegisterUploadPhotoListView;
import cn.com.basic.face.widget.surveilance.SurveillancePhotoSelectListView;
public class AttenderRegisterUploadPhotoDialog extends PopupWindow {
    private final View parentView;
    @ViewInject(R.id.dialog_surveillance_photo_select_list_view)
    private AttenderRegisterUploadPhotoListView dialog_surveillance_photo_select_list_view;
    public static long selectedId = -1;
    public AttenderRegisterUploadPhotoDialog(View parentView, int type, OkClickedListener okButtonClickedListener, long selectedId) {
        this.parentView = parentView;
        View view = LayoutInflater.from(MainActivity.getInstance()).inflate(R.layout.dialog_attender_register_upload_photo_select,null);
        ViewUtils.inject(this, view);
        if (BaseApplication.getInstance().networkAvailable()) {
            if (CommonVariables.Register.VISITOR_REGISTER_SELECTED) {
                dialog_surveillance_photo_select_list_view.show(SurveillanceQueryItemUtil.getInstance().getAllUnregisterVisitorTwoRowsForSelect(selectedId));
            } else {
                dialog_surveillance_photo_select_list_view.show(SurveillanceQueryItemUtil.getInstance().getAllUnregisterAttenderTwoRowsForSelect(selectedId));
            }
        } else {
            if (CommonVariables.Register.VISITOR_REGISTER_SELECTED) {
                dialog_surveillance_photo_select_list_view.show(UnknownSurveillanceQueryItemUtil.getInstance().getAllUnregisterVisitorTwoRowsForSelect(selectedId));
            } else {
                dialog_surveillance_photo_select_list_view.show(UnknownSurveillanceQueryItemUtil.getInstance().getAllUnregisterAttenderTwoRowsForSelect(selectedId));
            }
        }
        setTitleAndList(type);
        WheelView.WheelViewStyle style = new WheelView.WheelViewStyle();
        style.selectedTextColor = Color.parseColor("#11c3e3");
        style.textColor = Color.parseColor("#bcc6cf");
        style.selectedTextSize = 22;
        style.textSize = 16;
        style.holoBorderColor = Color.parseColor("#11c3e3");
        view.setOnTouchListener(new View.OnTouchListener() {
            @Override
            public boolean onTouch(View view, MotionEvent motionEvent) {
                View popLayout = view.findViewById(R.id.dialog_add_linear_layout);
                int top = popLayout.getTop();
                int bottom = popLayout.getBottom();
                int left = popLayout.getLeft();
                int right = popLayout.getRight();
                int y = (int) motionEvent.getY();
                int x = (int) motionEvent.getX();
                if (motionEvent.getAction() == MotionEvent.ACTION_UP){
                    if (y<top || y> bottom){
                        dismiss();
                    }
                    if (x < left || x > right){
                        dismiss();
                    }
                }
                return true;
            }
        });
        setOutsideTouchable(true);
        this.setContentView(view);
        this.setHeight(RelativeLayout.LayoutParams.MATCH_PARENT);
        this.setWidth(RelativeLayout.LayoutParams.MATCH_PARENT);
        this.setFocusable(true);
        //this.setBackgroundDrawable(new ColorDrawable(0x7f000000));
        this.setAnimationStyle(R.style.PopupSlideAnimation);
        okButtonClickedListeners.add(okButtonClickedListener);
        this.showAtLocation(parentView, Gravity.BOTTOM,0,330);
    }
    @OnClick(R.id.dialog_add_ok)
    public void dialog_add_ok_click(View view) {
        for (OkClickedListener okButtonClickedListener : okButtonClickedListeners) {
            // okButtonClickedListener.onSelected(dialog_add_content.getText().toString());
        }
        dismiss();
    }
    @OnClick(R.id.dialog_add_cancel)
    public void dialog_add_cancel_click(View view) {
        dismiss();
    }
    private List<OkClickedListener> okButtonClickedListeners = new ArrayList<OkClickedListener>();
    public void addOkButtonClickedListener(OkClickedListener okButtonClickedListener) {
        this.okButtonClickedListeners.add(okButtonClickedListener);
    }
    private void setTitleAndList(int type) {
        String tile = "";
        switch (type) {
            case Constant.DialogSelectType.VISIT_REASON_ADD:
                tile = "添加访问事由";
                break;
        }
        // dialog_add_title.setText(tile);
    }
    public static void setVisitReasonList(List visitReasonList) {
        AddDialog.visitReasonList = visitReasonList;
    }
    public static class WheelAdapter extends BaseWheelAdapter<String> {
        private Context mContext;
        public WheelAdapter(Context context) {
            mContext = context;
        }
        @Override
        protected View bindView(int position, View convertView, ViewGroup parent) {
            AddDialog.WheelAdapter.ViewHolder viewHolder;
            if (convertView == null) {
                viewHolder = new AddDialog.WheelAdapter.ViewHolder();
                convertView = LayoutInflater.from(mContext).inflate(R.layout.dialog_row, null);
                viewHolder.textView = (TextView) convertView.findViewById(R.id.item_wheel_name);
                convertView.setTag(viewHolder);
            } else {
                viewHolder = (AddDialog.WheelAdapter.ViewHolder) convertView.getTag();
            }
            viewHolder.textView.setText(mList.get(position)+"");
            return convertView;
        }
        static class ViewHolder {
            TextView textView;
        }
    }
}
VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/dialog/VisitorRegisterSelectPhotoDialog.java
New file
@@ -0,0 +1,164 @@
package cn.com.basic.face.dialog;
import android.content.Context;
import android.graphics.Color;
import android.view.Gravity;
import android.view.LayoutInflater;
import android.view.MotionEvent;
import android.view.View;
import android.view.ViewGroup;
import android.widget.PopupWindow;
import android.widget.RelativeLayout;
import android.widget.TextView;
import com.bsk.zhangbo.demoforbsk.R;
import com.lidroid.xutils.ViewUtils;
import com.lidroid.xutils.view.annotation.ViewInject;
import com.lidroid.xutils.view.annotation.event.OnClick;
import java.util.ArrayList;
import java.util.List;
import cn.com.basic.face.base.BaseApplication;
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.util.Constant;
import cn.com.basic.face.util.OkClickedListener;
import cn.com.basic.face.util.SurveillanceQueryItemUtil;
import cn.com.basic.face.util.UnknownSurveillanceQueryItemUtil;
import cn.com.basic.face.widget.surveilance.SurveillancePhotoSelectListView;
import cn.com.basic.face.widget.surveilance.VisitorRegisterSelectPhotoListView;
public class VisitorRegisterSelectPhotoDialog extends PopupWindow {
    private final View parentView;
    @ViewInject(R.id.dialog_surveillance_photo_select_list_view)
    private VisitorRegisterSelectPhotoListView dialog_surveillance_photo_select_list_view;
    public static long selectedId = -1;
    public VisitorRegisterSelectPhotoDialog(View parentView, int type, OkClickedListener okButtonClickedListener, long selectedId) {
        this.parentView = parentView;
        View view = LayoutInflater.from(MainActivity.getInstance()).inflate(R.layout.dialog_visitor_register_select_photo_select,null);
        ViewUtils.inject(this, view);
        if (BaseApplication.getInstance().networkAvailable()) {
            if (CommonVariables.Register.VISITOR_REGISTER_SELECTED) {
                dialog_surveillance_photo_select_list_view.show(SurveillanceQueryItemUtil.getInstance().getAllUnregisterVisitorTwoRowsForSelect(selectedId));
            } else {
                dialog_surveillance_photo_select_list_view.show(SurveillanceQueryItemUtil.getInstance().getAllUnregisterAttenderTwoRowsForSelect(selectedId));
            }
        } else {
            if (CommonVariables.Register.VISITOR_REGISTER_SELECTED) {
                dialog_surveillance_photo_select_list_view.show(UnknownSurveillanceQueryItemUtil.getInstance().getAllUnregisterVisitorTwoRowsForSelect(selectedId));
            } else {
                dialog_surveillance_photo_select_list_view.show(UnknownSurveillanceQueryItemUtil.getInstance().getAllUnregisterAttenderTwoRowsForSelect(selectedId));
            }
        }
        setTitleAndList(type);
        WheelView.WheelViewStyle style = new WheelView.WheelViewStyle();
        style.selectedTextColor = Color.parseColor("#11c3e3");
        style.textColor = Color.parseColor("#bcc6cf");
        style.selectedTextSize = 22;
        style.textSize = 16;
        style.holoBorderColor = Color.parseColor("#11c3e3");
        view.setOnTouchListener(new View.OnTouchListener() {
            @Override
            public boolean onTouch(View view, MotionEvent motionEvent) {
                View popLayout = view.findViewById(R.id.dialog_add_linear_layout);
                int top = popLayout.getTop();
                int bottom = popLayout.getBottom();
                int left = popLayout.getLeft();
                int right = popLayout.getRight();
                int y = (int) motionEvent.getY();
                int x = (int) motionEvent.getX();
                if (motionEvent.getAction() == MotionEvent.ACTION_UP){
                    if (y<top || y> bottom){
                        dismiss();
                    }
                    if (x < left || x > right){
                        dismiss();
                    }
                }
                return true;
            }
        });
        setOutsideTouchable(true);
        this.setContentView(view);
        this.setHeight(RelativeLayout.LayoutParams.MATCH_PARENT);
        this.setWidth(RelativeLayout.LayoutParams.MATCH_PARENT);
        this.setFocusable(true);
        //this.setBackgroundDrawable(new ColorDrawable(0x7f000000));
        this.setAnimationStyle(R.style.PopupSlideAnimation);
        okButtonClickedListeners.add(okButtonClickedListener);
        this.showAtLocation(parentView, Gravity.BOTTOM,0,330);
    }
    @OnClick(R.id.dialog_add_ok)
    public void dialog_add_ok_click(View view) {
        for (OkClickedListener okButtonClickedListener : okButtonClickedListeners) {
            // okButtonClickedListener.onSelected(dialog_add_content.getText().toString());
        }
        dismiss();
    }
    @OnClick(R.id.dialog_add_cancel)
    public void dialog_add_cancel_click(View view) {
        dismiss();
    }
    private List<OkClickedListener> okButtonClickedListeners = new ArrayList<OkClickedListener>();
    public void addOkButtonClickedListener(OkClickedListener okButtonClickedListener) {
        this.okButtonClickedListeners.add(okButtonClickedListener);
    }
    private void setTitleAndList(int type) {
        String tile = "";
        switch (type) {
            case Constant.DialogSelectType.VISIT_REASON_ADD:
                tile = "添加访问事由";
                break;
        }
        // dialog_add_title.setText(tile);
    }
    public static void setVisitReasonList(List visitReasonList) {
        AddDialog.visitReasonList = visitReasonList;
    }
    public static class WheelAdapter extends BaseWheelAdapter<String> {
        private Context mContext;
        public WheelAdapter(Context context) {
            mContext = context;
        }
        @Override
        protected View bindView(int position, View convertView, ViewGroup parent) {
            AddDialog.WheelAdapter.ViewHolder viewHolder;
            if (convertView == null) {
                viewHolder = new AddDialog.WheelAdapter.ViewHolder();
                convertView = LayoutInflater.from(mContext).inflate(R.layout.dialog_row, null);
                viewHolder.textView = (TextView) convertView.findViewById(R.id.item_wheel_name);
                convertView.setTag(viewHolder);
            } else {
                viewHolder = (AddDialog.WheelAdapter.ViewHolder) convertView.getTag();
            }
            viewHolder.textView.setText(mList.get(position)+"");
            return convertView;
        }
        static class ViewHolder {
            TextView textView;
        }
    }
}
VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/dialog/VisitorRegisterUploadPhotoDialog.java
New file
@@ -0,0 +1,164 @@
package cn.com.basic.face.dialog;
import android.content.Context;
import android.graphics.Color;
import android.view.Gravity;
import android.view.LayoutInflater;
import android.view.MotionEvent;
import android.view.View;
import android.view.ViewGroup;
import android.widget.PopupWindow;
import android.widget.RelativeLayout;
import android.widget.TextView;
import com.bsk.zhangbo.demoforbsk.R;
import com.lidroid.xutils.ViewUtils;
import com.lidroid.xutils.view.annotation.ViewInject;
import com.lidroid.xutils.view.annotation.event.OnClick;
import java.util.ArrayList;
import java.util.List;
import cn.com.basic.face.base.BaseApplication;
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.util.Constant;
import cn.com.basic.face.util.OkClickedListener;
import cn.com.basic.face.util.SurveillanceQueryItemUtil;
import cn.com.basic.face.util.UnknownSurveillanceQueryItemUtil;
import cn.com.basic.face.widget.surveilance.SurveillancePhotoSelectListView;
import cn.com.basic.face.widget.surveilance.VisitorRegisterUploadPhotoListView;
public class VisitorRegisterUploadPhotoDialog extends PopupWindow {
    private final View parentView;
    @ViewInject(R.id.dialog_surveillance_photo_select_list_view)
    private VisitorRegisterUploadPhotoListView dialog_surveillance_photo_select_list_view;
    public static long selectedId = -1;
    public VisitorRegisterUploadPhotoDialog(View parentView, int type, OkClickedListener okButtonClickedListener, long selectedId) {
        this.parentView = parentView;
        View view = LayoutInflater.from(MainActivity.getInstance()).inflate(R.layout.dialog_visitor_register_upload_photo_select,null);
        ViewUtils.inject(this, view);
        if (BaseApplication.getInstance().networkAvailable()) {
            if (CommonVariables.Register.VISITOR_REGISTER_SELECTED) {
                dialog_surveillance_photo_select_list_view.show(SurveillanceQueryItemUtil.getInstance().getAllUnregisterVisitorTwoRowsForSelect(selectedId));
            } else {
                dialog_surveillance_photo_select_list_view.show(SurveillanceQueryItemUtil.getInstance().getAllUnregisterAttenderTwoRowsForSelect(selectedId));
            }
        } else {
            if (CommonVariables.Register.VISITOR_REGISTER_SELECTED) {
                dialog_surveillance_photo_select_list_view.show(UnknownSurveillanceQueryItemUtil.getInstance().getAllUnregisterVisitorTwoRowsForSelect(selectedId));
            } else {
                dialog_surveillance_photo_select_list_view.show(UnknownSurveillanceQueryItemUtil.getInstance().getAllUnregisterAttenderTwoRowsForSelect(selectedId));
            }
        }
        setTitleAndList(type);
        WheelView.WheelViewStyle style = new WheelView.WheelViewStyle();
        style.selectedTextColor = Color.parseColor("#11c3e3");
        style.textColor = Color.parseColor("#bcc6cf");
        style.selectedTextSize = 22;
        style.textSize = 16;
        style.holoBorderColor = Color.parseColor("#11c3e3");
        view.setOnTouchListener(new View.OnTouchListener() {
            @Override
            public boolean onTouch(View view, MotionEvent motionEvent) {
                View popLayout = view.findViewById(R.id.dialog_add_linear_layout);
                int top = popLayout.getTop();
                int bottom = popLayout.getBottom();
                int left = popLayout.getLeft();
                int right = popLayout.getRight();
                int y = (int) motionEvent.getY();
                int x = (int) motionEvent.getX();
                if (motionEvent.getAction() == MotionEvent.ACTION_UP){
                    if (y<top || y> bottom){
                        dismiss();
                    }
                    if (x < left || x > right){
                        dismiss();
                    }
                }
                return true;
            }
        });
        setOutsideTouchable(true);
        this.setContentView(view);
        this.setHeight(RelativeLayout.LayoutParams.MATCH_PARENT);
        this.setWidth(RelativeLayout.LayoutParams.MATCH_PARENT);
        this.setFocusable(true);
        //this.setBackgroundDrawable(new ColorDrawable(0x7f000000));
        this.setAnimationStyle(R.style.PopupSlideAnimation);
        okButtonClickedListeners.add(okButtonClickedListener);
        this.showAtLocation(parentView, Gravity.BOTTOM,0,330);
    }
    @OnClick(R.id.dialog_add_ok)
    public void dialog_add_ok_click(View view) {
        for (OkClickedListener okButtonClickedListener : okButtonClickedListeners) {
            // okButtonClickedListener.onSelected(dialog_add_content.getText().toString());
        }
        dismiss();
    }
    @OnClick(R.id.dialog_add_cancel)
    public void dialog_add_cancel_click(View view) {
        dismiss();
    }
    private List<OkClickedListener> okButtonClickedListeners = new ArrayList<OkClickedListener>();
    public void addOkButtonClickedListener(OkClickedListener okButtonClickedListener) {
        this.okButtonClickedListeners.add(okButtonClickedListener);
    }
    private void setTitleAndList(int type) {
        String tile = "";
        switch (type) {
            case Constant.DialogSelectType.VISIT_REASON_ADD:
                tile = "添加访问事由";
                break;
        }
        // dialog_add_title.setText(tile);
    }
    public static void setVisitReasonList(List visitReasonList) {
        AddDialog.visitReasonList = visitReasonList;
    }
    public static class WheelAdapter extends BaseWheelAdapter<String> {
        private Context mContext;
        public WheelAdapter(Context context) {
            mContext = context;
        }
        @Override
        protected View bindView(int position, View convertView, ViewGroup parent) {
            AddDialog.WheelAdapter.ViewHolder viewHolder;
            if (convertView == null) {
                viewHolder = new AddDialog.WheelAdapter.ViewHolder();
                convertView = LayoutInflater.from(mContext).inflate(R.layout.dialog_row, null);
                viewHolder.textView = (TextView) convertView.findViewById(R.id.item_wheel_name);
                convertView.setTag(viewHolder);
            } else {
                viewHolder = (AddDialog.WheelAdapter.ViewHolder) convertView.getTag();
            }
            viewHolder.textView.setText(mList.get(position)+"");
            return convertView;
        }
        static class ViewHolder {
            TextView textView;
        }
    }
}
VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/fragment/AttenderRegisterFragment.java
@@ -24,6 +24,8 @@
import cn.com.basic.face.adapter.SurveillanceFragment;
import cn.com.basic.face.base.BaseApplication;
import cn.com.basic.face.base.BaseFragment;
import cn.com.basic.face.dialog.AttenderRegisterSelectPhotoDialog;
import cn.com.basic.face.dialog.AttenderRegisterUploadPhotoDialog;
import cn.com.basic.face.dialog.SurveillancePhotoDialog;
import cn.com.basic.face.discern.common.CommonVariables;
import cn.com.basic.face.discern.entity.Register;
@@ -396,7 +398,7 @@
    @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() {
        new AttenderRegisterSelectPhotoDialog(fragment_attender_register_linear_layout, Constant.DialogSelectType.ID_TYPE, new OkClickedListener() {
            public void onSelected(String value) {
            }
        }, selectedSurveillancePhotoId);
@@ -405,7 +407,7 @@
    @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() {
        new AttenderRegisterUploadPhotoDialog(fragment_attender_register_linear_layout, Constant.DialogSelectType.ID_TYPE, new OkClickedListener() {
            public void onSelected(String value) {
            }
        }, selectedCustomPhotoId);
VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/fragment/VisitorRegisterFragment.java
@@ -23,6 +23,8 @@
import cn.com.basic.face.base.BaseApplication;
import cn.com.basic.face.base.BaseFragment;
import cn.com.basic.face.dialog.SurveillancePhotoDialog;
import cn.com.basic.face.dialog.VisitorRegisterSelectPhotoDialog;
import cn.com.basic.face.dialog.VisitorRegisterUploadPhotoDialog;
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;
@@ -505,7 +507,7 @@
    @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() {
        new VisitorRegisterSelectPhotoDialog(fragment_visitor_register_linear_layout, Constant.DialogSelectType.ID_TYPE, new OkClickedListener() {
            public void onSelected(String value) {
            }
        }, selectedSurveillancePhotoId);
@@ -514,7 +516,7 @@
    @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() {
        new VisitorRegisterUploadPhotoDialog(fragment_visitor_register_linear_layout, Constant.DialogSelectType.ID_TYPE, new OkClickedListener() {
            public void onSelected(String value) {
            }
        }, selectedCustomPhotoId);
VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/widget/surveilance/AttenderRegisterSelectPhotoListView.java
New file
@@ -0,0 +1,67 @@
package cn.com.basic.face.widget.surveilance;
import android.content.Context;
import android.graphics.Rect;
import android.os.Parcelable;
import android.support.v7.widget.GridLayoutManager;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.util.AttributeSet;
import android.view.View;
import com.camnter.easyrecyclerview.widget.EasyRecyclerView;
import java.util.ArrayList;
import java.util.List;
import cn.com.basic.face.adapter.SurveillanceFragment;
import cn.com.basic.face.base.MainActivity;
import cn.com.basic.face.util.WindowsUtil;
public class AttenderRegisterSelectPhotoListView extends EasyRecyclerView {
    public static Parcelable recyclerViewState;
    public static SurveillanceFragment.SurveillancePhotoSelectListViewAdapter mAdapter;
    public static List list = new ArrayList();
    public void initLayout() {
        addItemDecoration(new SpaceItemDecoration());
        GridLayoutManager gridLayoutManager = new GridLayoutManager(MainActivity.getInstance(), 2);
        gridLayoutManager.setOrientation(LinearLayoutManager.HORIZONTAL);
        setLayoutManager(gridLayoutManager);
    }
    public void setAdapter(Context context) {
        mAdapter = new SurveillanceFragment.SurveillancePhotoSelectListViewAdapter(context);
        mAdapter.setList(list);
        setAdapter(mAdapter);
        initLayout();
    }
    public AttenderRegisterSelectPhotoListView(Context context) {
        super(context);
        setAdapter(context);
    }
    public AttenderRegisterSelectPhotoListView(Context context, AttributeSet attrs) {
        super(context, attrs);
        setAdapter(context);
    }
    public AttenderRegisterSelectPhotoListView(Context context, AttributeSet attrs, int defStyle) {
        super(context, attrs, defStyle);
        setAdapter(context);
    }
    public void show(List list) {
        recyclerViewState = this.getLayoutManager().onSaveInstanceState();
        mAdapter.setList(list);
        this.setAdapter(mAdapter);
        this.getLayoutManager().onRestoreInstanceState(recyclerViewState);
    }
    public List getPrevList() {
        return this.list;
    }
}
VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/widget/surveilance/AttenderRegisterUploadPhotoListView.java
New file
@@ -0,0 +1,67 @@
package cn.com.basic.face.widget.surveilance;
import android.content.Context;
import android.graphics.Rect;
import android.os.Parcelable;
import android.support.v7.widget.GridLayoutManager;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.util.AttributeSet;
import android.view.View;
import com.camnter.easyrecyclerview.widget.EasyRecyclerView;
import java.util.ArrayList;
import java.util.List;
import cn.com.basic.face.adapter.SurveillanceFragment;
import cn.com.basic.face.base.MainActivity;
import cn.com.basic.face.util.WindowsUtil;
public class AttenderRegisterUploadPhotoListView extends EasyRecyclerView {
    public static Parcelable recyclerViewState;
    public static SurveillanceFragment.SurveillancePhotoSelectListViewAdapter mAdapter;
    public static List list = new ArrayList();
    public void initLayout() {
        addItemDecoration(new SpaceItemDecoration());
        GridLayoutManager gridLayoutManager = new GridLayoutManager(MainActivity.getInstance(), 2);
        gridLayoutManager.setOrientation(LinearLayoutManager.HORIZONTAL);
        setLayoutManager(gridLayoutManager);
    }
    public void setAdapter(Context context) {
        mAdapter = new SurveillanceFragment.SurveillancePhotoSelectListViewAdapter(context);
        mAdapter.setList(list);
        setAdapter(mAdapter);
        initLayout();
    }
    public AttenderRegisterUploadPhotoListView(Context context) {
        super(context);
        setAdapter(context);
    }
    public AttenderRegisterUploadPhotoListView(Context context, AttributeSet attrs) {
        super(context, attrs);
        setAdapter(context);
    }
    public AttenderRegisterUploadPhotoListView(Context context, AttributeSet attrs, int defStyle) {
        super(context, attrs, defStyle);
        setAdapter(context);
    }
    public void show(List list) {
        recyclerViewState = this.getLayoutManager().onSaveInstanceState();
        mAdapter.setList(list);
        this.setAdapter(mAdapter);
        this.getLayoutManager().onRestoreInstanceState(recyclerViewState);
    }
    public List getPrevList() {
        return this.list;
    }
}
VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/widget/surveilance/SpaceItemDecoration.java
New file
@@ -0,0 +1,23 @@
package cn.com.basic.face.widget.surveilance;
import android.graphics.Rect;
import android.support.v7.widget.RecyclerView;
import android.view.View;
import cn.com.basic.face.base.MainActivity;
import cn.com.basic.face.util.WindowsUtil;
public class SpaceItemDecoration extends RecyclerView.ItemDecoration {
    @Override
    public void getItemOffsets(Rect outRect, View view, RecyclerView parent, RecyclerView.State state) {
        super.getItemOffsets(outRect, view, parent, state);
        outRect.right = WindowsUtil.dip2px(MainActivity.getInstance(), 15);
        if (parent.getChildLayoutPosition(view) == 0 || parent.getChildLayoutPosition(view) == 1) {
            outRect.left = WindowsUtil.dip2px(MainActivity.getInstance(), 14);
        }
        if (parent.getChildLayoutPosition(view) % 2 == 0) {
            outRect.bottom = WindowsUtil.dip2px(MainActivity.getInstance(), 7);
        }
    }
}
VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/widget/surveilance/VisitorRegisterSelectPhotoListView.java
New file
@@ -0,0 +1,67 @@
package cn.com.basic.face.widget.surveilance;
import android.content.Context;
import android.graphics.Rect;
import android.os.Parcelable;
import android.support.v7.widget.GridLayoutManager;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.util.AttributeSet;
import android.view.View;
import com.camnter.easyrecyclerview.widget.EasyRecyclerView;
import java.util.ArrayList;
import java.util.List;
import cn.com.basic.face.adapter.SurveillanceFragment;
import cn.com.basic.face.base.MainActivity;
import cn.com.basic.face.util.WindowsUtil;
public class VisitorRegisterSelectPhotoListView extends EasyRecyclerView {
    public static Parcelable recyclerViewState;
    public static SurveillanceFragment.SurveillancePhotoSelectListViewAdapter mAdapter;
    public static List list = new ArrayList();
    public void initLayout() {
        addItemDecoration(new SpaceItemDecoration());
        GridLayoutManager gridLayoutManager = new GridLayoutManager(MainActivity.getInstance(), 2);
        gridLayoutManager.setOrientation(LinearLayoutManager.HORIZONTAL);
        setLayoutManager(gridLayoutManager);
    }
    public void setAdapter(Context context) {
        mAdapter = new SurveillanceFragment.SurveillancePhotoSelectListViewAdapter(context);
        mAdapter.setList(list);
        setAdapter(mAdapter);
        initLayout();
    }
    public VisitorRegisterSelectPhotoListView(Context context) {
        super(context);
        setAdapter(context);
    }
    public VisitorRegisterSelectPhotoListView(Context context, AttributeSet attrs) {
        super(context, attrs);
        setAdapter(context);
    }
    public VisitorRegisterSelectPhotoListView(Context context, AttributeSet attrs, int defStyle) {
        super(context, attrs, defStyle);
        setAdapter(context);
    }
    public void show(List list) {
        recyclerViewState = this.getLayoutManager().onSaveInstanceState();
        mAdapter.setList(list);
        this.setAdapter(mAdapter);
        this.getLayoutManager().onRestoreInstanceState(recyclerViewState);
    }
    public List getPrevList() {
        return this.list;
    }
}
VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/widget/surveilance/VisitorRegisterUploadPhotoListView.java
New file
@@ -0,0 +1,67 @@
package cn.com.basic.face.widget.surveilance;
import android.content.Context;
import android.graphics.Rect;
import android.os.Parcelable;
import android.support.v7.widget.GridLayoutManager;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.util.AttributeSet;
import android.view.View;
import com.camnter.easyrecyclerview.widget.EasyRecyclerView;
import java.util.ArrayList;
import java.util.List;
import cn.com.basic.face.adapter.SurveillanceFragment;
import cn.com.basic.face.base.MainActivity;
import cn.com.basic.face.util.WindowsUtil;
public class VisitorRegisterUploadPhotoListView extends EasyRecyclerView {
    public static Parcelable recyclerViewState;
    public static SurveillanceFragment.SurveillancePhotoSelectListViewAdapter mAdapter;
    public static List list = new ArrayList();
    public void initLayout() {
        addItemDecoration(new SpaceItemDecoration());
        GridLayoutManager gridLayoutManager = new GridLayoutManager(MainActivity.getInstance(), 2);
        gridLayoutManager.setOrientation(LinearLayoutManager.HORIZONTAL);
        setLayoutManager(gridLayoutManager);
    }
    public void setAdapter(Context context) {
        mAdapter = new SurveillanceFragment.SurveillancePhotoSelectListViewAdapter(context);
        mAdapter.setList(list);
        setAdapter(mAdapter);
        initLayout();
    }
    public VisitorRegisterUploadPhotoListView(Context context) {
        super(context);
        setAdapter(context);
    }
    public VisitorRegisterUploadPhotoListView(Context context, AttributeSet attrs) {
        super(context, attrs);
        setAdapter(context);
    }
    public VisitorRegisterUploadPhotoListView(Context context, AttributeSet attrs, int defStyle) {
        super(context, attrs, defStyle);
        setAdapter(context);
    }
    public void show(List list) {
        recyclerViewState = this.getLayoutManager().onSaveInstanceState();
        mAdapter.setList(list);
        this.setAdapter(mAdapter);
        this.getLayoutManager().onRestoreInstanceState(recyclerViewState);
    }
    public List getPrevList() {
        return this.list;
    }
}
VisitFace/DemoForBsk/app/src/main/res/layout/dialog_attender_register_select_photo_select.xml
New file
@@ -0,0 +1,77 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:gravity="center"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    >
    <View
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="1"
        android:visibility="invisible"
        />
    <LinearLayout
        android:id="@+id/dialog_add_linear_layout"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:gravity="center"
        android:background="@android:color/white"
        android:orientation="vertical"
        android:layout_weight="0"
        >
        <TextView
            android:id="@+id/dialog_add_title"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:padding="@dimen/w20dp"
            android:gravity="center"
            android:textColor="@android:color/white"
            android:textSize="@dimen/w20dp"
            android:background="@color/colorPrimary"
            android:visibility="gone"
            />
        <cn.com.basic.face.widget.surveilance.AttenderRegisterSelectPhotoListView
            android:id="@+id/dialog_surveillance_photo_select_list_view"
            android:layout_width="wrap_content"
            android:layout_height="@dimen/h300dp"
            android:background="@android:color/white"
            android:orientation="vertical"
            android:layout_marginLeft="@dimen/w10dp"
            android:layout_marginBottom="@dimen/h25dp"
            />
        <View
            android:layout_width="match_parent"
            android:layout_height="0.5dp"
            android:background="@color/colorText_b"
            android:visibility="gone"
            />
        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="@dimen/h50dp"
            android:orientation="horizontal"
            android:visibility="gone"
            >
            <TextView
                android:id="@+id/dialog_add_ok"
                android:layout_weight="1"
                android:layout_width="wrap_content"
                android:layout_height="match_parent"
                android:gravity="center"
                android:text="@string/confirm"
                android:textSize="@dimen/w16dp"/>
            <View
                android:layout_width="0.5dp"
                android:layout_height="match_parent"
                android:background="@color/colorText_5"/>
            <TextView
                android:id="@+id/dialog_add_cancel"
                android:layout_weight="1"
                android:layout_width="wrap_content"
                android:layout_height="match_parent"
                android:gravity="center"
                android:text="@string/cancel"
                android:textSize="@dimen/w16dp"/>
        </LinearLayout>
    </LinearLayout>
</LinearLayout>
VisitFace/DemoForBsk/app/src/main/res/layout/dialog_attender_register_upload_photo_select.xml
New file
@@ -0,0 +1,77 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:gravity="center"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    >
    <View
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="1"
        android:visibility="invisible"
        />
    <LinearLayout
        android:id="@+id/dialog_add_linear_layout"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:gravity="center"
        android:background="@android:color/white"
        android:orientation="vertical"
        android:layout_weight="0"
        >
        <TextView
            android:id="@+id/dialog_add_title"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:padding="@dimen/w20dp"
            android:gravity="center"
            android:textColor="@android:color/white"
            android:textSize="@dimen/w20dp"
            android:background="@color/colorPrimary"
            android:visibility="gone"
            />
        <cn.com.basic.face.widget.surveilance.AttenderRegisterUploadPhotoListView
            android:id="@+id/dialog_surveillance_photo_select_list_view"
            android:layout_width="wrap_content"
            android:layout_height="@dimen/h300dp"
            android:background="@android:color/white"
            android:orientation="vertical"
            android:layout_marginLeft="@dimen/w10dp"
            android:layout_marginBottom="@dimen/h25dp"
            />
        <View
            android:layout_width="match_parent"
            android:layout_height="0.5dp"
            android:background="@color/colorText_b"
            android:visibility="gone"
            />
        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="@dimen/h50dp"
            android:orientation="horizontal"
            android:visibility="gone"
            >
            <TextView
                android:id="@+id/dialog_add_ok"
                android:layout_weight="1"
                android:layout_width="wrap_content"
                android:layout_height="match_parent"
                android:gravity="center"
                android:text="@string/confirm"
                android:textSize="@dimen/w16dp"/>
            <View
                android:layout_width="0.5dp"
                android:layout_height="match_parent"
                android:background="@color/colorText_5"/>
            <TextView
                android:id="@+id/dialog_add_cancel"
                android:layout_weight="1"
                android:layout_width="wrap_content"
                android:layout_height="match_parent"
                android:gravity="center"
                android:text="@string/cancel"
                android:textSize="@dimen/w16dp"/>
        </LinearLayout>
    </LinearLayout>
</LinearLayout>
VisitFace/DemoForBsk/app/src/main/res/layout/dialog_visitor_register_select_photo_select.xml
New file
@@ -0,0 +1,77 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:gravity="center"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    >
    <View
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="1"
        android:visibility="invisible"
        />
    <LinearLayout
        android:id="@+id/dialog_add_linear_layout"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:gravity="center"
        android:background="@android:color/white"
        android:orientation="vertical"
        android:layout_weight="0"
        >
        <TextView
            android:id="@+id/dialog_add_title"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:padding="@dimen/w20dp"
            android:gravity="center"
            android:textColor="@android:color/white"
            android:textSize="@dimen/w20dp"
            android:background="@color/colorPrimary"
            android:visibility="gone"
            />
        <cn.com.basic.face.widget.surveilance.VisitorRegisterSelectPhotoListView
            android:id="@+id/dialog_surveillance_photo_select_list_view"
            android:layout_width="wrap_content"
            android:layout_height="@dimen/h300dp"
            android:background="@android:color/white"
            android:orientation="vertical"
            android:layout_marginLeft="@dimen/w10dp"
            android:layout_marginBottom="@dimen/h25dp"
            />
        <View
            android:layout_width="match_parent"
            android:layout_height="0.5dp"
            android:background="@color/colorText_b"
            android:visibility="gone"
            />
        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="@dimen/h50dp"
            android:orientation="horizontal"
            android:visibility="gone"
            >
            <TextView
                android:id="@+id/dialog_add_ok"
                android:layout_weight="1"
                android:layout_width="wrap_content"
                android:layout_height="match_parent"
                android:gravity="center"
                android:text="@string/confirm"
                android:textSize="@dimen/w16dp"/>
            <View
                android:layout_width="0.5dp"
                android:layout_height="match_parent"
                android:background="@color/colorText_5"/>
            <TextView
                android:id="@+id/dialog_add_cancel"
                android:layout_weight="1"
                android:layout_width="wrap_content"
                android:layout_height="match_parent"
                android:gravity="center"
                android:text="@string/cancel"
                android:textSize="@dimen/w16dp"/>
        </LinearLayout>
    </LinearLayout>
</LinearLayout>
VisitFace/DemoForBsk/app/src/main/res/layout/dialog_visitor_register_upload_photo_select.xml
New file
@@ -0,0 +1,77 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:gravity="center"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    >
    <View
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="1"
        android:visibility="invisible"
        />
    <LinearLayout
        android:id="@+id/dialog_add_linear_layout"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:gravity="center"
        android:background="@android:color/white"
        android:orientation="vertical"
        android:layout_weight="0"
        >
        <TextView
            android:id="@+id/dialog_add_title"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:padding="@dimen/w20dp"
            android:gravity="center"
            android:textColor="@android:color/white"
            android:textSize="@dimen/w20dp"
            android:background="@color/colorPrimary"
            android:visibility="gone"
            />
        <cn.com.basic.face.widget.surveilance.VisitorRegisterUploadPhotoListView
            android:id="@+id/dialog_surveillance_photo_select_list_view"
            android:layout_width="wrap_content"
            android:layout_height="@dimen/h300dp"
            android:background="@android:color/white"
            android:orientation="vertical"
            android:layout_marginLeft="@dimen/w10dp"
            android:layout_marginBottom="@dimen/h25dp"
            />
        <View
            android:layout_width="match_parent"
            android:layout_height="0.5dp"
            android:background="@color/colorText_b"
            android:visibility="gone"
            />
        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="@dimen/h50dp"
            android:orientation="horizontal"
            android:visibility="gone"
            >
            <TextView
                android:id="@+id/dialog_add_ok"
                android:layout_weight="1"
                android:layout_width="wrap_content"
                android:layout_height="match_parent"
                android:gravity="center"
                android:text="@string/confirm"
                android:textSize="@dimen/w16dp"/>
            <View
                android:layout_width="0.5dp"
                android:layout_height="match_parent"
                android:background="@color/colorText_5"/>
            <TextView
                android:id="@+id/dialog_add_cancel"
                android:layout_weight="1"
                android:layout_width="wrap_content"
                android:layout_height="match_parent"
                android:gravity="center"
                android:text="@string/cancel"
                android:textSize="@dimen/w16dp"/>
        </LinearLayout>
    </LinearLayout>
</LinearLayout>