Skip to content
Toggle navigation
P
Projects
G
Groups
S
Snippets
Help
android
/
dayu
This project
Loading...
Sign in
Toggle navigation
Go to a project
Project
Repository
Issues
0
Merge Requests
0
Pipelines
Wiki
Snippets
Members
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Commit
905c2635
authored
May 15, 2018
by
罗翻
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
增加人脸识别
parent
5b0d1c4f
Show whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
100 additions
and
17 deletions
IDCardLib/src/main/java/com/megvii/idcardlib/util/ConUtil.java
app/src/main/java/com/dayu/bigfish/InitializeActivity.java
messageCenter/src/main/java/com/dayu/message/ui/activity/MessageDetailActivity.java
userCenter/src/main/java/com/dayu/usercenter/ui/activity/FaceCertificationActivity.java
userCenter/src/main/java/com/dayu/usercenter/ui/activity/IdentityCertificationActivity.java
userCenter/src/main/res/layout/activity_certification_layout.xml
IDCardLib/src/main/java/com/megvii/idcardlib/util/ConUtil.java
View file @
905c2635
...
@@ -80,6 +80,51 @@ public class ConUtil {
...
@@ -80,6 +80,51 @@ public class ConUtil {
return
null
;
return
null
;
}
}
/**
* 根据byte数组,生成文件
*/
public
static
File
saveJPG
(
Context
mContext
,
byte
[]
data
,
String
key
)
{
if
(
data
==
null
)
return
null
;
File
mediaStorageDir
=
mContext
.
getExternalFilesDir
(
Constant
.
cacheImage
);
if
(!
mediaStorageDir
.
exists
())
{
if
(!
mediaStorageDir
.
mkdirs
())
{
return
null
;
}
}
BufferedOutputStream
bos
=
null
;
FileOutputStream
fos
=
null
;
try
{
String
jpgFileName
=
System
.
currentTimeMillis
()
+
""
+
new
Random
().
nextInt
(
1000000
)
+
"_"
+
key
+
".jpg"
;
fos
=
new
FileOutputStream
(
mediaStorageDir
+
"/"
+
jpgFileName
);
bos
=
new
BufferedOutputStream
(
fos
);
bos
.
write
(
data
);
return
mediaStorageDir
;
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
}
finally
{
if
(
bos
!=
null
)
{
try
{
bos
.
close
();
}
catch
(
IOException
e1
)
{
e1
.
printStackTrace
();
}
}
if
(
fos
!=
null
)
{
try
{
fos
.
close
();
}
catch
(
IOException
e1
)
{
e1
.
printStackTrace
();
}
}
}
return
null
;
}
public
static
void
copyModels
(
Context
context
)
{
public
static
void
copyModels
(
Context
context
)
{
File
dstModelFile
=
new
File
(
context
.
getExternalFilesDir
(
null
),
"model"
);
File
dstModelFile
=
new
File
(
context
.
getExternalFilesDir
(
null
),
"model"
);
if
(
dstModelFile
.
exists
())
{
if
(
dstModelFile
.
exists
())
{
...
@@ -183,8 +228,7 @@ public class ConUtil {
...
@@ -183,8 +228,7 @@ public class ConUtil {
/**
/**
* 读取图片属性:旋转的角度
* 读取图片属性:旋转的角度
*
*
* @param path
* @param path 图片绝对路径
* 图片绝对路径
* @return degree旋转的角度
* @return degree旋转的角度
*/
*/
public
static
int
readPictureDegree
(
String
path
)
{
public
static
int
readPictureDegree
(
String
path
)
{
...
...
app/src/main/java/com/dayu/bigfish/InitializeActivity.java
View file @
905c2635
...
@@ -112,9 +112,9 @@ public class InitializeActivity extends DataBindingActivity<ActivityInitializeMa
...
@@ -112,9 +112,9 @@ public class InitializeActivity extends DataBindingActivity<ActivityInitializeMa
@Override
@Override
protected
void
onDestroy
()
{
protected
void
onDestroy
()
{
super
.
onDestroy
();
super
.
onDestroy
();
if
(
mDisposable
!=
null
)
{
//
if (mDisposable != null) {
mDisposable
.
dispose
();
//
mDisposable.dispose();
}
//
}
}
}
@TargetApi
(
23
)
@TargetApi
(
23
)
...
...
messageCenter/src/main/java/com/dayu/message/ui/activity/MessageDetailActivity.java
View file @
905c2635
...
@@ -13,6 +13,8 @@ import com.dayu.message.databinding.ActivityMessageDetailBinding;
...
@@ -13,6 +13,8 @@ import com.dayu.message.databinding.ActivityMessageDetailBinding;
import
com.dayu.provider.common.ProviderConstant
;
import
com.dayu.provider.common.ProviderConstant
;
import
com.dayu.provider.router.RouterPath
;
import
com.dayu.provider.router.RouterPath
;
import
com.dayu.utils.GsonUtils
;
import
com.dayu.utils.GsonUtils
;
import
com.dayu.utils.ToastUtils
;
import
com.dayu.utils.UIUtils
;
import
com.dayu.utils.UtilsDate
;
import
com.dayu.utils.UtilsDate
;
import
com.umeng.analytics.MobclickAgent
;
import
com.umeng.analytics.MobclickAgent
;
...
@@ -39,6 +41,10 @@ public class MessageDetailActivity extends DataBindingActivity<ActivityMessageDe
...
@@ -39,6 +41,10 @@ public class MessageDetailActivity extends DataBindingActivity<ActivityMessageDe
public
void
initView
()
{
public
void
initView
()
{
mBind
.
tvTitle
.
setText
(
getString
(
R
.
string
.
message_dayu_detail
));
mBind
.
tvTitle
.
setText
(
getString
(
R
.
string
.
message_dayu_detail
));
Bundle
bundle
=
mActivity
.
getIntent
().
getBundleExtra
(
Constants
.
BUNDLE
);
Bundle
bundle
=
mActivity
.
getIntent
().
getBundleExtra
(
Constants
.
BUNDLE
);
if
(
bundle
==
null
){
ToastUtils
.
showShortToast
(
UIUtils
.
getString
(
R
.
string
.
get_info_failed
));
return
;
}
message
=
(
NewMessage
)
bundle
.
getSerializable
(
Constants
.
HX_MESSAGE
);
message
=
(
NewMessage
)
bundle
.
getSerializable
(
Constants
.
HX_MESSAGE
);
mCategory
=
bundle
.
getInt
(
"category"
,
1
);
mCategory
=
bundle
.
getInt
(
"category"
,
1
);
String
time
=
null
;
String
time
=
null
;
...
...
userCenter/src/main/java/com/dayu/usercenter/ui/activity/FaceCertificationActivity.java
View file @
905c2635
...
@@ -12,13 +12,15 @@ import com.dayu.usercenter.R;
...
@@ -12,13 +12,15 @@ import com.dayu.usercenter.R;
import
com.dayu.usercenter.databinding.ActivityFaceCertificationBinding
;
import
com.dayu.usercenter.databinding.ActivityFaceCertificationBinding
;
import
com.dayu.usercenter.presenter.facecertification.FaceCertificaitonContract
;
import
com.dayu.usercenter.presenter.facecertification.FaceCertificaitonContract
;
import
com.dayu.usercenter.presenter.facecertification.FaceCertificaitonPresenter
;
import
com.dayu.usercenter.presenter.facecertification.FaceCertificaitonPresenter
;
import
com.dayu.utils.GlideImageLoader
;
import
com.dayu.utils.ToastUtils
;
import
com.dayu.utils.ToastUtils
;
import
com.megvii.idcardlib.LivenessActivity
;
import
com.megvii.idcardlib.LivenessActivity
;
import
com.megvii.idcardlib.util.ConUtil
;
import
com.megvii.idcardlib.util.ConUtil
;
import
com.megvii.licensemanager.Manager
;
import
com.megvii.licensemanager.Manager
;
import
com.megvii.livenessdetection.LivenessLicenseManager
;
import
com.megvii.livenessdetection.LivenessLicenseManager
;
import
org.json.JSONException
;
import
org.json.JSONObject
;
import
java.io.File
;
import
java.io.File
;
import
java.util.ArrayList
;
import
java.util.ArrayList
;
import
java.util.Map
;
import
java.util.Map
;
...
@@ -94,23 +96,52 @@ public class FaceCertificationActivity extends BaseActivity<FaceCertificaitonPre
...
@@ -94,23 +96,52 @@ public class FaceCertificationActivity extends BaseActivity<FaceCertificaitonPre
protected
void
onActivityResult
(
int
requestCode
,
int
resultCode
,
Intent
data
)
{
protected
void
onActivityResult
(
int
requestCode
,
int
resultCode
,
Intent
data
)
{
super
.
onActivityResult
(
requestCode
,
resultCode
,
data
);
super
.
onActivityResult
(
requestCode
,
resultCode
,
data
);
if
(
requestCode
==
PAGE_INTO_LIVENESS
&&
resultCode
==
RESULT_OK
)
{
if
(
requestCode
==
PAGE_INTO_LIVENESS
&&
resultCode
==
RESULT_OK
)
{
boolean
isSuccess
=
false
;
String
delta
=
data
.
getStringExtra
(
"delta"
);
String
delta
=
data
.
getStringExtra
(
"delta"
);
int
code
=
data
.
getIntExtra
(
"resultcode"
,
0
);
int
code
=
data
.
getIntExtra
(
"resultcode"
,
0
);
String
str
=
data
.
getStringExtra
(
"result"
);
try
{
JSONObject
result
=
new
JSONObject
(
str
);
int
resID
=
result
.
getInt
(
"resultcode"
);
checkID
(
resID
);
isSuccess
=
result
.
getString
(
"result"
).
equals
(
getResources
().
getString
(
R
.
string
.
verify_success
));
}
catch
(
JSONException
e
)
{
e
.
printStackTrace
();
}
if
(
isSuccess
)
{
Map
<
String
,
byte
[]>
images
=
(
Map
<
String
,
byte
[]>)
data
.
getSerializableExtra
(
"images"
);
Map
<
String
,
byte
[]>
images
=
(
Map
<
String
,
byte
[]>)
data
.
getSerializableExtra
(
"images"
);
ArrayList
<
File
>
list
=
new
ArrayList
<>();
ArrayList
<
File
>
list
=
new
ArrayList
<>();
byte
[]
image_best
=
images
.
get
(
"image_best"
);
byte
[]
image_best
=
images
.
get
(
"image_best"
);
byte
[]
image_env
=
images
.
get
(
"image_env"
);
byte
[]
image_env
=
images
.
get
(
"image_env"
);
byte
[]
image_action1
=
images
.
get
(
"imageAction1"
);
byte
[]
image_action1
=
images
.
get
(
"image_action1"
);
byte
[]
image_action2
=
images
.
get
(
"imageAction2"
);
byte
[]
image_action2
=
images
.
get
(
"image_action2"
);
byte
[]
image_action3
=
images
.
get
(
"imageAction3"
);
byte
[]
image_action3
=
images
.
get
(
"image_action3"
);
list
.
add
(
GlideImageLoader
.
compressImage
(
BitmapFactory
.
decodeByteArray
(
image_best
,
0
,
image_best
.
length
),
"best"
));
BitmapFactory
.
Options
options
=
new
BitmapFactory
.
Options
();
list
.
add
(
GlideImageLoader
.
compressImage
(
BitmapFactory
.
decodeByteArray
(
image_env
,
0
,
image_best
.
length
),
"env"
));
options
.
inSampleSize
=
2
;
list
.
add
(
GlideImageLoader
.
compressImage
(
BitmapFactory
.
decodeByteArray
(
image_action1
,
0
,
image_best
.
length
),
"action1"
));
list
.
add
(
ConUtil
.
saveJPG
(
mActivity
,
image_best
,
"image_best"
));
list
.
add
(
GlideImageLoader
.
compressImage
(
BitmapFactory
.
decodeByteArray
(
image_action2
,
0
,
image_best
.
length
),
"action2"
));
list
.
add
(
ConUtil
.
saveJPG
(
mActivity
,
image_env
,
"image_env"
));
list
.
add
(
GlideImageLoader
.
compressImage
(
BitmapFactory
.
decodeByteArray
(
image_action3
,
0
,
image_best
.
length
),
"action3"
));
list
.
add
(
ConUtil
.
saveJPG
(
mActivity
,
image_action1
,
"image_action1"
));
list
.
add
(
ConUtil
.
saveJPG
(
mActivity
,
image_action2
,
"image_action2"
));
list
.
add
(
ConUtil
.
saveJPG
(
mActivity
,
image_action3
,
"image_action3"
));
// list.add(GlideImageLoader.compressImage(BitmapFactory.decodeByteArray(image_best, 0, image_best.length, options), "best"));
// list.add(GlideImageLoader.compressImage(BitmapFactory.decodeByteArray(image_env, 0, image_best.length, options), "env"));
// list.add(GlideImageLoader.compressImage(BitmapFactory.decodeByteArray(image_action1, 0, image_best.length, options), "action1"));
// list.add(GlideImageLoader.compressImage(BitmapFactory.decodeByteArray(image_action2, 0, image_best.length, options), "action2"));
// list.add(GlideImageLoader.compressImage(BitmapFactory.decodeByteArray(image_action3, 0, image_best.length, options), "action3"));
mPresenter
.
commitePhoto
(
list
,
delta
);
mPresenter
.
commitePhoto
(
list
,
delta
);
}
}
}
}
}
private
void
checkID
(
int
resID
)
{
if
(
resID
==
R
.
string
.
verify_success
)
{
}
else
if
(
resID
==
R
.
string
.
liveness_detection_failed_not_video
)
{
}
else
if
(
resID
==
R
.
string
.
liveness_detection_failed_timeout
)
{
}
else
if
(
resID
==
R
.
string
.
liveness_detection_failed
)
{
}
else
{
}
}
@Override
@Override
public
void
setPresenter
()
{
public
void
setPresenter
()
{
...
...
userCenter/src/main/java/com/dayu/usercenter/ui/activity/IdentityCertificationActivity.java
View file @
905c2635
...
@@ -89,6 +89,7 @@ public class IdentityCertificationActivity extends BaseActivity<CertificaitonPre
...
@@ -89,6 +89,7 @@ public class IdentityCertificationActivity extends BaseActivity<CertificaitonPre
mBind
.
rlNext
.
setClickable
(
false
);
mBind
.
rlNext
.
setClickable
(
false
);
mBind
.
ivSideDelete
.
setVisibility
(
View
.
GONE
);
mBind
.
ivSideDelete
.
setVisibility
(
View
.
GONE
);
});
});
mBind
.
rlNext
.
setOnClickListener
(
v
->
mPresenter
.
commitePhoto
());
mBind
.
ivNext
.
setAlpha
(
0.5f
);
mBind
.
ivNext
.
setAlpha
(
0.5f
);
mBind
.
rlNext
.
setClickable
(
false
);
mBind
.
rlNext
.
setClickable
(
false
);
...
@@ -161,8 +162,10 @@ public class IdentityCertificationActivity extends BaseActivity<CertificaitonPre
...
@@ -161,8 +162,10 @@ public class IdentityCertificationActivity extends BaseActivity<CertificaitonPre
if
(
requestCode
==
INTO_IDCARDSCAN_PAGE
&&
resultCode
==
RESULT_OK
)
{
if
(
requestCode
==
INTO_IDCARDSCAN_PAGE
&&
resultCode
==
RESULT_OK
)
{
runOnUiThread
(()
->
{
runOnUiThread
(()
->
{
byte
[]
idcardImgData
=
data
.
getByteArrayExtra
(
"idcardImg"
);
byte
[]
idcardImgData
=
data
.
getByteArrayExtra
(
"idcardImg"
);
BitmapFactory
.
Options
options
=
new
BitmapFactory
.
Options
();
options
.
inSampleSize
=
2
;
Bitmap
idcardBmp
=
BitmapFactory
.
decodeByteArray
(
idcardImgData
,
0
,
Bitmap
idcardBmp
=
BitmapFactory
.
decodeByteArray
(
idcardImgData
,
0
,
idcardImgData
.
length
);
idcardImgData
.
length
,
options
);
if
(
mSide
==
0
)
{
if
(
mSide
==
0
)
{
mFrontBitmap
=
idcardBmp
;
mFrontBitmap
=
idcardBmp
;
mBind
.
ivFront
.
setImageBitmap
(
idcardBmp
);
mBind
.
ivFront
.
setImageBitmap
(
idcardBmp
);
...
...
userCenter/src/main/res/layout/activity_certification_layout.xml
View file @
905c2635
...
@@ -101,8 +101,7 @@
...
@@ -101,8 +101,7 @@
android:id=
"@+id/rl_next"
android:id=
"@+id/rl_next"
android:layout_width=
"match_parent"
android:layout_width=
"match_parent"
android:layout_height=
"47dp"
android:layout_height=
"47dp"
android:layout_marginBottom=
"54dp"
android:layout_marginBottom=
"54dp"
>
android:onClick=
"@{()->presenter.commitePhoto()}"
>
<ImageView
<ImageView
android:id=
"@+id/iv_next"
android:id=
"@+id/iv_next"
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment