From 5838c9545e775d9f0586e2b654ed538d9a85ee51 Mon Sep 17 00:00:00 2001
From: xuxiuxi <xuxiuxi@454eff88-639b-444f-9e54-f578c98de674>
Date: 星期二, 20 六月 2017 09:57:31 +0800
Subject: [PATCH]
---
VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/DeviceMng.java | 8
VisitFace/DemoForBsk/app/src/main/AndroidManifest.xml | 2
VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/util/UploadTest.java | 24 ++
VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/base/MainActivity.java | 4
VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/fragment/SurveillanceFragment.java | 49 +++
VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/RegisterMng.java | 17 -
VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/util/RtspFaceNative.java | 4
VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/SurveillanceMng.java | 170 +++++++++------
VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/fragment/RegisterFragment.java | 111 +++++----
VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/util/AppApi.java | 8
VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/discern/query/item/SurveillanceQueryItem.java | 11
VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/util/PostData.java | 104 +++++++++
VisitFace/DemoForBsk/app/src/main/res/layout/fragment_surveillance_bottom_register_cell.xml | 4
VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/adapter/SurveillanceFragment.java | 24 +
VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/util/CaffeMobile.java | 11 +
VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/util/Uploader.java | 68 ++++++
VisitFace/DemoForBsk/app/src/main/res/layout/activity_main.xml | 7
17 files changed, 459 insertions(+), 167 deletions(-)
diff --git a/VisitFace/DemoForBsk/app/src/main/AndroidManifest.xml b/VisitFace/DemoForBsk/app/src/main/AndroidManifest.xml
index ba14d18..cfa3196 100644
--- a/VisitFace/DemoForBsk/app/src/main/AndroidManifest.xml
+++ b/VisitFace/DemoForBsk/app/src/main/AndroidManifest.xml
@@ -17,6 +17,8 @@
<uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" />
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
+ <uses-permission android:name="android.permission.ACCESS_SUPERUSER" />
+
<application
android:name="cn.com.basic.face.base.BaseApplication"
android:allowBackup="true"
diff --git a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/adapter/SurveillanceFragment.java b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/adapter/SurveillanceFragment.java
index de6f27f..403af37 100644
--- a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/adapter/SurveillanceFragment.java
+++ b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/adapter/SurveillanceFragment.java
@@ -40,14 +40,18 @@
@Override
public void onBindRecycleViewHolder(EasyRecyclerViewHolder viewHolder, int position) {
- switch (((SurveillanceQueryItem)getList().get(position)).getRegisterOrCheckIn()){
- case Constant.Surveillance.VISIT_REGISTER_ITEM_TYPE:
- RegisterCellViewFillData(viewHolder,position);
- break;
- case Constant.Surveillance.VISIT_CHECK_IN_ITEM_TYPE:
- checkInCellViewFillData(viewHolder,position);
- break;
+ Object obj = getList().get(position);
+ if (obj instanceof SurveillanceQueryItem) {
+ switch (((SurveillanceQueryItem)getList().get(position)).getRegisterOrCheckIn()){
+ case Constant.Surveillance.VISIT_REGISTER_ITEM_TYPE:
+ RegisterCellViewFillData(viewHolder,position);
+ break;
+ case Constant.Surveillance.VISIT_CHECK_IN_ITEM_TYPE:
+ checkInCellViewFillData(viewHolder,position);
+ break;
+ }
}
+
}
@Override
@@ -86,8 +90,10 @@
fragment_home_bottom_register_cell_photo.setImageURI(Uri.parse(AppApi.IMAGE_URL_BASE +item.getImagePath()));
} else {
if (item.getBitmap() != null) {
- fragment_home_bottom_register_cell_photo.setImageBitmap(BitmapUtil.getRoundedCornerBitmap(item.getBitmap(),
- (int)MainActivity.getInstance().getResources().getDimension(R.dimen.w10dp)));
+ //fragment_home_bottom_register_cell_photo.setImageResource(R.drawable.u45);
+ fragment_home_bottom_register_cell_photo.setImageBitmap(item.getBitmap());
+// fragment_home_bottom_register_cell_photo.setImageBitmap(BitmapUtil.getRoundedCornerBitmap(item.getBitmap(),
+// (int)MainActivity.getInstance().getResources().getDimension(R.dimen.w10dp)));
} else {
fragment_home_bottom_register_cell_photo.setImageResource(R.drawable.u45);
}
diff --git a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/base/MainActivity.java b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/base/MainActivity.java
index bb6340e..5e7e7c8 100644
--- a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/base/MainActivity.java
+++ b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/base/MainActivity.java
@@ -13,6 +13,7 @@
import android.view.Window;
import android.view.WindowManager;
import android.widget.ImageView;
+import android.widget.LinearLayout;
import android.widget.TextView;
import android.widget.Toast;
@@ -72,7 +73,8 @@
mTabLayout.setTabMode(TabLayout.MODE_FIXED);
for (int i = 0; i < mTabLayout.getTabCount(); i++) {
TabLayout.Tab tab = mTabLayout.getTabAt(i);
- tab.setCustomView(myFragmentPagerAdapter.getTabView(i));
+ LinearLayout view = (LinearLayout)myFragmentPagerAdapter.getTabView(i);
+ tab.setCustomView(view);
if (i == 0) {
tab.getCustomView().setSelected(true);
}
diff --git a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/discern/query/item/SurveillanceQueryItem.java b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/discern/query/item/SurveillanceQueryItem.java
index af6edbf..6c8d4be 100644
--- a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/discern/query/item/SurveillanceQueryItem.java
+++ b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/discern/query/item/SurveillanceQueryItem.java
@@ -201,11 +201,12 @@
}
public String getBase64Image() {
- ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
- bitmap.compress(Bitmap.CompressFormat.JPEG, 100, byteArrayOutputStream);
- byte[] imageBytes = byteArrayOutputStream.toByteArray();
- String encodedImage = Base64.encodeToString(imageBytes, Base64.DEFAULT);
- return encodedImage;
+// ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
+// bitmap.compress(Bitmap.CompressFormat.JPEG, 100, byteArrayOutputStream);
+// byte[] imageBytes = byteArrayOutputStream.toByteArray();
+// String encodedImage = Base64.encodeToString(imageBytes, Base64.DEFAULT);
+// return encodedImage;
+ return "";
}
public void setBase64Image(String base64Image) {
diff --git a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/fragment/RegisterFragment.java b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/fragment/RegisterFragment.java
index 6caf525..946fbab 100644
--- a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/fragment/RegisterFragment.java
+++ b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/fragment/RegisterFragment.java
@@ -6,6 +6,7 @@
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.net.Uri;
+import android.os.AsyncTask;
import android.os.Environment;
import android.provider.MediaStore;
import android.util.Base64;
@@ -18,6 +19,8 @@
import android.widget.TextView;
import android.widget.Toast;
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONArray;
import com.bsk.zhangbo.demoforbsk.R;
import cn.com.basic.face.adapter.SurveillanceFragment;
@@ -26,6 +29,7 @@
import cn.com.basic.face.base.PictureTaker;
import cn.com.basic.face.dialog.SurveillancePhotoDialog;
import cn.com.basic.face.discern.common.CommonVariables;
+import cn.com.basic.face.discern.common.ResultBean;
import cn.com.basic.face.discern.entity.Register;
import cn.com.basic.face.discern.query.item.CheckInQueryItem;
import cn.com.basic.face.discern.query.item.SurveillanceQueryItem;
@@ -40,6 +44,8 @@
import cn.com.basic.face.util.AppApi;
import cn.com.basic.face.dialog.DateSelectDialog;
import cn.com.basic.face.dialog.CountryDialog;
+import cn.com.basic.face.util.PostData;
+import cn.com.basic.face.util.Uploader;
import cn.com.basic.face.widget.register.RegisterRightFieldLabelView;
import cn.com.basic.face.widget.register.RegisterRightFieldTextView;
import cn.com.basic.face.dialog.SelectDialog;
@@ -134,16 +140,12 @@
@OnClick(R.id.fragment_register_save)
public void fragment_register_save_click(View v) {
+
+ if (!BaseApplication.deviceAvailable) {
+ return;
+ }
+
RequestParams params = new RequestParams();
- DisplayMetrics metrics = getActivity().getResources().getDisplayMetrics();
-
- int h1 = fragment_register_surveillance_photo.getHeight();
- int h2 = fragment_register_upload_custom_photo.getHeight();
- int h3 = fragment_register_id_card_photo.getHeight();
-
- DisplayMetrics displayMetrics = BaseApplication.getInstance().getResources().getDisplayMetrics();
- float dpHeight = displayMetrics.heightPixels / displayMetrics.density;
- float dpWidth = displayMetrics.widthPixels / displayMetrics.density;
String name = fragment_register_name.getValue();
if (name.trim().length() <= 0) {
@@ -205,15 +207,18 @@
fragment_register_visitor_class.callOnClick();
return;
}
- params.addBodyParameter(Register.FieldNames.username, name);
- params.addBodyParameter(Register.FieldNames.mobilePhone, phone);
- params.addBodyParameter(Register.FieldNames.genderId, DictionaryMng.getInstance().getId(gender));
- params.addBodyParameter(Register.FieldNames.identityTypeId, DictionaryMng.getInstance().getId(id_class));
- params.addBodyParameter(Register.FieldNames.countryId, DictionaryMng.getInstance().getId(country));
- params.addBodyParameter(Register.FieldNames.visitorTypeId, DictionaryMng.getInstance().getId(visitor_class));
- params.addBodyParameter(Register.FieldNames.identifyNum, id_num);
- params.addBodyParameter(Register.FieldNames.companyId, company);
- params.addBodyParameter(Register.FieldNames.birthday, birthday);
+ final PostData pd = new PostData();
+
+ pd.addValue(Register.FieldNames.username, name);
+ pd.addValue(Register.FieldNames.mobilePhone, phone);
+ pd.addValue(Register.FieldNames.genderId, DictionaryMng.getInstance().getId(gender));
+ pd.addValue(Register.FieldNames.identityTypeId, DictionaryMng.getInstance().getId(id_class));
+ pd.addValue(Register.FieldNames.countryId, DictionaryMng.getInstance().getId(country));
+ pd.addValue(Register.FieldNames.visitorTypeId, DictionaryMng.getInstance().getId(visitor_class));
+ pd.addValue(Register.FieldNames.identifyNum, id_num);
+ pd.addValue(Register.FieldNames.companyId, company);
+ pd.addValue(Register.FieldNames.birthday, birthday);
+
if (surveillanceQueryItem_selectPhoto != null) {
params.addBodyParameter("width", surveillanceQueryItem_selectPhoto.getWidth());
@@ -221,47 +226,63 @@
fragment_register_surveillance_photo_img = surveillanceQueryItem_selectPhoto.getBitmap();
NativeImg nativeImg = surveillanceQueryItem_selectPhoto.getNativeImg();
- String str = Base64.encodeToString(nativeImg.image, 0, nativeImg.size, Base64.DEFAULT);
-
- params.addBodyParameter("base64Image", str);
- }
-
- if (surveillanceQueryItem_uploadPhoto != null) {
-// params.addBodyParameter("width", surveillanceQueryItem_uploadPhoto.getWidth());
-// params.addBodyParameter("height", surveillanceQueryItem_uploadPhoto.getHeight());
-// fragment_register_surveillance_photo_img = surveillanceQueryItem_uploadPhoto.getBitmap();
-//
-// NativeImg nativeImg = surveillanceQueryItem_uploadPhoto.getNativeImg();
-// String str = Base64.encodeToString(nativeImg.image, 0, nativeImg.size, Base64.DEFAULT);
-//
-// params.addBodyParameter("base64Image", str);
+ byte[] imageBytes = new byte[nativeImg.size];
+ for (int i = 0; i < nativeImg.size; i++) {
+ imageBytes[i] = nativeImg.image[i];
+ }
+ pd.addData("rawSurveillancePhoto", "application/octet-stream", imageBytes);
}
if (fragment_register_surveillance_photo_img != null) {
ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
fragment_register_surveillance_photo_img.compress(Bitmap.CompressFormat.JPEG, 100, byteArrayOutputStream);
byte[] imageBytes = byteArrayOutputStream.toByteArray();
- String encodedImage = Base64.encodeToString(imageBytes, Base64.DEFAULT);
- params.addBodyParameter(Register.FieldNames.surveillancePhoto, encodedImage);
+ pd.addData(Register.FieldNames.surveillancePhoto, "application/octet-stream", imageBytes);
}
if (fragment_register_upload_custom_photo_img != null) {
ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
fragment_register_upload_custom_photo_img.compress(Bitmap.CompressFormat.JPEG, 100, byteArrayOutputStream);
byte[] imageBytes = byteArrayOutputStream.toByteArray();
- String encodedImage = Base64.encodeToString(imageBytes, Base64.DEFAULT);
- params.addBodyParameter(Register.FieldNames.uploadCustomPhoto, encodedImage);
+ pd.addData(Register.FieldNames.uploadCustomPhoto, "application/octet-stream", imageBytes);
}
if (fragment_register_id_card_photo_img != null) {
ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
fragment_register_id_card_photo_img.compress(Bitmap.CompressFormat.JPEG, 100, byteArrayOutputStream);
byte[] imageBytes = byteArrayOutputStream.toByteArray();
- String encodedImage = Base64.encodeToString(imageBytes, Base64.DEFAULT);
- params.addBodyParameter(Register.FieldNames.idCardPhoto, encodedImage);
+ pd.addData(Register.FieldNames.idCardPhoto, "application/octet-stream", imageBytes);
}
- RegisterMng.getInstance().add(params);
+
+ class ConnectionTask extends AsyncTask<String, Void, String> {
+ private String json = "";
+ @Override
+ protected String doInBackground(String... urls) {
+ try {
+ Uploader uploader = new Uploader("", AppApi.BASE_URL + AppApi.REGISTER_ADD);
+ json = uploader.upload("", pd);
+ return json;
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ return null;
+ }
+
+ @Override
+ protected void onPostExecute(String result) {
+ try {
+ Toast.makeText(BaseApplication.getInstance(),"娣诲姞鎴愬姛", Toast.LENGTH_SHORT).show();
+ RegisterFragment.getInstance().resetForm();
+ } catch(Exception e) {
+ e.printStackTrace();
+ }
+ }
+
+ }
+ ConnectionTask task = new ConnectionTask();
+ String[] params1 = new String[2];
+ task.execute(params1);
}
public void set_fragment_register_surveillance_photo(SurveillanceQueryItem item) {
@@ -305,23 +326,16 @@
try {
Bitmap bitmap = MediaStore.Images.Media.getBitmap(getActivity().getContentResolver(), uri);
fragment_register_upload_custom_photo.setImageBitmap(bitmap);
- //fragment_register_upload_custom_photo_img = bitmap;
fragment_register_upload_custom_photo_placeholder_image.setVisibility(View.INVISIBLE);
fragment_register_upload_custom_photo_placeholder_text_view.setVisibility(View.INVISIBLE);
List<SurveillanceQueryItem> bitmapList = new ArrayList<>();
SurveillanceQueryItem item = new SurveillanceQueryItem();
-// item.setBitmap(bitmap);
item.setWidth(bitmap.getWidth()+"");
item.setHeight(bitmap.getHeight()+"");
item.setLocalUri(uri);
-// ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
-// bitmap.compress(Bitmap.CompressFormat.JPEG, 100, byteArrayOutputStream);
-// byte[] imageBytes = byteArrayOutputStream.toByteArray();
-// String encodedImage = Base64.encodeToString(imageBytes, Base64.DEFAULT);
-// item.setBase64Image(encodedImage);
setSurveillanceQueryItem_selectPhoto(item);
bitmapList.add(item);
bitmapList.add(item);
@@ -505,11 +519,6 @@
@OnClick(R.id.fragment_register_id_card_photo)
public void fragment_register_id_card_photo_click(View view) {
-// Intent takePicture = new Intent(MainActivity.getInstance(), PictureTaker.class);
-// startActivityForResult(takePicture, fragment_register_id_card_photo_);
-// Intent takePicture = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
-// startActivityForResult(takePicture, fragment_register_id_card_photo_);
-
Intent intent = new Intent();
intent.setAction(MediaStore.ACTION_IMAGE_CAPTURE);
idCardImageCaptureFile = new File(Environment.getExternalStorageDirectory(), System.currentTimeMillis()+".jpg");
diff --git a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/fragment/SurveillanceFragment.java b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/fragment/SurveillanceFragment.java
index e103581..700c907 100644
--- a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/fragment/SurveillanceFragment.java
+++ b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/fragment/SurveillanceFragment.java
@@ -4,8 +4,10 @@
import android.net.wifi.WifiManager;
import android.os.Build;
import android.os.Bundle;
+import android.os.Environment;
import android.os.SystemClock;
import android.text.format.Formatter;
+import android.util.Log;
import android.view.SurfaceHolder;
import android.view.SurfaceView;
import android.view.View;
@@ -32,12 +34,13 @@
import com.lidroid.xutils.view.annotation.event.OnClick;
import java.io.BufferedReader;
+import java.io.DataOutputStream;
import java.io.File;
-import java.io.FileInputStream;
import java.io.FileReader;
-import java.io.InputStream;
-import java.io.InputStreamReader;
-import java.text.SimpleDateFormat;
+import java.net.InetAddress;
+import java.net.NetworkInterface;
+import java.net.SocketException;
+import java.util.*;
public class SurveillanceFragment extends BaseFragment {
@@ -90,13 +93,41 @@
System.loadLibrary("protoc");
System.loadLibrary("rtspface");
RtspFaceNative.init();
-// RtspFaceNative.setLocalIP("192.168.1.10");
-// RtspFaceNative.setLocalIP("192.168.1.106");//鑷繁鎵嬫満ip
-// RtspFaceNative.setLocalIP("192.168.1.203");
-// RtspFaceNative.setLocalIP("192.168.1.205");
WifiManager wm = (WifiManager) MainActivity.getInstance().getSystemService(Context.WIFI_SERVICE);
String ip = Formatter.formatIpAddress(wm.getConnectionInfo().getIpAddress());
- RtspFaceNative.setLocalIP(ip);
+ String ipAddress = null;
+ try {
+ for (Enumeration<NetworkInterface> en = NetworkInterface.getNetworkInterfaces(); en.hasMoreElements();) {
+ NetworkInterface intf = en.nextElement();
+ for (Enumeration<InetAddress> enumIpAddr = intf.getInetAddresses(); enumIpAddr.hasMoreElements();) {
+ InetAddress inetAddress = enumIpAddr.nextElement();
+ if (!inetAddress.isLoopbackAddress()) {
+ ipAddress = inetAddress.getHostAddress().toString();
+ }
+ }
+ }
+ } catch (SocketException ex) {}
+
+ try{
+
+ Process su = Runtime.getRuntime().exec("su");
+ DataOutputStream outputStream = new DataOutputStream(su.getOutputStream());
+
+ //outputStream.writeBytes("busybox ifconfig wlan0 down\n");
+ //outputStream.flush();
+ //Thread.sleep(5000);
+ outputStream.writeBytes("busybox ifconfig wlan0 hw ether f4:8b:32:62:4f:89\n");
+ outputStream.flush();
+
+ outputStream.writeBytes("exit\n");
+ outputStream.flush();
+ su.waitFor();
+ }catch(Exception e){
+ e.printStackTrace();
+ }
+
+// outputStream.writeBytes("busybox ifconfig wlan0 hw ether 00:e0:2c:31:1a:ba\n");
+ RtspFaceNative.setLocalIP("192.168.1.53");
}
}
diff --git a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/DeviceMng.java b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/DeviceMng.java
index 83d99d9..196344b 100644
--- a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/DeviceMng.java
+++ b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/DeviceMng.java
@@ -62,6 +62,7 @@
// return;
// }
RequestParams params = new RequestParams(AppApi.BASE_URL + AppApi.Query.DEVICE_QUERY);
+
params.addBodyParameter(Device.FieldNames.sn, authorationId);
params.addBodyParameter(Device.FieldNames.type, CommonVariables.DeviceType.ANDROID_DEVICE);
x.http().post(params, new BaseCommonCallBack() {
@@ -188,7 +189,9 @@
// port = camera1.getString("fragment_device_right_camera1_port", "");
// }
- return "rtsp://"+username+":"+password+"@"+ip+":"+port+"/h264/ch1/sub/av_stream";
+// return "rtsp://"+username+":"+password+"@"+ip+":"+port+"/h264/ch1/sub/av_stream";
+ return "rtsp://admin:a1234567@192.168.1.68:554/h264/ch1/sub/av_stream";
+
}
public String getCamera2Address() {
@@ -211,7 +214,8 @@
// port = camera1.getString("fragment_device_right_camera1_port", "");
// }
- return "rtsp://"+username+":"+password+"@"+ip+":"+port+"/h264/ch1/sub/av_stream";
+ //return "rtsp://"+username+":"+password+"@"+ip+":"+port+"/h264/ch1/sub/av_stream";
+ return "rtsp://Admin:1234@192.168.1.22/h264_2";
}
}
diff --git a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/RegisterMng.java b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/RegisterMng.java
index b9ef5fa..01d7f4b 100644
--- a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/RegisterMng.java
+++ b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/RegisterMng.java
@@ -23,23 +23,6 @@
}
public void add(RequestParams params) {
- if (!BaseApplication.deviceAvailable) {
- return;
- }
- try {
- params.setUri(AppApi.BASE_URL +AppApi.REGISTER_ADD);
- x.http().post(params, new BaseCommonCallBack() {
- @Override
- public void success() {
- Toast.makeText(BaseApplication.getInstance(),"娣诲姞鎴愬姛", Toast.LENGTH_SHORT).show();
- RegisterFragment.getInstance().resetForm();
- }
- });
-
- }catch(Exception e) {
- e.printStackTrace();
-
- }
}
diff --git a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/SurveillanceMng.java b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/SurveillanceMng.java
index dfed82e..d4af223 100644
--- a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/SurveillanceMng.java
+++ b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/SurveillanceMng.java
@@ -1,10 +1,15 @@
package cn.com.basic.face.service;
+import android.os.AsyncTask;
import android.util.Base64;
+
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONArray;
import org.xutils.http.RequestParams;
import org.xutils.x;
+import java.io.IOException;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashSet;
@@ -15,10 +20,13 @@
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.query.item.SurveillanceQueryItem;
import cn.com.basic.face.fragment.SurveillanceFragment;
import cn.com.basic.face.util.AppApi;
import cn.com.basic.face.util.Constant;
+import cn.com.basic.face.util.PostData;
+import cn.com.basic.face.util.Uploader;
public class SurveillanceMng {
@@ -58,8 +66,8 @@
if (item.getRegisterOrCheckIn() == CommonVariables.Surveillance.VISIT_REGISTER_ITEM_TYPE) {
Date now = new Date();
Date createTime = item.getCreateTime();
- long secs = (now.getTime() - createTime.getTime()) / 1000 ;
- if (secs*1.0 / 60*5 >= 1) {
+ double minutes = (now.getTime() - createTime.getTime())*1.0 / 1000 / 60;
+ if (minutes >= 5) {
continue;
}
newPrevList.add(item);
@@ -68,75 +76,105 @@
return newPrevList;
}
- public void addBitmap(final List<SurveillanceQueryItem> bitmapList, byte[] byteArray, int len, String cameraInOrOut) {
+ public void addBitmap(final List<SurveillanceQueryItem> bitmapList, final byte[] byteArray, int len, final String cameraInOrOut) {
if (!BaseApplication.deviceAvailable) {
return;
}
- RequestParams params = new RequestParams(AppApi.BASE_URL +AppApi.SURVEILLANCE_UPLOAD);
- params.addBodyParameter("base64Photo", Base64.encodeToString(byteArray, 0, len, Base64.DEFAULT));
- params.addBodyParameter("deviceCompanyId", BaseApplication.getInstance().getAndroidDevice().getCompanyId());
- params.addBodyParameter("deviceId", BaseApplication.getInstance().getAndroidDevice().getDeviceId());
- params.addBodyParameter("InOrOutCamera", cameraInOrOut+"");
- x.http().post(params, new BaseCommonCallBack() {
- public void success() {
- List<SurveillanceQueryItem> items = getList(SurveillanceQueryItem.class);
- List prevVisitorList = SurveillanceFragment.getInstance().get_fragment_supervisory_bottom_visitor_list_view().getPrevList();
- List prevAttendanceList = SurveillanceFragment.getInstance().get_fragment_supervisory_bottom_attendance_list_view().getPrevList();
-
- List newVisitorList = new ArrayList();
-
- List newAttendanceList = new ArrayList();
-
- for (int i = 0; items != null && i < items.size(); i++) {
- SurveillanceQueryItem item = items.get(i);
- int type = item.getRegisterOrCheckIn();
- if (type == CommonVariables.Surveillance.VISIT_REGISTER_ITEM_TYPE
- || type == CommonVariables.Surveillance.VISIT_CHECK_IN_ITEM_TYPE
- ) {
- //item.setRegisterOrCheckIn(CommonVariables.Surveillance.VISIT_CHECK_IN_ITEM_TYPE);
- if (prevVisitorList.size() > 3 ) {
-
- }
- item.setCreateTime(new Date());
- newVisitorList.add(0, item);
- if (i < bitmapList.size()) {
- SurveillanceQueryItem surveillanceQueryItem = bitmapList.get(i);
- item.setBitmap(surveillanceQueryItem.getBitmap());
- item.setBase64Image(surveillanceQueryItem.getBase64Image());
- item.setNativeImg(surveillanceQueryItem.getNativeImg());
- item.setWidth(surveillanceQueryItem.getWidth());
- item.setHeight(surveillanceQueryItem.getHeight());
- }
- }
- if (type == CommonVariables.Surveillance.VISIT_ATTENDANCE_ITEM_TYPE) {
- newAttendanceList.add(item);
- if (i < bitmapList.size()) {
- SurveillanceQueryItem surveillanceQueryItem = bitmapList.get(i);
- item.setBitmap(surveillanceQueryItem.getBitmap());
- item.setBase64Image(surveillanceQueryItem.getBase64Image());
- item.setNativeImg(surveillanceQueryItem.getNativeImg());
- item.setWidth(surveillanceQueryItem.getWidth());
- item.setHeight(surveillanceQueryItem.getHeight());
- }
- }
+ class ConnectionTask extends AsyncTask<String, Void, String> {
+ private String json = "";
+ @Override
+ protected String doInBackground(String... urls) {
+ try {
+ PostData pd = new PostData();
+ pd.addValue("deviceCompanyId", BaseApplication.getInstance().getAndroidDevice().getCompanyId());
+ pd.addValue("InOrOutCamera", cameraInOrOut + "");
+ pd.addValue("deviceId", BaseApplication.getInstance().getAndroidDevice().getDeviceId());
+ pd.addData("surveillancePhoto", "application/octet-stream", byteArray);
+ Uploader uploader = new Uploader("", AppApi.BASE_URL + AppApi.SURVEILLANCE_UPLOAD);
+ json = uploader.upload("face/Surveillance/o_upload.do", pd);
+ return json;
+ } catch (Exception e) {
+ e.printStackTrace();
}
-
- if (newVisitorList.size() > 0) {
- prevVisitorList.addAll(0, newVisitorList);
- registerTopAndCheckInBottom(prevVisitorList);
- SurveillanceFragment.getInstance().get_fragment_supervisory_bottom_visitor_list_view().show(prevVisitorList);
- }
-
- if (newAttendanceList.size() > 0) {
- prevAttendanceList.addAll(0, newAttendanceList);
- if (prevAttendanceList.size() > 20) {
- prevAttendanceList = prevAttendanceList.subList(0, 20);
- }
- SurveillanceFragment.getInstance().get_fragment_supervisory_bottom_attendance_list_view().show(prevAttendanceList);
- }
-
+ return null;
}
- });
+
+ @Override
+ protected void onPostExecute(String result) {
+ try {
+
+ System.out.println("json="+result);
+ ResultBean resultBean = JSON.parseObject(result, ResultBean.class);
+ if (resultBean == null) {
+ System.out.println("resultBean="+resultBean);
+ return;
+ }
+ Object data = resultBean.getData();
+ if (data instanceof JSONArray) {
+ JSONArray jsonArray = (JSONArray) data;
+ List<SurveillanceQueryItem> items = JSON.parseArray(jsonArray.toJSONString(), SurveillanceQueryItem.class);
+
+ List prevVisitorList = SurveillanceFragment.getInstance().get_fragment_supervisory_bottom_visitor_list_view().getPrevList();
+ List prevAttendanceList = SurveillanceFragment.getInstance().get_fragment_supervisory_bottom_attendance_list_view().getPrevList();
+
+ List newVisitorList = new ArrayList();
+
+ List newAttendanceList = new ArrayList();
+
+ for (int i = 0; items != null && i < items.size(); i++) {
+ SurveillanceQueryItem item = items.get(i);
+ int type = item.getRegisterOrCheckIn();
+ if (type == CommonVariables.Surveillance.VISIT_REGISTER_ITEM_TYPE
+ || type == CommonVariables.Surveillance.VISIT_CHECK_IN_ITEM_TYPE
+ ) {
+ item.setCreateTime(new Date());
+ newVisitorList.add(0, item);
+ if (i < bitmapList.size()) {
+ SurveillanceQueryItem surveillanceQueryItem = bitmapList.get(i);
+ item.setBitmap(surveillanceQueryItem.getBitmap());
+ item.setBase64Image(surveillanceQueryItem.getBase64Image());
+ item.setNativeImg(surveillanceQueryItem.getNativeImg());
+ item.setWidth(surveillanceQueryItem.getWidth());
+ item.setHeight(surveillanceQueryItem.getHeight());
+ }
+ }
+ if (type == CommonVariables.Surveillance.VISIT_ATTENDANCE_ITEM_TYPE) {
+ newAttendanceList.add(item);
+ if (i < bitmapList.size()) {
+ SurveillanceQueryItem surveillanceQueryItem = bitmapList.get(i);
+ item.setBitmap(surveillanceQueryItem.getBitmap());
+ item.setBase64Image(surveillanceQueryItem.getBase64Image());
+ item.setNativeImg(surveillanceQueryItem.getNativeImg());
+ item.setWidth(surveillanceQueryItem.getWidth());
+ item.setHeight(surveillanceQueryItem.getHeight());
+ }
+ }
+ System.out.println("inOutCamera="+item.getInOrOutCamera());
+ }
+
+ if (newVisitorList.size() > 0) {
+ prevVisitorList.addAll(0, newVisitorList);
+ registerTopAndCheckInBottom(prevVisitorList);
+ SurveillanceFragment.getInstance().get_fragment_supervisory_bottom_visitor_list_view().show(prevVisitorList);
+ }
+
+ if (newAttendanceList.size() > 0) {
+ prevAttendanceList.addAll(0, newAttendanceList);
+ if (prevAttendanceList.size() > 20) {
+ prevAttendanceList = prevAttendanceList.subList(0, 20);
+ }
+ SurveillanceFragment.getInstance().get_fragment_supervisory_bottom_attendance_list_view().show(prevAttendanceList);
+ }
+ }
+ } catch(Exception e) {
+ e.printStackTrace();
+ }
+ }
+
+ }
+ ConnectionTask task = new ConnectionTask();
+ String[] params = new String[2];
+ task.execute(params);
}
public List getSurveillancePhotoList(long selectedId) {
diff --git a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/util/AppApi.java b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/util/AppApi.java
index e667cae..00b0e18 100644
--- a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/util/AppApi.java
+++ b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/util/AppApi.java
@@ -3,8 +3,12 @@
public class AppApi {
// public final static String IMAGE_URL_BASE = "http://192.168.1.141/AI/img/";
// public final static String BASE_URL = "http://192.168.1.141/AI/";
- public final static String IMAGE_URL_BASE = "http://192.168.1.137/face/img/";
- public final static String BASE_URL = "http://192.168.1.137/face/";
+ //public final static String IMAGE_URL_BASE = "http://192.168.1.137:8333/face/img/";
+ //public final static String BASE_URL = "http://192.168.1.137:8333/face/";
+
+ public final static String IMAGE_URL_BASE = "http://192.168.1.137:8888/";
+ public final static String BASE_URL = "http://192.168.1.51/face/";
+// public final static String BASE_URL = "http://192.168.1.137:8333/face/";
public static final String REGISTER_ADD = "Register/o_add.do";
diff --git a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/util/CaffeMobile.java b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/util/CaffeMobile.java
new file mode 100644
index 0000000..125586d
--- /dev/null
+++ b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/util/CaffeMobile.java
@@ -0,0 +1,11 @@
+package cn.com.basic.face.util;
+
+/**
+ * Created by xiuxi on 2017/6/15.
+ */
+
+public class CaffeMobile {
+
+ public static native double hello(String model_file, String trained_file);
+
+}
diff --git a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/util/PostData.java b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/util/PostData.java
new file mode 100644
index 0000000..c7708fc
--- /dev/null
+++ b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/util/PostData.java
@@ -0,0 +1,104 @@
+package cn.com.basic.face.util;
+
+import java.io.IOException;
+import java.io.OutputStream;
+import java.io.UnsupportedEncodingException;
+import java.net.URLEncoder;
+import java.util.ArrayList;
+import java.util.List;
+
+public class PostData {
+
+ class ByteData {
+ byte[] data;
+ String header;
+ String name;
+
+ ByteData(String name, String contentType, byte[] data) {
+ this.name = name;
+ this.data = data;
+ try {
+ header = "--" + BOUNDARY + CRLF + "Content-Disposition: form-data; name=\"surveillancePhoto\"; filename=\"" + URLEncoder.encode(name, encoding) + "\";" + CRLF +
+ "Content-Type: " + contentType + CRLF + CRLF;
+ } catch(UnsupportedEncodingException e) {
+ e.printStackTrace();
+ }
+ }
+
+ public int getSize() {
+ return header.length() + data.length + CRLF.length();
+ }
+
+
+ public void write(OutputStream out) throws IOException {
+ out.write(header.getBytes());
+ out.write(data);
+ out.write(CRLF.getBytes());
+ }
+ }
+
+ private static final String TAG = PostData.class.getSimpleName();
+ static final String BOUNDARY = "3C3F786D6C2076657273696F6E2E302220656E636F64696E673D662D38223F3E0A3C6D616E6966";
+ static final String CRLF = "\r\n";
+ private final String encoding;
+ private StringBuilder sb;
+ private String trailer;
+ private List<ByteData> dataList = new ArrayList<ByteData>();
+
+
+ public PostData() {
+ this("UTF-8");
+ }
+
+ public PostData(String encoding) {
+ this.encoding = encoding;
+ sb = new StringBuilder();
+ trailer = "--" + BOUNDARY + "--" + CRLF;
+ }
+
+ public String getContentType() {
+ return "multipart/form-data; boundary=" + BOUNDARY;
+ }
+
+ public void addValue(String name, int value) {
+ addValue(name, Integer.toString(value));
+ }
+
+ public void addValue(String name, String value) {
+ sb.append("--" + BOUNDARY + CRLF);
+ sb.append("Content-Disposition: form-data; name=\"");
+ try {
+ sb.append(URLEncoder.encode(name, encoding));
+ sb.append('"');
+ sb.append(CRLF + CRLF);
+ sb.append(value);
+ sb.append(CRLF);
+ } catch(UnsupportedEncodingException e) {
+ e.printStackTrace();
+ }
+ }
+
+ public void addData(String name, String contentType, byte[] data) {
+ dataList.add(new ByteData(name, contentType, data));
+ }
+
+
+ public long getLength() {
+ long length = sb.toString().getBytes().length;
+ length += trailer.length();
+ for(ByteData byteData : dataList)
+ length += byteData.getSize();
+ return length;
+ }
+
+ public String toString() {
+ return sb.toString();
+ }
+
+ public void write(OutputStream out) throws IOException {
+ out.write(sb.toString().getBytes());
+ for(ByteData byteData : dataList)
+ byteData.write(out);
+ out.write(trailer.getBytes());
+ }
+}
\ No newline at end of file
diff --git a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/util/RtspFaceNative.java b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/util/RtspFaceNative.java
index 8604f22..6326e94 100644
--- a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/util/RtspFaceNative.java
+++ b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/util/RtspFaceNative.java
@@ -56,6 +56,7 @@
public static void faceCallBack(int cameraIdx, int count)
{
+ System.out.println("cameraIdex="+cameraIdx+", count="+count);
Log.i("@@@", "RtspFaceNative.faceCallBack, cameraIdx=" + cameraIdx + ", count=" + count);
// something else
@@ -117,8 +118,9 @@
SurveillanceQueryItem surveillanceQueryItem = new SurveillanceQueryItem();
int offset = 0;
int size = item.size;
- Bitmap bitmap = Bitmap.createBitmap(item.width,item.height, Bitmap.Config.ARGB_8888);
+ Bitmap bitmap = Bitmap.createBitmap(item.width,item.height, Bitmap.Config.RGB_565);
ByteBuffer byteBuffer = ByteBuffer.wrap(item.image, offset, size);
+ //byteBuffer.rewind();
bitmap.copyPixelsFromBuffer(byteBuffer);
// String str = Base64.encodeToString(item.image, offset, size, Base64.DEFAULT);
// System.out.println(str.length());
diff --git a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/util/UploadTest.java b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/util/UploadTest.java
new file mode 100644
index 0000000..9961e19
--- /dev/null
+++ b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/util/UploadTest.java
@@ -0,0 +1,24 @@
+package cn.com.basic.face.util;
+
+
+import java.io.FileOutputStream;
+import java.io.IOException;
+
+public class UploadTest {
+
+ private static byte[] data = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 9, 8, 7, 6, 5 , 4, 3, 2, 1};
+
+ static public void main(String args[]) {
+
+ PostData pd = new PostData();
+ pd.addValue("base64Photo", "joe");
+ pd.addValue("name", "Joe Smith");
+ pd.addData("surveillancePhoto", "application/octet-stream", data);
+ Uploader uploader = new Uploader("http", "localhost");
+ try {
+ uploader.upload("face/Surveillance/o_upload.do", pd);
+ } catch(IOException e) {
+ e.printStackTrace();
+ }
+ }
+}
\ No newline at end of file
diff --git a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/util/Uploader.java b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/util/Uploader.java
new file mode 100644
index 0000000..b8fe1cc
--- /dev/null
+++ b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/util/Uploader.java
@@ -0,0 +1,68 @@
+package cn.com.basic.face.util;
+
+
+import java.io.BufferedInputStream;
+import java.io.BufferedOutputStream;
+import java.io.BufferedReader;
+import java.io.IOException;
+import java.io.InputStreamReader;
+import java.io.OutputStream;
+import java.net.HttpURLConnection;
+import java.net.MalformedURLException;
+import java.net.URL;
+
+public class Uploader {
+
+ private static final int CONNECTION_TIMEOUT = 10 * 1000;
+ private static final int READ_TIMEOUT = 10 * 1000;
+ final private String protocol;
+ final private String server;
+
+ public Uploader(String protocol, String server) {
+ this.protocol = protocol;
+ this.server = server;
+ }
+
+ protected HttpURLConnection getBaseConnection(String endpoint) throws IOException {
+ HttpURLConnection connection;
+ URL url;
+
+ try {
+ url = new URL(server);
+ connection = (HttpURLConnection)url.openConnection();
+ } catch(MalformedURLException e) {
+ throw new IOException("Malformed URL");
+ }
+ connection.setDoInput(true);
+ connection.setConnectTimeout(CONNECTION_TIMEOUT);
+ connection.setReadTimeout(READ_TIMEOUT);
+ return connection;
+ }
+
+ public String upload(String endpoint, PostData postData) throws IOException {
+ HttpURLConnection connection = null;
+
+ connection = getBaseConnection(endpoint);
+ connection.setDoOutput(true);
+ connection.setInstanceFollowRedirects(false);
+ connection.setRequestMethod("POST");
+ connection.setRequestProperty("Charset", "utf-8");
+ connection.setRequestProperty("Content-Type", postData.getContentType());
+ connection.setRequestProperty("Accept", "text/json");
+ OutputStream out = new BufferedOutputStream(connection.getOutputStream(), 8192);
+ postData.write(out);
+ out.flush();
+ BufferedReader br = new BufferedReader(new InputStreamReader(connection.getInputStream()));
+ String line = br.readLine();
+ String json = "";
+ while (line != null) {
+ json += line;
+ line = br.readLine();
+ }
+ System.out.println(json);
+ int response = connection.getResponseCode();
+ connection.disconnect();
+// return response;
+ return json;
+ }
+}
\ No newline at end of file
diff --git a/VisitFace/DemoForBsk/app/src/main/res/layout/activity_main.xml b/VisitFace/DemoForBsk/app/src/main/res/layout/activity_main.xml
index 04d3631..ac32a16 100644
--- a/VisitFace/DemoForBsk/app/src/main/res/layout/activity_main.xml
+++ b/VisitFace/DemoForBsk/app/src/main/res/layout/activity_main.xml
@@ -8,7 +8,6 @@
android:background="@color/colorBackground"
tools:context="com.bsk.zhangbo.demoforbsk.cn.com.basic.face.android.ui.MainActivity">
-
<!--app:tabMaxWidth="@dimen/view_size_58" 璁剧疆tab鐨勫ぇ灏�-->
<android.support.design.widget.TabLayout
android:id="@+id/tab_layout"
@@ -19,7 +18,11 @@
app:tabIndicatorHeight="@dimen/view_size_0"
app:tabSelectedTextColor="#cccccc"
app:tabTextColor="@android:color/white"
- app:tabTextAppearance="@style/MyTabLayoutTextAppearance" >
+ app:tabTextAppearance="@style/MyTabLayoutTextAppearance"
+ app:tabMaxWidth="0dp"
+ app:tabGravity="fill"
+ app:tabMode="fixed"
+ >
</android.support.design.widget.TabLayout>
<android.support.v4.view.ViewPager
android:id="@+id/viewpager"
diff --git a/VisitFace/DemoForBsk/app/src/main/res/layout/fragment_surveillance_bottom_register_cell.xml b/VisitFace/DemoForBsk/app/src/main/res/layout/fragment_surveillance_bottom_register_cell.xml
index 3a946b4..a5579fb 100644
--- a/VisitFace/DemoForBsk/app/src/main/res/layout/fragment_surveillance_bottom_register_cell.xml
+++ b/VisitFace/DemoForBsk/app/src/main/res/layout/fragment_surveillance_bottom_register_cell.xml
@@ -21,8 +21,8 @@
android:layout_height="wrap_content"
android:background="@drawable/rounded_textview"
android:gravity="center"
- android:textSize="@dimen/w16dp"
- android:text="娉ㄥ唽"
+ android:textSize="@dimen/w12dp"
+ android:text="鏈敞鍐�"
android:layout_marginBottom="@dimen/h20dp"
android:layout_marginRight="@dimen/w10dp"
android:layout_alignParentBottom="true"
--
Gitblit v1.8.0