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