xuxiuxi
2017-05-04 0bb59ba904922ae0bd1528096c38b5b491088f13


git-svn-id: http://192.168.1.226/svn/proxy@595 454eff88-639b-444f-9e54-f578c98de674
6个文件已添加
4个文件已修改
506 ■■■■■ 已修改文件
VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/adapter/SurveillanceFragment.java 59 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/dialog/SurveillancePhotoDialog.java 185 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/discern/query/item/SurveillancePhotoQueryItem.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/fragment/RegisterFragment.java 14 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/fragment/SurveillanceFragment.java 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/widget/surveilance/SurveillancePhotoSelectListView.java 83 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
VisitFace/DemoForBsk/app/src/main/res/drawable/u241.png 补丁 | 查看 | 原始文档 | blame | 历史
VisitFace/DemoForBsk/app/src/main/res/layout/dialog_surveillance_photo_select.xml 74 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
VisitFace/DemoForBsk/app/src/main/res/layout/fragment_surveillance.xml 5 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
VisitFace/DemoForBsk/app/src/main/res/layout/fragment_surveillance_photo_cell.xml 62 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/adapter/SurveillanceFragment.java
@@ -253,4 +253,63 @@
            return JSON.parseObject(JSON.toJSONString(item), CheckInQueryItem.class);
        }
    }
    public static class SurveillancePhotoSelectListViewAdapter extends EasyRecyclerViewAdapter {
        private Context context;
        public SurveillancePhotoSelectListViewAdapter(Context context) {
            this.context = context;
        }
        @Override
        public int[] getItemLayouts() {
            return new int[]{R.layout.fragment_surveillance_photo_cell};
        }
        @Override
        public void onBindRecycleViewHolder(EasyRecyclerViewHolder viewHolder, int position) {
            RelativeLayout mLayout = viewHolder.findViewById(R.id.fragment_surveillance_photo_cell_relative_layout);
            ViewGroup.LayoutParams layoutParams = mLayout.getLayoutParams();
            layoutParams.height = (int)MainActivity.getInstance().getResources().getDimension(R.dimen.h127dp);
            layoutParams.width = (int)MainActivity.getInstance().getResources().getDimension(R.dimen.h122dp);
            mLayout.setLayoutParams(layoutParams);
            ImageView fragment_surveillance_photo_cell_photo = (ImageView) mLayout.findViewById(R.id.fragment_surveillance_photo_cell_photo);
            final View fragment_surveillance_photo_cell_select = (TextView) mLayout.findViewById(R.id.fragment_surveillance_photo_cell_select);
            Object data = this.getItem(position);
            fragment_surveillance_photo_cell_photo.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    fragment_surveillance_photo_cell_select.setVisibility(fragment_surveillance_photo_cell_select.getVisibility() == View.VISIBLE
                        ? View.INVISIBLE : View.VISIBLE
                    );
                }
            });
            if (data instanceof SurveillanceQueryItem) {
                final SurveillanceQueryItem item = (SurveillanceQueryItem)data;
                if (item.getImagePath() != null && !item.getImagePath().equals("")) {
                    fragment_surveillance_photo_cell_photo.setImageURI(Uri.parse(AppApi.IMAGE_URL_BASE +item.getImagePath()));
                } else {
                    if (item.getBitmap() != null) {
                        fragment_surveillance_photo_cell_photo.setImageBitmap(item.getBitmap());
                    } else {
                        fragment_surveillance_photo_cell_photo.setImageResource(R.drawable.u45);
                    }
                }
            }
        }
        @Override
        public int getRecycleViewItemType(int position) {
            return 0;
        }
        private CheckInQueryItem getVo(SurveillanceQueryItem item) {
            return JSON.parseObject(JSON.toJSONString(item), CheckInQueryItem.class);
        }
    }
}
VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/dialog/SurveillancePhotoDialog.java
New file
@@ -0,0 +1,185 @@
package cn.com.basic.face.dialog;
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;
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.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.util.Constant;
import cn.com.basic.face.util.OkClickedListener;
import cn.com.basic.face.widget.surveilance.SurveillancePhotoSelectListView;
public class SurveillancePhotoDialog extends PopupWindow {
    private final View parentView;
    @ViewInject(R.id.dialog_surveillance_photo_select_list_view)
    private SurveillancePhotoSelectListView dialog_surveillance_photo_select_list_view;
    private List list = new ArrayList();
    public static List visitorTypeList = new ArrayList();
    public static List genderList = new ArrayList();
    public static List idTypeList = new ArrayList();
    public static List visitReasonList = new ArrayList();
    public static void setVisitorTypeList(List visitorTypeList) {
        AddDialog.visitorTypeList = visitorTypeList;
    }
    public static void setGenderList(List genderList) {
        AddDialog.genderList = genderList;
    }
    public static void setIdTypeList(List idTypeList) {
        AddDialog.idTypeList = idTypeList;
    }
    public SurveillancePhotoDialog(View parentView, int type, OkClickedListener okButtonClickedListener) {
        this.parentView = parentView;
        View view = LayoutInflater.from(MainActivity.getInstance()).inflate(R.layout.dialog_surveillance_photo_select,null);
        ViewUtils.inject(this, view);
        List<SurveillanceQueryItem> prevVisitorList = SurveillanceFragment.getInstance().get_fragment_supervisory_bottom_visitor_list_view().getPrevList();
        List<SurveillanceQueryItem> registerList = new ArrayList();
        for (SurveillanceQueryItem surveillanceQueryItem : prevVisitorList) {
            if (surveillanceQueryItem.getRegisterOrCheckIn() == CommonVariables.Surveillance.VISIT_REGISTER_ITEM_TYPE) {
                registerList.add(surveillanceQueryItem);
            }
        }
        for (int i = 0; i < 2; i++) {
            SurveillanceQueryItem item = new SurveillanceQueryItem();
            registerList.add(item);
        }
        dialog_surveillance_photo_select_list_view.show(registerList);
        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.PopupAnimation);
        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/discern/query/item/SurveillancePhotoQueryItem.java
New file
@@ -0,0 +1,4 @@
package cn.com.basic.face.discern.query.item;
public class SurveillancePhotoQueryItem {
}
VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/fragment/RegisterFragment.java
@@ -17,6 +17,7 @@
import cn.com.basic.face.base.BaseApplication;
import cn.com.basic.face.base.BaseFragment;
import cn.com.basic.face.dialog.SurveillancePhotoDialog;
import cn.com.basic.face.discern.common.CommonVariables;
import cn.com.basic.face.discern.entity.Register;
import cn.com.basic.face.discern.query.condition.SurveillanceQueryCondition;
@@ -380,10 +381,15 @@
    @OnClick(R.id.fragment_register_surveillance_photo)
    public void fragment_register_surveillance_photo_click(View view) {
        Intent intent = new Intent();
        intent.setType("image/*");
        intent.setAction(Intent.ACTION_GET_CONTENT);
        startActivityForResult(Intent.createChooser(intent, "选择图片"), fragment_register_surveillance_photo_);
//        Intent intent = new Intent();
//        intent.setType("image/*");
//        intent.setAction(Intent.ACTION_GET_CONTENT);
//        startActivityForResult(Intent.createChooser(intent, "选择图片"), fragment_register_surveillance_photo_);
        new SurveillancePhotoDialog(fragment_register_linear_layout, Constant.DialogSelectType.ID_TYPE, new OkClickedListener() {
            public void onSelected(String value) {
                fragment_register_id_class.setValue(value);
            }
        });
    }
    @OnClick(R.id.fragment_register_upload_custom_photo)
VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/fragment/SurveillanceFragment.java
@@ -1,5 +1,6 @@
package cn.com.basic.face.fragment;
import android.os.Build;
import android.os.Bundle;
import android.view.SurfaceView;
import android.view.View;
@@ -49,7 +50,23 @@
    static boolean useNative = true;
    public static boolean isEmulator() {
        return Build.FINGERPRINT.startsWith("generic")
                || Build.FINGERPRINT.startsWith("unknown")
                || Build.MODEL.contains("google_sdk")
                || Build.MODEL.contains("Emulator")
                || Build.MODEL.contains("Android SDK built for x86")
                || Build.MANUFACTURER.contains("Genymotion")
                || (Build.BRAND.startsWith("generic") && Build.DEVICE.startsWith("generic"))
                || "google_sdk".equals(Build.PRODUCT);
    }
    static {
        if (isEmulator()) {
            useNative = false;
        } else {
            useNative = true;
        }
        if (useNative) {
            System.loadLibrary("cvface_api");
            System.loadLibrary("opencv_java3");
@@ -58,7 +75,8 @@
            System.loadLibrary("protoc");
            System.loadLibrary("rtspface");
            RtspFaceNative.init();
            RtspFaceNative.setLocalIP("192.168.1.10");
//            RtspFaceNative.setLocalIP("192.168.1.10");
            RtspFaceNative.setLocalIP("192.168.1.106");//自己手机ip
        }
    }
VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/widget/surveilance/SurveillancePhotoSelectListView.java
New file
@@ -0,0 +1,83 @@
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 SurveillancePhotoSelectListView extends EasyRecyclerView {
    private Parcelable recyclerViewState;
    private class SpaceItemDecoration extends ItemDecoration {
        @Override
        public void getItemOffsets(Rect outRect, View view, RecyclerView parent, 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);
            }
        }
    }
    public void initLayout() {
        addItemDecoration(new SpaceItemDecoration());
        GridLayoutManager gridLayoutManager = new GridLayoutManager(MainActivity.getInstance(), 2);
        gridLayoutManager.setOrientation(LinearLayoutManager.HORIZONTAL);
        setLayoutManager(gridLayoutManager);
    }
    private SurveillanceFragment.SurveillancePhotoSelectListViewAdapter mAdapter;
    private List list = new ArrayList();
    public void setAdapter(Context context) {
        mAdapter = new SurveillanceFragment.SurveillancePhotoSelectListViewAdapter(context);
        mAdapter.setList(list);
        setAdapter(mAdapter);
        initLayout();
    }
    public SurveillancePhotoSelectListView(Context context) {
        super(context);
        setAdapter(context);
    }
    public SurveillancePhotoSelectListView(Context context, AttributeSet attrs) {
        super(context, attrs);
        setAdapter(context);
    }
    public SurveillancePhotoSelectListView(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/drawable/u241.png
VisitFace/DemoForBsk/app/src/main/res/layout/dialog_surveillance_photo_select.xml
New file
@@ -0,0 +1,74 @@
<?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.SurveillancePhotoSelectListView
            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"/>
        <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/fragment_surveillance.xml
@@ -56,7 +56,9 @@
                    android:textSize="@dimen/w14dp"
                    android:textColor="@android:color/white"
                    android:layout_marginLeft="@dimen/w16dp"
                    android:text="2016年12月5日  17:03:42分"/>
                    android:text="2016年12月5日  17:03:42分"
                    android:visibility="gone"
                    />
                <TextView
                    android:layout_width="wrap_content"
@@ -97,6 +99,7 @@
                    android:layout_marginLeft="@dimen/w16dp"
                    android:text="2016年12月5日  17:03:42分"
                    android:id="@+id/fragment_surveillance_exit_timer"
                    android:visibility="gone"
                    />
                <TextView
VisitFace/DemoForBsk/app/src/main/res/layout/fragment_surveillance_photo_cell.xml
New file
@@ -0,0 +1,62 @@
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/fragment_surveillance_photo_cell_relative_layout"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    xmlns:fresco="http://schemas.android.com/apk/res-auto"
    >
    <RelativeLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content">
        <com.facebook.drawee.view.SimpleDraweeView
            android:id="@+id/fragment_surveillance_photo_cell_photo"
            android:layout_width="@dimen/w122dp"
            android:layout_height="@dimen/h127dp"
            android:layout_alignParentBottom="true"
            android:scaleType="centerCrop"
            android:paddingTop="@dimen/h15dp"
            android:paddingRight="@dimen/w5dp"
            android:paddingLeft="@dimen/w5dp"
            fresco:roundedCornerRadius="@dimen/w5dp"
            android:background="#14000000"
            />
        <com.facebook.drawee.view.SimpleDraweeView
            android:id="@+id/fragment_surveillance_photo_cell_photo1"
            android:layout_width="@dimen/w122dp"
            android:layout_height="@dimen/h127dp"
            android:layout_alignParentBottom="true"
            android:scaleType="centerCrop"
            android:paddingTop="@dimen/h15dp"
            android:paddingRight="@dimen/w5dp"
            android:paddingLeft="@dimen/w5dp"
            fresco:roundedCornerRadius="@dimen/w5dp"
            android:alpha="0.55"
            />
    </RelativeLayout>
    <!--<TextView
        android:id="@+id/fragment_surveillance_photo_cell_select"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:background="@drawable/u241"
        android:gravity="center"
        android:layout_marginBottom="@dimen/h20dp"
        android:layout_marginLeft="@dimen/w70dp"
        android:layout_alignParentBottom="true"
        android:textColor="@android:color/white"
        android:layout_alignParentLeft="true"
        android:visibility="invisible"
        />-->
    <ImageView
        android:id="@+id/fragment_surveillance_photo_cell_select"
        android:layout_width="@dimen/w50dp"
        android:layout_height="@dimen/h50dp"
        android:src="@drawable/u241"
        android:gravity="center"
        android:layout_marginBottom="@dimen/h20dp"
        android:layout_marginLeft="@dimen/w60dp"
        android:layout_alignParentBottom="true"
        android:textColor="@android:color/white"
        android:layout_alignParentLeft="true"
        />
</RelativeLayout>