From daad95eefa884411112b2fe02b9b19acff25d3bf Mon Sep 17 00:00:00 2001 From: xuxiuxi <xuxiuxi@454eff88-639b-444f-9e54-f578c98de674> Date: 星期三, 22 三月 2017 14:31:21 +0800 Subject: [PATCH] --- VisitFace/DemoForBsk/app/src/main/java/com/bsk/zhangbo/demoforbsk/ui/fragment/RegisterFragment.java | 49 +------ VisitFace/DemoForBsk/app/src/main/java/com/bsk/zhangbo/demoforbsk/util/RtspFaceNative.java | 23 +++ VisitFace/DemoForBsk/app/src/main/java/com/bsk/zhangbo/demoforbsk/com/bsk/zhangbo/demoforbsk/service/DictionaryService.java | 112 ++++++++++++++++ VisitFace/DemoForBsk/app/src/main/java/com/bsk/zhangbo/demoforbsk/base/BaseFragment.java | 1 VisitFace/DemoForBsk/app/src/main/java/com/bsk/zhangbo/demoforbsk/widget/CountrySelectionPopup.java | 29 +++ VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/discern/common/BaseCommonCallBack.java | 5 VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/discern/common/CommonVariables.java | 4 VisitFace/DemoForBsk/app/src/main/java/com/bsk/zhangbo/demoforbsk/base/BaseApplication.java | 13 + VisitFace/DemoForBsk/app/src/main/java/com/bsk/zhangbo/demoforbsk/widget/SingleSelectionPopup.java | 4 VisitFace/DemoForBsk/app/src/main/java/com/bsk/zhangbo/demoforbsk/ui/fragment/OneFragment.java | 103 ++++++-------- VisitFace/DemoForBsk/app/src/main/java/com/bsk/zhangbo/demoforbsk/com/bsk/zhangbo/demoforbsk/service/VisitorTypeService.java | 48 ++++++ VisitFace/DemoForBsk/app/src/main/res/layout/fragment_one.xml | 7 12 files changed, 286 insertions(+), 112 deletions(-) diff --git a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/discern/common/BaseCommonCallBack.java b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/discern/common/BaseCommonCallBack.java index cb986e1..8355142 100644 --- a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/discern/common/BaseCommonCallBack.java +++ b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/discern/common/BaseCommonCallBack.java @@ -1,8 +1,11 @@ package cn.com.basic.face.discern.common; +import android.widget.Toast; + import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; +import com.bsk.zhangbo.demoforbsk.base.BaseApplication; import org.xutils.common.Callback; @@ -56,7 +59,7 @@ @Override public void onError(Throwable ex, boolean isOnCallback) { - System.out.print("hello"); + Toast.makeText(BaseApplication.getApplication(), "缃戠粶杩炴帴澶辫触", Toast.LENGTH_SHORT ).show(); } @Override diff --git a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/discern/common/CommonVariables.java b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/discern/common/CommonVariables.java index 5d6548b..5e9f42e 100644 --- a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/discern/common/CommonVariables.java +++ b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/discern/common/CommonVariables.java @@ -42,7 +42,9 @@ public class DictionaryType { public static final String SEX = "sex"; - } + public static final String CREDENTIALS = "credentials"; + public static final String NATION = "nation"; + } } diff --git a/VisitFace/DemoForBsk/app/src/main/java/com/bsk/zhangbo/demoforbsk/base/BaseApplication.java b/VisitFace/DemoForBsk/app/src/main/java/com/bsk/zhangbo/demoforbsk/base/BaseApplication.java index 29b391d..c18185a 100644 --- a/VisitFace/DemoForBsk/app/src/main/java/com/bsk/zhangbo/demoforbsk/base/BaseApplication.java +++ b/VisitFace/DemoForBsk/app/src/main/java/com/bsk/zhangbo/demoforbsk/base/BaseApplication.java @@ -2,6 +2,9 @@ import android.app.Application; +import com.bsk.zhangbo.demoforbsk.com.bsk.zhangbo.demoforbsk.service.DictionaryService; +import com.bsk.zhangbo.demoforbsk.com.bsk.zhangbo.demoforbsk.service.VisitorTypeService; +import com.bsk.zhangbo.demoforbsk.util.RtspFaceNative; import com.facebook.drawee.backends.pipeline.Fresco; import com.lzy.okhttputils.OkHttpUtils; import com.lzy.okhttputils.model.HttpHeaders; @@ -14,12 +17,22 @@ */ public class BaseApplication extends Application{ + + private static BaseApplication application; + + public static BaseApplication getApplication() { + return application; + } + @Override public void onCreate() { super.onCreate(); x.Ext.init(this); Fresco.initialize(this); initOkHttpUtils(); + application = this; + DictionaryService.loadAllDictionaryData(); + VisitorTypeService.loadAll(); } diff --git a/VisitFace/DemoForBsk/app/src/main/java/com/bsk/zhangbo/demoforbsk/base/BaseFragment.java b/VisitFace/DemoForBsk/app/src/main/java/com/bsk/zhangbo/demoforbsk/base/BaseFragment.java index 34c98db..db663de 100644 --- a/VisitFace/DemoForBsk/app/src/main/java/com/bsk/zhangbo/demoforbsk/base/BaseFragment.java +++ b/VisitFace/DemoForBsk/app/src/main/java/com/bsk/zhangbo/demoforbsk/base/BaseFragment.java @@ -32,7 +32,6 @@ return this.view; } - /** * 璺宠浆鍒版寚瀹氱殑Activity * diff --git a/VisitFace/DemoForBsk/app/src/main/java/com/bsk/zhangbo/demoforbsk/com/bsk/zhangbo/demoforbsk/service/DictionaryService.java b/VisitFace/DemoForBsk/app/src/main/java/com/bsk/zhangbo/demoforbsk/com/bsk/zhangbo/demoforbsk/service/DictionaryService.java new file mode 100644 index 0000000..03cf499 --- /dev/null +++ b/VisitFace/DemoForBsk/app/src/main/java/com/bsk/zhangbo/demoforbsk/com/bsk/zhangbo/demoforbsk/service/DictionaryService.java @@ -0,0 +1,112 @@ +package com.bsk.zhangbo.demoforbsk.com.bsk.zhangbo.demoforbsk.service; + +import com.bsk.zhangbo.demoforbsk.util.AppApi; + +import net.sourceforge.pinyin4j.PinyinHelper; + +import org.xutils.http.RequestParams; +import org.xutils.x; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +import cn.com.basic.face.discern.common.BaseCommonCallBack; +import cn.com.basic.face.discern.common.CommonVariables; +import cn.com.basic.face.discern.entity.Dictionary; +import cn.com.basic.face.discern.query.item.VistorTypeQueryItem; + +public class DictionaryService { + + public static List<String> nationList = new ArrayList<String>(); + public static List<String> mCredentialsList = new ArrayList<String>(); + public static List<String> mSexList = new ArrayList<String>(); + public static Map<String, String> idMap = new HashMap<String, String>(); + public static List<String> countryWordList = new ArrayList<String>(); + public static HashMap<String,List<String>> countryData = new HashMap<String,List<String>>(); + public static String[] countryWordData = new String[]{}; + + public static void loadAllDictionaryData() { + loadNation(); + loadCredentialsList(); + loadSexList(); + } + + public static String getPinYinFirstLetter(String str) { + StringBuffer sb = new StringBuffer(); + try { + sb.setLength(0); + char c = str.charAt(0); + String[] pinyinArray = PinyinHelper.toHanyuPinyinStringArray(c); + if (pinyinArray != null) { + sb.append(pinyinArray[0].charAt(0)); + } else { + sb.append(c); + } + } catch (Exception e) { + e.printStackTrace(); + } + return sb.toString(); + } + + public static void loadNation() { + RequestParams params = new RequestParams(AppApi.BASEURL+AppApi.DICTIONARY_TYPE_LIST); + params.addParameter(Dictionary.FieldNames.type, CommonVariables.DictionaryType.NATION); + x.http().get(params, new BaseCommonCallBack() { + public void success() { + List<Dictionary> items = getList(Dictionary.class); + countryWordData = new String[items.size()]; + int i=0; + for (Dictionary item : items) { + idMap.put(item.getName(), item.getId()+""); + nationList.add(item.getName()); + String captialLetter = item.getRemark();//getPinYinFirstLetter(nation.getName()).toUpperCase(); + List list = countryData.get(captialLetter); + if (list == null) { + list = new ArrayList(); + countryData.put(captialLetter, list); + countryWordList.add(0, captialLetter); + } + list.add(item.getName()); + countryWordData[i] = item.getName(); + i++; + } + } + }); + } + + public static void loadCredentialsList() { + RequestParams params = new RequestParams(AppApi.BASEURL+AppApi.DICTIONARY_TYPE_LIST); + params.addParameter(Dictionary.FieldNames.type, CommonVariables.DictionaryType.CREDENTIALS); + x.http().get(params, new BaseCommonCallBack() { + public void success() { + List<Dictionary> items = getList(Dictionary.class); + for (Dictionary item : items) { + idMap.put(item.getName(), item.getId()+""); + mCredentialsList.add(item.getName()); + } + } + }); + } + + private static void loadSexList() { + RequestParams params = new RequestParams(AppApi.BASEURL+AppApi.DICTIONARY_TYPE_LIST); + params.addParameter(Dictionary.FieldNames.type, CommonVariables.DictionaryType.SEX); + x.http().get(params, new BaseCommonCallBack() { + public void success() { + List<Dictionary> items = getList(Dictionary.class); + for (Dictionary item : items) { + idMap.put(item.getName(), item.getId()+""); + mSexList.add(item.getName()); + } + } + }); + + } + + public static String getId(String name) { + return idMap.get(name); + } + +} diff --git a/VisitFace/DemoForBsk/app/src/main/java/com/bsk/zhangbo/demoforbsk/com/bsk/zhangbo/demoforbsk/service/VisitorTypeService.java b/VisitFace/DemoForBsk/app/src/main/java/com/bsk/zhangbo/demoforbsk/com/bsk/zhangbo/demoforbsk/service/VisitorTypeService.java new file mode 100644 index 0000000..761e8da --- /dev/null +++ b/VisitFace/DemoForBsk/app/src/main/java/com/bsk/zhangbo/demoforbsk/com/bsk/zhangbo/demoforbsk/service/VisitorTypeService.java @@ -0,0 +1,48 @@ +package com.bsk.zhangbo.demoforbsk.com.bsk.zhangbo.demoforbsk.service; + +import com.bsk.zhangbo.demoforbsk.util.AppApi; + +import org.xutils.http.RequestParams; +import org.xutils.x; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +import cn.com.basic.face.discern.common.BaseCommonCallBack; +import cn.com.basic.face.discern.query.item.VistorTypeQueryItem; + +/** + * Created by xiuxi on 2017/3/22. + */ + +public class VisitorTypeService { + + public static List<String> mVisitorTypeList; + public static Map<String, String> idMap = new HashMap<String, String>(); + + public static void loadAll() { + loadVisitorTypeList(); + } + + private static void loadVisitorTypeList() { + RequestParams params = new RequestParams(AppApi.BASEURL+AppApi.VISITOR_TYPE_LIST); + x.http().get(params, new BaseCommonCallBack() { + public void success() { + List<VistorTypeQueryItem> items = getList(VistorTypeQueryItem.class); + mVisitorTypeList = new ArrayList<String>(); + for (VistorTypeQueryItem item : items) { + mVisitorTypeList.add(item.getLabel()); + idMap.put(item.getLabel(), item.getId()+""); + } + } + + }); + } + + public static String getId(String name) { + return idMap.get(name); + } + +} diff --git a/VisitFace/DemoForBsk/app/src/main/java/com/bsk/zhangbo/demoforbsk/ui/fragment/OneFragment.java b/VisitFace/DemoForBsk/app/src/main/java/com/bsk/zhangbo/demoforbsk/ui/fragment/OneFragment.java index 7f22d73..39714d2 100644 --- a/VisitFace/DemoForBsk/app/src/main/java/com/bsk/zhangbo/demoforbsk/ui/fragment/OneFragment.java +++ b/VisitFace/DemoForBsk/app/src/main/java/com/bsk/zhangbo/demoforbsk/ui/fragment/OneFragment.java @@ -4,6 +4,7 @@ import android.graphics.Rect; import android.graphics.SurfaceTexture; import android.os.Bundle; +import android.support.v4.app.Fragment; import android.support.v4.view.ViewPager; import android.support.v7.widget.GridLayoutManager; import android.support.v7.widget.LinearLayoutManager; @@ -16,12 +17,14 @@ import android.widget.RadioButton; import android.widget.RadioGroup; import android.widget.Toast; +import android.widget.VideoView; import com.bsk.zhangbo.demoforbsk.R; import com.bsk.zhangbo.demoforbsk.adapter.MyFragmentPagerAdapter; import com.bsk.zhangbo.demoforbsk.adapter.OneBottomRecylerViewAdapter; import com.bsk.zhangbo.demoforbsk.base.BaseFragment; import com.bsk.zhangbo.demoforbsk.ui.activity.TestARGB8888Activity; +import com.bsk.zhangbo.demoforbsk.util.RtspFaceNative; import com.bsk.zhangbo.demoforbsk.util.WindowsUtil; import com.bsk.zhangbo.demoforbsk.widget.MyGLSurfaceView; import com.camnter.easyrecyclerview.widget.EasyRecyclerView; @@ -31,6 +34,7 @@ import java.util.Collection; import java.util.Collections; import java.util.List; + /** @@ -46,7 +50,6 @@ private List mList; private EasyRecyclerView mRecyclerViewRegister, mRecyclerViewUser; - //鎾斁 String mSourceString = "clips/testfile.mp4"; @@ -56,41 +59,18 @@ SurfaceHolder mSurfaceHolder1; VideoSink mSelectedVideoSink; - VideoSink mNativeCodecPlayerVideoSink; + SurfaceHolderVideoSink mSurfaceHolder1VideoSink; + VideoSink mNativeCodecPlayerVideoSink; GLViewVideoSink mGLView1VideoSink; boolean mCreated = false; boolean mIsPlaying = false; -// SurfaceHolderVideoSink mSurfaceHolder1VideoSink; -// VideoSink mSelectedVideoSink; -// VideoSink mNativeCodecPlayerVideoSink; -// SurfaceView mSurfaceView1; -// SurfaceHolder mSurfaceHolder1; -// boolean mCreated = false; -// boolean mIsPlaying = false; -// String mSourceString = "clips/testfile.mp4"; - - /** - * Native methods, implemented in jni folder - */ -// public static native void createEngine(); -// -// public static native boolean createStreamingMediaPlayer(AssetManager assetMgr, String filename); -// -// public static native void setPlayingStreamingMediaPlayer(boolean isPlaying); -// -// public static native void shutdown(); -// -// public static native void setSurface(Surface surface); -// -// public static native void rewindStreamingMediaPlayer(); - /** Load jni .so on initialization */ static { - //System.loadLibrary("native-codec-jni");//xiuxi + System.loadLibrary("rtspface");//xiuxi } @@ -122,6 +102,15 @@ mGLView1 = (MyGLSurfaceView) view.findViewById(R.id.surfaceview2); mSurfaceView1 = (SurfaceView) view.findViewById(R.id.surfaceview1); + RtspFaceNative.init(); + try { + Thread.sleep(3000); + }catch (Exception e) { + e.printStackTrace(); + } + RtspFaceNative.setSurface(1, mSurfaceView1.getHolder().getSurface()); + RtspFaceNative.setSurface(2, mGLView1.getHolder().getSurface()); + mSurfaceHolder1 = mSurfaceView1.getHolder(); mSurfaceHolder1.addCallback(new SurfaceHolder.Callback() { @@ -144,10 +133,10 @@ }); //surfaceview -// if (mSurfaceHolder1VideoSink == null) { -// mSurfaceHolder1VideoSink = new SurfaceHolderVideoSink(mSurfaceHolder1); -// } -// mSelectedVideoSink = mSurfaceHolder1VideoSink; + if (mSurfaceHolder1VideoSink == null) { + mSurfaceHolder1VideoSink = new SurfaceHolderVideoSink(mSurfaceHolder1); + } + mSelectedVideoSink = mSurfaceHolder1VideoSink; //openGL @@ -170,16 +159,22 @@ return; } mSelectedVideoSink.useAsSinkForNative(); + mSurfaceHolder1VideoSink.useAsSinkForNative(); + //mSelectedVideoSink.useAsSinkForNative(); + //mSurfaceHolder1VideoSink.useAsSinkForNative(); mNativeCodecPlayerVideoSink = mSelectedVideoSink; } if (mSourceString != null) { - mCreated = createStreamingMediaPlayer(getResources().getAssets(), - mSourceString); + //mCreated = createStreamingMediaPlayer(getResources().getAssets(), + // mSourceString); + mCreated = RtspFaceNative.createPlayer(1, "rtsp://admin:admin12345@192.168.1.70:554/h264/ch1/main/av_stream"); + mCreated = RtspFaceNative.createPlayer(2, "rtsp://admin:admin12345@192.168.1.70:554/h264/ch1/main/av_stream"); + ////mCreated = createPlayer(2, "rtsp://admin:admin12345@192.168.1.70:554/h264/ch1/main/av_stream"); } } if (mCreated) { mIsPlaying = !mIsPlaying; - setPlayingStreamingMediaPlayer(mIsPlaying); + //setPlayingStreamingMediaPlayer(mIsPlaying); } @@ -188,7 +183,7 @@ } } }); - //thread.start();//xiuxi + thread.start();//xiuxi } @Override @@ -253,14 +248,17 @@ if (mCreated && mNativeCodecPlayerVideoSink != mSelectedVideoSink) { // shutdown and recreate on other surface Log.i("@@@", "shutting down player"); - shutdown(); + RtspFaceNative.shutdown(1); mCreated = false; mSelectedVideoSink.useAsSinkForNative(); mNativeCodecPlayerVideoSink = mSelectedVideoSink; if (mSourceString != null) { Log.i("@@@", "recreating player"); - mCreated = createStreamingMediaPlayer(getResources().getAssets(), mSourceString); + //mCreated = createStreamingMediaPlayer(getResources().getAssets(), mSourceString); mIsPlaying = false; + mCreated = RtspFaceNative.createPlayer(1, "rtsp://admin:admin12345@192.168.1.70:554/h264/ch1/main/av_stream"); + mCreated = RtspFaceNative.createPlayer(2, "rtsp://admin:admin12345@192.168.1.70:554/h264/ch1/main/av_stream"); + ////mCreated = createPlayer(2, "rtsp://admin:admin12345@192.168.1.70:554/h264/ch1/main/av_stream"); } } } @@ -287,30 +285,11 @@ */ @Override public void onDestroy() { - shutdown(); + RtspFaceNative.shutdown(1); mCreated = false; super.onDestroy(); } - /** - * Native methods, implemented in jni folder - */ -// public static native void createEngine(); - - public static native boolean createStreamingMediaPlayer(AssetManager assetMgr, String filename); - - public static native void setPlayingStreamingMediaPlayer(boolean isPlaying); - - public static native void shutdown(); - - public static native void setSurface(Surface surface); - - public static native void rewindStreamingMediaPlayer(); - - /** Load jni .so on initialization */ - static { - //System.loadLibrary("native-codec-jni");//xiuxi - } // VideoSink abstracts out the difference between Surface and SurfaceTexture // aka SurfaceHolder and GLSurfaceView @@ -339,7 +318,13 @@ void useAsSinkForNative() { Surface s = mSurfaceHolder.getSurface(); Log.i("@@@", "setting surface " + s); - setSurface(s); + RtspFaceNative.setSurface(1, s); + + + /*SurfaceTexture st = mSurfaceHolder.getSurfaceTexture(); + Surface s = new Surface(st); + RtspFaceNative.setSurface(2, s); + s.release();*/ } } @@ -361,7 +346,7 @@ void useAsSinkForNative() { SurfaceTexture st = mMyGLSurfaceView.getSurfaceTexture(); Surface s = new Surface(st); - setSurface(s); + RtspFaceNative.setSurface(2, s); s.release(); } diff --git a/VisitFace/DemoForBsk/app/src/main/java/com/bsk/zhangbo/demoforbsk/ui/fragment/RegisterFragment.java b/VisitFace/DemoForBsk/app/src/main/java/com/bsk/zhangbo/demoforbsk/ui/fragment/RegisterFragment.java index 31cf09b..7fe037d 100644 --- a/VisitFace/DemoForBsk/app/src/main/java/com/bsk/zhangbo/demoforbsk/ui/fragment/RegisterFragment.java +++ b/VisitFace/DemoForBsk/app/src/main/java/com/bsk/zhangbo/demoforbsk/ui/fragment/RegisterFragment.java @@ -7,10 +7,11 @@ import android.widget.EditText; import android.widget.LinearLayout; import android.widget.TextView; -import android.widget.Toast; import com.bsk.zhangbo.demoforbsk.R; import com.bsk.zhangbo.demoforbsk.base.BaseFragment; +import com.bsk.zhangbo.demoforbsk.com.bsk.zhangbo.demoforbsk.service.DictionaryService; +import com.bsk.zhangbo.demoforbsk.com.bsk.zhangbo.demoforbsk.service.VisitorTypeService; import com.bsk.zhangbo.demoforbsk.listeners.OkButtonClickedListener; import com.bsk.zhangbo.demoforbsk.util.AppApi; import com.bsk.zhangbo.demoforbsk.widget.BirthdayPickerDialog; @@ -42,6 +43,7 @@ private List mSexList; private List mVisitorTypeList; private List mCredentialsList; + private List mNationList; private LinearLayout mBaseLayout; private int mNowYear; private int mNowMonth; @@ -125,47 +127,10 @@ @Override protected void initData() { - loadVisitorTypeList(); - - loadSexList(); - - loadCredentialsList(); - - } - - private void loadCredentialsList() { - mCredentialsList = new ArrayList<>(); - mCredentialsList.add("鍚嶇墖"); - mCredentialsList.add("韬唤璇�"); - - mViewIdClassContent.setText(""+mCredentialsList.get(0)); - } - - private void loadSexList() { - RequestParams params = new RequestParams(AppApi.BASEURL+AppApi.DICTIONARY_TYPE_LIST); - params.addParameter(Dictionary.FieldNames.type, CommonVariables.DictionaryType.SEX); - x.http().get(params, new BaseCommonCallBack() { - public void success() { - mSexList = getList(Dictionary.class); - mViewVisitorClassContent.setText(((Dictionary)mSexList.get(0)).getName()+""); - } - }); - - } - - private void loadVisitorTypeList() { - RequestParams params = new RequestParams(AppApi.BASEURL+AppApi.VISITOR_TYPE_LIST); - x.http().get(params, new BaseCommonCallBack() { - public void success() { - List<VistorTypeQueryItem> items = getList(VistorTypeQueryItem.class); - mVisitorTypeList = new ArrayList<String>(); - mViewVisitorClassContent.setText(items.get(0).getLabel()); - for (VistorTypeQueryItem item : items) { - mVisitorTypeList.add(item.getLabel()); - } - } - - }); + mVisitorTypeList = VisitorTypeService.mVisitorTypeList; + mSexList = DictionaryService.mSexList; + mCredentialsList = DictionaryService.mCredentialsList; + mNationList = DictionaryService.nationList; } @Override diff --git a/VisitFace/DemoForBsk/app/src/main/java/com/bsk/zhangbo/demoforbsk/util/RtspFaceNative.java b/VisitFace/DemoForBsk/app/src/main/java/com/bsk/zhangbo/demoforbsk/util/RtspFaceNative.java new file mode 100644 index 0000000..5215396 --- /dev/null +++ b/VisitFace/DemoForBsk/app/src/main/java/com/bsk/zhangbo/demoforbsk/util/RtspFaceNative.java @@ -0,0 +1,23 @@ +package com.bsk.zhangbo.demoforbsk.util; + +import android.content.res.AssetManager; +import android.view.Surface; + +/** + * Created by xiuxi on 2017/3/21. + */ + +public class RtspFaceNative { + + public static native void init(); + public static native void setSurface(int cameraIdx, Surface surface); + public static native boolean createPlayer(int cameraIdx, String uri); + public static native void shutdown(int cameraIdx); + // typedef void (* Java_com_example_nativecodec_NativeCodec_FaceCallback_func)(int cameraIdx, int count); + public static native boolean setFaceCallback(int cameraIdx, String func); + public static native void lockFace(int cameraIdx); + public static native void releaseFace(int cameraIdx); + public static native boolean getFaceList(int cameraIdx, byte[] faceListPb); + public static native boolean getFaceImages(int cameraIdx, byte[] faceImagesIdx, byte[] faceImages); + +} diff --git a/VisitFace/DemoForBsk/app/src/main/java/com/bsk/zhangbo/demoforbsk/widget/CountrySelectionPopup.java b/VisitFace/DemoForBsk/app/src/main/java/com/bsk/zhangbo/demoforbsk/widget/CountrySelectionPopup.java index 03c36ee..2eef314 100644 --- a/VisitFace/DemoForBsk/app/src/main/java/com/bsk/zhangbo/demoforbsk/widget/CountrySelectionPopup.java +++ b/VisitFace/DemoForBsk/app/src/main/java/com/bsk/zhangbo/demoforbsk/widget/CountrySelectionPopup.java @@ -19,15 +19,26 @@ import com.bsk.zhangbo.demoforbsk.R; import com.bsk.zhangbo.demoforbsk.adapter.MyWheelAdapter; +import com.bsk.zhangbo.demoforbsk.com.bsk.zhangbo.demoforbsk.service.DictionaryService; import com.bsk.zhangbo.demoforbsk.listeners.OkButtonClickedListener; +import com.bsk.zhangbo.demoforbsk.util.AppApi; import com.bsk.zhangbo.demoforbsk.util.CountryPresenter; import com.wx.wheelview.widget.WheelView; + +import net.sourceforge.pinyin4j.PinyinHelper; + +import org.xutils.http.RequestParams; +import org.xutils.x; import java.util.ArrayList; import java.util.Arrays; import java.util.HashMap; import java.util.List; + +import cn.com.basic.face.discern.common.BaseCommonCallBack; +import cn.com.basic.face.discern.common.CommonVariables; +import cn.com.basic.face.discern.entity.Dictionary; /** * Created by Sinoe on 2017/2/28. @@ -44,6 +55,7 @@ private CountryPresenter countryPresenter; public CountrySelectionPopup(Context context) { + this.mContext = context; countryPresenter = new CountryPresenter(context); view = LayoutInflater.from(context).inflate(R.layout.pop_country, null); @@ -56,9 +68,10 @@ mTvCancel.setOnClickListener(this); mTvConfirm.setOnClickListener(this); - String[] countryWordData = countryPresenter.getCountryWordData(); - countryWordList = Arrays.asList(countryWordData); - countryData = countryPresenter.getCountryData(); + String[] countryWordData = DictionaryService.countryWordData; + countryWordList = DictionaryService.countryWordList; + countryData = DictionaryService.countryData; + countryList = countryData.get(countryWordList.get(mWheelViewTitle.getSelection())); mWheelViewTitle.setWheelAdapter(new MyWheelAdapter(context)); @@ -125,9 +138,14 @@ if (view instanceof AppCompatTextView) { if (((AppCompatTextView) view).getText().equals("纭")) { for (OkButtonClickedListener okButtonClickedListener : okButtonClickedListeners) { - countryList = countryData.get(countryWordList.get(mWheelViewTitle.getCurrentPosition())); - okButtonClickedListener.onItemSelected(0, null, countryList.get(mWheelViewName.getCurrentPosition())); + if (mWheelViewTitle.getCurrentPosition() >= 0) { + countryList = countryData.get(countryWordList.get(mWheelViewTitle.getCurrentPosition())); + okButtonClickedListener.onItemSelected(0, null, countryList.get(mWheelViewName.getCurrentPosition())); + } } + dismiss(); + } + if (((AppCompatTextView) view).getText().equals("鍙栨秷")) { dismiss(); } } @@ -144,7 +162,6 @@ mWheelViewTitle.joinDatas(countryData); mWheelViewName.setWheelData(countryList); } - private List<OkButtonClickedListener> okButtonClickedListeners = new ArrayList<OkButtonClickedListener>(); diff --git a/VisitFace/DemoForBsk/app/src/main/java/com/bsk/zhangbo/demoforbsk/widget/SingleSelectionPopup.java b/VisitFace/DemoForBsk/app/src/main/java/com/bsk/zhangbo/demoforbsk/widget/SingleSelectionPopup.java index 4832db7..552d4a3 100644 --- a/VisitFace/DemoForBsk/app/src/main/java/com/bsk/zhangbo/demoforbsk/widget/SingleSelectionPopup.java +++ b/VisitFace/DemoForBsk/app/src/main/java/com/bsk/zhangbo/demoforbsk/widget/SingleSelectionPopup.java @@ -49,7 +49,9 @@ mTvConfirm.setOnClickListener(this); mWheelView.setWheelAdapter(new MyWheelAdapter(context)); mWheelView.setSkin(WheelView.Skin.Holo); - mWheelView.setWheelData(mList); + if (mList != null && mList.size() > 0) { + mWheelView.setWheelData(mList); + } mWheelView.setWheelSize(5); mWheelView.setBackgroundResource(R.color.colorBackground); WheelView.WheelViewStyle style = new WheelView.WheelViewStyle(); diff --git a/VisitFace/DemoForBsk/app/src/main/res/layout/fragment_one.xml b/VisitFace/DemoForBsk/app/src/main/res/layout/fragment_one.xml index 5f3a1f8..fe18849 100644 --- a/VisitFace/DemoForBsk/app/src/main/res/layout/fragment_one.xml +++ b/VisitFace/DemoForBsk/app/src/main/res/layout/fragment_one.xml @@ -16,10 +16,15 @@ android:layout_height="match_parent" android:layout_weight="1" > - <SurfaceView + <!--<SurfaceView android:id="@+id/surfaceview1" android:layout_width="match_parent" android:layout_height="match_parent"/> + --> + <SurfaceView + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:id="@+id/surfaceview1" /> <RelativeLayout android:layout_width="match_parent" android:layout_height="@dimen/view_size_50" -- Gitblit v1.8.0