Commit b24d7c81 authored by yinjiacheng's avatar yinjiacheng

update camera权限获取后置

parent e99b8049
package com.yidian.shenghuoquan.newscontent.ui
import android.Manifest
import android.os.Bundle
import com.orhanobut.hawk.Hawk
import com.tbruyelle.rxpermissions3.RxPermissions
import com.yidian.common.HawkConfig
import com.yidian.common.XRouterPathConstants
import com.yidian.common.XRouterPathConstants.Companion.FLASH
......@@ -16,7 +14,6 @@ import com.yidian.shenghuoquan.newscontent.http.httpbean.LifeAccountItemBean
import com.yidian.shenghuoquan.newscontent.ui.auth.LifeAccountIdentityActivity
import com.yidian.shenghuoquan.newscontent.ui.center.MerchantCenterActivity
import com.yidian.shenghuoquan.newscontent.utils.StorageUtil
import com.yidian.utils.ToastUtil
import com.yidian.xpage.XPageManager
class FlashActivity : BaseActivity<ActivityFlashBinding>(), IGetLifeAccountListCallback {
......@@ -35,7 +32,7 @@ class FlashActivity : BaseActivity<ActivityFlashBinding>(), IGetLifeAccountListC
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
getPermissions()
launcher()
}
private fun launcher() {
......@@ -55,20 +52,6 @@ class FlashActivity : BaseActivity<ActivityFlashBinding>(), IGetLifeAccountListC
}
}
private fun getPermissions() {
RxPermissions(this).request(
Manifest.permission.WRITE_EXTERNAL_STORAGE,
Manifest.permission.CAMERA
)
.subscribe {
if (it) {
launcher()
} else {
ToastUtil.showToast(this, "请在设置里同意相关权限")
}
}
}
override fun getLifeAccountListSuccess(result: ArrayList<LifeAccountItemBean.Response>?) {
when (result?.size) {
0 -> {
......
......@@ -125,6 +125,7 @@ object LifeAccountAuthDataManager {
* 填入企业认证回显数据
* 身份证两面完整度此时一定是0
*/
// TODO: 6/17/21 增加营业执照法人字段
fun generateMerchantAuthData(data: AuthMerchantCheckBean.Response) {
merchantAuthData.authRecordId = data.enterprise_auth_record_id
merchantAuthData.registrationName = data.name
......
package com.yidian.shenghuoquan.newscontent.ui.auth
import android.Manifest
import android.app.Activity
import android.content.Intent
import android.net.Uri
......@@ -14,6 +15,7 @@ import android.view.ViewGroup
import androidx.core.content.FileProvider
import androidx.core.view.isVisible
import com.bumptech.glide.Glide
import com.tbruyelle.rxpermissions3.RxPermissions
import com.yidian.common.base.BaseFragment
import com.yidian.common.constant.GlobalConstants
import com.yidian.shenghuoquan.newscontent.R
......@@ -31,6 +33,7 @@ import com.yidian.shenghuoquan.newscontent.utils.FileUtil
import com.yidian.shenghuoquan.newscontent.utils.InputFilterUtil
import com.yidian.shenghuoquan.newscontent.utils.KS3Core
import com.yidian.shenghuoquan.newscontent.widget.LifeAccountAuthBusinessInfoEditView
import com.yidian.utils.ToastUtil
import java.io.File
/**
......@@ -152,6 +155,9 @@ class LifeAccountBusinessLicenseAuthFragment :
} else {
Uri.fromFile(file)
}
// 判断camera权限
RxPermissions(this).request(Manifest.permission.CAMERA).subscribe {
if (it) {
startActivityForResult(
Intent(MediaStore.ACTION_IMAGE_CAPTURE).putExtra(
MediaStore.EXTRA_OUTPUT,
......@@ -159,6 +165,10 @@ class LifeAccountBusinessLicenseAuthFragment :
),
Constant.REQUEST_CODE_OPEN_CAMERA
)
} else {
ToastUtil.showToast(activity, "请在设置里同意相关权限")
}
}
}
Constant.ITEM_OPEN_ALBUM -> {
// 打开系统相册
......
package com.yidian.shenghuoquan.newscontent.ui.auth
import android.Manifest
import android.app.Activity
import android.content.Intent
import android.graphics.BitmapFactory
......@@ -18,6 +19,7 @@ import com.megvii.licensemanager.Manager
import com.megvii.meglive_sdk.listener.DetectCallback
import com.megvii.meglive_sdk.listener.PreCallback
import com.megvii.meglive_sdk.manager.MegLiveManager
import com.tbruyelle.rxpermissions3.RxPermissions
import com.yidian.common.base.BaseFragment
import com.yidian.common.http.HttpResult
import com.yidian.shenghuoquan.newscontent.R
......@@ -217,7 +219,7 @@ class LifeAccountIDCardAuthFragment : BaseFragment<FragmentLifeAccountIdCardAuth
viewBinding.ivIdCardNationalEmblemFace.addImage(data.back_id_card_url)
viewBinding.evRealName.fillEditContent(data.full_name)
viewBinding.evIdCardNumber.fillEditContent(data.id_card)
if (data.live_identity_status == Constant.ALIVE_DETECT_SUCCESS) viewBinding.avFaceAuth.showFaceAuthSuccess()
if (data.live_identity_status == Constant.ALIVE_DETECT_SUCCESS) viewBinding.avFaceAuth.showFaceAuthResult(true)
// 如果人脸验证已通过 则直接锁定输入状态
if (data.live_identity_status == Constant.ALIVE_DETECT_SUCCESS) lockPersonalAuthInfo()
// 检查下一步条件
......@@ -234,7 +236,7 @@ class LifeAccountIDCardAuthFragment : BaseFragment<FragmentLifeAccountIdCardAuth
viewBinding.evIdCardNumber.fillEditContent(data.legal_id_card)
if (authType == Constant.TYPE_AUTH_INDIVIDUAL_BUSINESS) {
// 个体工商户
if (data.live_identity_status == Constant.ALIVE_DETECT_SUCCESS) viewBinding.avFaceAuth.showFaceAuthSuccess()
if (data.live_identity_status == Constant.ALIVE_DETECT_SUCCESS) viewBinding.avFaceAuth.showFaceAuthResult(true)
// 如果人脸验证已通过 则直接锁定输入状态
if (data.live_identity_status == Constant.ALIVE_DETECT_SUCCESS) lockEnterpriseAuthInfo()
} else {
......@@ -308,6 +310,9 @@ class LifeAccountIDCardAuthFragment : BaseFragment<FragmentLifeAccountIdCardAuth
override fun onItemClick(view: View, position: Int, data: BottomSelectBean) {
when (data.item) {
Constant.ITEM_TAKE_PHOTO -> {
// 判断camera权限
RxPermissions(this).request(Manifest.permission.CAMERA).subscribe {
if (it) {
// 调用FaceID进行身份证采集
if (checkFaceIDLicense()) {
startActivityForResult(
......@@ -317,6 +322,10 @@ class LifeAccountIDCardAuthFragment : BaseFragment<FragmentLifeAccountIdCardAuth
} else {
ToastUtil.showToast(activity, "获取授权失败,请稍后重试")
}
} else {
ToastUtil.showToast(activity, "请在设置里同意相关权限")
}
}
}
Constant.ITEM_OPEN_ALBUM -> {
// 打开系统相册
......@@ -763,6 +772,9 @@ class LifeAccountIDCardAuthFragment : BaseFragment<FragmentLifeAccountIdCardAuth
ToastUtil.showToast(activity, "请补全信息后重试")
return
}
// 判断camera权限
RxPermissions(this).request(Manifest.permission.CAMERA).subscribe {
if (it) {
when (authType) {
Constant.TYPE_AUTH_PERSONAL -> {
ApiService.authPersonalCheck(
......@@ -777,6 +789,10 @@ class LifeAccountIDCardAuthFragment : BaseFragment<FragmentLifeAccountIdCardAuth
)
}
}
} else {
ToastUtil.showToast(activity, "请在设置里同意相关权限")
}
}
}
override fun authIndividualBusinessIdentityCommitSuccess() {
......
......@@ -40,29 +40,17 @@ class LifeAccountFaceAuthView @JvmOverloads constructor(
fun showFaceAuthResult(result: Boolean) {
if (result) {
viewBinding.tvFaceAuthResult.show()
viewBinding.tvFaceAuthResult.text = resources.getText(R.string.face_auth_success)
viewBinding.tvFaceAuthResult.setTextColor(Color.parseColor("#FF6BB81F"))
viewBinding.tvFaceAuthStart.hide()
viewBinding.tvFaceAuthErrorTips.hide()
} else {
viewBinding.tvFaceAuthResult.text = resources.getText(R.string.face_auth_fail)
viewBinding.tvFaceAuthResult.setTextColor(Color.parseColor("#FFFF3A3A"))
viewBinding.tvFaceAuthErrorTips.visibility = View.VISIBLE
viewBinding.tvFaceAuthResult.hide()
viewBinding.tvFaceAuthStart.text = resources.getText(R.string.face_auth_fail)
viewBinding.tvFaceAuthStart.setTextColor(Color.parseColor("#FFFF3A3A"))
viewBinding.tvFaceAuthErrorTips.show()
viewBinding.tvFaceAuthErrorTips.text = resources.getText(R.string.face_auth_error_tips)
}
}
/**
* 人脸验证结果成功UI
*/
fun showFaceAuthSuccess() {
viewBinding.tvFaceAuthResult.show()
viewBinding.tvFaceAuthResult.text = resources.getText(R.string.face_auth_success)
viewBinding.tvFaceAuthResult.setTextColor(Color.parseColor("#FF6BB81F"))
viewBinding.tvFaceAuthStart.hide()
viewBinding.tvFaceAuthErrorTips.hide()
}
override fun onClick(v: View?) {
// 去验证
if (v?.id == R.id.tv_face_auth_start) {
......
......@@ -23,8 +23,8 @@
android:layout_height="wrap_content"
android:layout_marginEnd="2dp"
android:includeFontPadding="false"
android:text="@string/face_auth_fail"
android:textColor="#FF1852F1"
android:text="@string/face_auth_success"
android:textColor="#FF6BB81F"
android:textSize="15sp"
android:visibility="gone"
app:layout_constraintEnd_toEndOf="parent"
......@@ -36,10 +36,9 @@
android:layout_height="wrap_content"
android:layout_marginEnd="@dimen/dp2"
android:drawableEnd="@mipmap/icon_next"
android:text="去验证"
android:text="@string/start_face_auth"
android:textColor="#FF1852F1"
android:textSize="15sp"
android:visibility="visible"
app:layout_constraintBottom_toBottomOf="@id/tv_face_auth"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="@id/tv_face_auth" />
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment