package cn.com.basic.face.fragment;
|
|
import android.graphics.Rect;
|
import android.os.Bundle;
|
import android.support.v7.widget.GridLayoutManager;
|
import android.support.v7.widget.LinearLayoutManager;
|
import android.support.v7.widget.RecyclerView;
|
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.SupervisoryBottomListViewAdapter;
|
import cn.com.basic.face.base.BaseFragment;
|
|
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;
|
|
import java.util.ArrayList;
|
import java.util.List;
|
|
|
/**
|
* Created by zhangbo on 2017/2/15.
|
*/
|
|
public class SupervisoryFragment extends BaseFragment {
|
|
@ViewInject(R.id.fragment_supervisory_bottom_left_radio_group)
|
private RadioGroup fragment_supervisory_bottom_left_radio_group;
|
@ViewInject(R.id.fragment_supervisory_bottom_visitor_radio_button)
|
private RadioButton fragment_supervisory_bottom_visitor_radio_button;
|
@ViewInject(R.id.fragment_supervisory_bottom_attendance_radio_button)
|
private RadioButton fragment_supervisory_bottom_attendance_radio_button;
|
@ViewInject(R.id.fragment_supervisory_bottom_visitor_background)
|
private View fragment_supervisory_bottom_visitor_background;
|
@ViewInject(R.id.fragment_supervisory_bottom_attendance_background)
|
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)
|
VideoView fragment_supervisory_enter_camera;
|
@ViewInject(R.id.fragment_supervisory_exit_camera)
|
VideoView fragment_supervisory_exit_camera;
|
|
private SupervisoryBottomListViewAdapter mAdapter;
|
private List mList;
|
static boolean useNative = false;
|
|
static {
|
if (useNative) {
|
System.loadLibrary("rtspface");
|
RtspFaceNative.init();
|
}
|
}
|
|
private static SupervisoryFragment instance = new SupervisoryFragment();
|
|
public static SupervisoryFragment getInstance() {
|
return instance;
|
}
|
|
@Override
|
protected int getLayoutId() {
|
return R.layout.fragment_supervisory;
|
}
|
|
@Override
|
protected void initViews(View view, Bundle savedInstanceState) {
|
fragment_supervisory_bottom_register_list.addItemDecoration(new SpaceItemDecoration());
|
GridLayoutManager gridLayoutManager = new GridLayoutManager(getActivity(), 2);
|
gridLayoutManager.setOrientation(LinearLayoutManager.HORIZONTAL);
|
fragment_supervisory_bottom_register_list.setLayoutManager(gridLayoutManager);
|
mAdapter = new SupervisoryBottomListViewAdapter(getActivity());
|
new Thread(new Runnable() {
|
@Override
|
public void run() {
|
try {
|
Thread.sleep(2000);
|
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();
|
}
|
}
|
}).start();
|
}
|
|
@Override
|
protected void initListeners() {
|
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;
|
}
|
reloadBottomList();
|
}
|
});
|
}
|
|
@Override
|
public void setMenuVisibility(boolean menuVisible) {
|
super.setMenuVisibility(menuVisible);
|
if (menuVisible) {
|
reloadBottomList();
|
}
|
}
|
|
private void reloadBottomList() {
|
if (fragment_supervisory_bottom_register_list != null) {
|
mList = new ArrayList();
|
SupervisoryMng.getInstance().findSupervisoryBottomList();
|
mAdapter = new SupervisoryBottomListViewAdapter(getActivity());
|
mAdapter.setList(mList);
|
fragment_supervisory_bottom_register_list.setAdapter(mAdapter);
|
}
|
}
|
|
private 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(getActivity(), 15);
|
|
if (parent.getChildLayoutPosition(view) == 0 || parent.getChildLayoutPosition(view) == 1) {
|
outRect.left = WindowsUtil.dip2px(getActivity(), 14);
|
}
|
if (parent.getChildLayoutPosition(view) % 2 == 0) {
|
outRect.bottom = WindowsUtil.dip2px(getActivity(), 7);
|
}
|
}
|
}
|
|
}
|