From 9e5babf9db52e64bdae60137be7696e56241fca6 Mon Sep 17 00:00:00 2001 From: xingzilong <xingzilong@454eff88-639b-444f-9e54-f578c98de674> Date: 星期五, 18 八月 2017 18:12:17 +0800 Subject: [PATCH] H264 NALU解析 并在RTSPServer判断 --- VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/PhoneCallMng.java | 161 ++++++++++++++++++++++++++++++++++------------------- 1 files changed, 103 insertions(+), 58 deletions(-) diff --git a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/PhoneCallMng.java b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/PhoneCallMng.java index e1f7d60..1d63e26 100644 --- a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/PhoneCallMng.java +++ b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/PhoneCallMng.java @@ -16,14 +16,19 @@ import cn.com.basic.face.base.MainActivity; import cn.com.basic.face.discern.common.BaseCommonCallBack; import cn.com.basic.face.discern.common.CommonVariables; +import cn.com.basic.face.discern.common.ResultBean; +import cn.com.basic.face.discern.common.SqliteSqlBean; import cn.com.basic.face.discern.entity.PhoneCall; import cn.com.basic.face.discern.query.condition.PhoneCallQueryCondition; import cn.com.basic.face.discern.query.item.CheckInQueryItem; import cn.com.basic.face.discern.query.item.PhoneCallQueryItem; -import cn.com.basic.face.fragment.CheckInFragment; import cn.com.basic.face.fragment.PhoneCallFragment; +import cn.com.basic.face.service.sqlite.PhoneCallDao; import cn.com.basic.face.util.AppApi; import cn.com.basic.face.util.CharacterParser; +import cn.com.basic.face.util.RtspFaceNative; +import cn.com.basic.face.util.SqliteSqlUtil; +import cn.com.basic.face.util.ToastUtil; public class PhoneCallMng extends BaseMng { @@ -36,55 +41,72 @@ if (!BaseApplication.deviceAvailable) { return; } - RequestParams params = new RequestParams(AppApi.BASE_URL +AppApi.Query.PHONE_CALL_QUERY); - params.addBodyParameter(PhoneCallQueryCondition.FieldNames.username, searchText); - params.addBodyParameter(CommonVariables.Page.PAGE_SIZE, CommonVariables.Page.DEFAULT_PAGE_SIZE); - params.addBodyParameter(CommonVariables.Page.PAGE_NUM, pageNum+""); - x.http().post(params, new BaseCommonCallBack() { - public void success() { + if (BaseApplication.getInstance().networkAvailable()) { + RequestParams params = new RequestParams(AppApi.BASE_URL +AppApi.Query.PHONE_CALL_QUERY); + params.addBodyParameter(PhoneCallQueryCondition.FieldNames.username, searchText); + params.addBodyParameter(CommonVariables.Page.PAGE_SIZE, CommonVariables.Page.DEFAULT_PAGE_SIZE); + params.addBodyParameter(CommonVariables.Page.PAGE_NUM, pageNum+""); + params.addBodyParameter("deviceCompanyId", BaseApplication.getInstance().getAndroidDevice().getCompanyId()); + x.http().post(params, new BaseCommonCallBack() { + public void success() { + findPhoneCallLeftListAfterReturn(resultBean, isSortByDept, append); + } + }); + } else { + findPhoneCallLeftListAfterReturn(PhoneCallDao.getInstance().findPhoneCallLeftList(searchText, pageNum), isSortByDept, append); + } + } - List<PhoneCallQueryItem> list = getList(PhoneCallQueryItem.class); + private void findPhoneCallLeftListAfterReturn(ResultBean resultBean, final boolean isSortByDept, final boolean append) { + List<PhoneCallQueryItem> list = resultBean.getList(PhoneCallQueryItem.class); - if (append) { - List prevList = PhoneCallFragment.getInstance().get_fragment_phone_call_left_list_view().getPrevList(); - if (prevList != null && prevList.size() > 0) { - for (int i = 0; i < prevList.size(); i++) { - Object item = prevList.get(i); - if (item instanceof PhoneCallQueryItem) { - list.add((PhoneCallQueryItem)item); - } - } + if (append) { + List prevList = PhoneCallFragment.getInstance().get_fragment_phone_call_left_list_view().getPrevList(); + if (prevList != null && prevList.size() > 0) { + for (int i = 0; i < prevList.size(); i++) { + Object item = prevList.get(i); + if (item instanceof PhoneCallQueryItem) { + list.add((PhoneCallQueryItem)item); } } - sort(list, isSortByDept); - List itemList = new ArrayList(); - String name = ""; - String prev = ""; - for (int i = 0; i < list.size(); i++) { - PhoneCallQueryItem item = list.get(i); - try { - if (isSortByDept) { - if (item.getCalleeDept() != null && item.getCalleeDept().length() > 0) { - name = CharacterParser.getInstance().getSelling(item.getCalleeDept()).substring(0, 1); - } - } else { - if (item.getCallee() != null && item.getCallee().length() > 0) { - name = CharacterParser.getInstance().getSelling(item.getCallee()).substring(0, 1); - } - } - } catch (Exception e) { - - } - if (!name.equals(prev)) { - itemList.add(name); - } - itemList.add(item); - prev = name; - } - addPageFooter(hasMorePages(), getPageNum(), itemList); - PhoneCallFragment.getInstance().get_fragment_phone_call_left_list_view().show(isSortByDept, itemList, append); } - }); + } + sort(list, isSortByDept); + final List itemList = new ArrayList(); + String name = ""; + String prev = ""; + for (int i = 0; i < list.size(); i++) { + PhoneCallQueryItem item = list.get(i); + try { + if (isSortByDept) { + if (item.getCalleeDept() != null && item.getCalleeDept().length() > 0) { + name = CharacterParser.getInstance().getSelling(item.getCalleeDept()).substring(0, 1); + } + } else { + if (item.getCallee() != null && item.getCallee().length() > 0) { + name = CharacterParser.getInstance().getSelling(item.getCallee()).substring(0, 1); + } + } + } catch (Exception e) { + + } + if (!name.equals(prev)) { + itemList.add(name); + } + itemList.add(item); + prev = name; + } + addPageFooter(resultBean.hasMorePages(), resultBean.getPageNum(), itemList); + if (BaseApplication.getInstance().networkAvailable()) { + PhoneCallFragment.getInstance().get_fragment_phone_call_left_list_view().show(isSortByDept, itemList, append); + } else { + MainActivity.getInstance().runOnUiThread(new Runnable() { + @Override + public void run() { + PhoneCallFragment.getInstance().get_fragment_phone_call_left_list_view().show(isSortByDept, itemList, append); + } + }); + } } private void sort(List<PhoneCallQueryItem> list, final boolean sortedByDept) { @@ -117,26 +139,49 @@ }); } - public void addPhoneCall(CheckInQueryItem visitor, CheckInQueryItem interviewee) { + public void addPhoneCall(CheckInQueryItem visitor, CheckInQueryItem interviewee, boolean isMobilePhone) { if (visitor == null) { - Toast.makeText(MainActivity.getInstance(), "璇峰厛閫夋嫨琚浜�", Toast.LENGTH_SHORT).show(); + ToastUtil.show("璇峰厛閫夋嫨鏉ヨ浜�"); return; } if (interviewee == null) { - Toast.makeText(MainActivity.getInstance(), "璇峰厛閫夋嫨琚浜�", Toast.LENGTH_SHORT).show(); + ToastUtil.show("璇峰厛閫夋嫨琚浜�"); return; } - Toast.makeText(MainActivity.getInstance(), "宸叉坊鍔犲埌鍛煎彨璁板綍", Toast.LENGTH_SHORT).show(); - SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); - RequestParams params = new RequestParams(AppApi.BASE_URL +AppApi.PHONE_CALL_ADD); - params.addBodyParameter(PhoneCall.FieldNames.date, sdf.format(new Date())); - params.addBodyParameter(PhoneCall.FieldNames.calleeId, interviewee.getRegisterId()); - params.addBodyParameter(PhoneCall.FieldNames.deviceId, BaseApplication.getInstance().getDevice().getDeviceId()); - params.addBodyParameter(PhoneCall.FieldNames.callerId, visitor.getRegisterId()); - x.http().post(params, new BaseCommonCallBack() { - public void success() { + if (isMobilePhone) { + String mobilePhone = interviewee.getMobilePhone(); + if (mobilePhone == null || mobilePhone.trim().length() != 11) { + ToastUtil.show("鎵嬫満鍙风爜涓嶆纭�"); + return; } - }); + RtspFaceNative.teleCall(mobilePhone); + } else { + String tel = interviewee.getTel(); + if (tel == null || tel.trim().length() == 0) { + ToastUtil.show("搴ф満涓嶆纭�"); + return; + } + RtspFaceNative.teleCall(tel); + } + + if (BaseApplication.getInstance().networkAvailable()) { + Toast.makeText(MainActivity.getInstance(), "", Toast.LENGTH_SHORT).show(); + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + RequestParams params = new RequestParams(AppApi.BASE_URL +AppApi.PHONE_CALL_ADD); + params.addBodyParameter(PhoneCall.FieldNames.date, sdf.format(new Date())); + params.addBodyParameter(PhoneCall.FieldNames.calleeId, interviewee.getRegisterId()); + params.addBodyParameter(PhoneCall.FieldNames.deviceId, BaseApplication.getInstance().getAndroidDevice().getDeviceId()); + params.addBodyParameter(PhoneCall.FieldNames.callerId, visitor.getRegisterId()); + params.addBodyParameter("deviceCompanyId", BaseApplication.getInstance().getAndroidDevice().getCompanyId()); + x.http().post(params, new BaseCommonCallBack() { + public void success() { + SqliteSqlUtil.insert(getExtraList(SqliteSqlBean.class)); + } + }); + } else { + PhoneCallDao.getInstance().addPhoneCall(visitor, interviewee); + } + ToastUtil.show("宸叉坊鍔犲埌鍛煎彨璁板綍"); } } -- Gitblit v1.8.0