diff --git a/README.md b/README.md
index be8b675..40f04a5 100644
--- a/README.md
+++ b/README.md
@@ -2,3 +2,9 @@
友盟+上的appkey(用来唤醒),与阿里云购买appkey(同样可以唤醒前端sdk?)不同(后台需配置友盟+上的appkey,来获取token)
# 无法获取sha1失败
可通过gradle-app-android-signingReport获取
+
+# gradle无法下载或者下载慢问题-替换阿里云或腾讯云镜像
+添加maven { url 'https://maven.aliyun.com/repository/central' }
+ maven { url 'https://maven.aliyun.com/nexus/content/repositories/google' }
+distributionUrl=https\://mirrors.cloud.tencent.com/gradle/gradle-8.2-bin.zip
+distributionUrl=https\://emas-devops-cdn.aliyuncs.com/distributions/gradle-7.2-bin.zip
\ No newline at end of file
diff --git a/app/build.gradle b/app/build.gradle
index 56ee038..a1d6391 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -34,7 +34,8 @@ android {
ndk {
//设置支持的SO库架构(开发者可以根据需要,选择一个或多个平台的so)
- abiFilters "armeabi", "armeabi-v7a", "arm64-v8a", "x86","x86_64"
+ abiFilters "armeabi", "arm64-v8a"
+// abiFilters "armeabi", "armeabi-v7a", "arm64-v8a", "x86","x86_64"
}
}
@@ -159,4 +160,6 @@ dependencies {
implementation 'com.umeng.umsdk:uverify-main:2.1.4'// 必选
implementation 'com.umeng.umsdk:uverify-logger:2.1.4'// 必选
implementation 'com.umeng.umsdk:uverify-crashshield:2.1.4'// 必选
+ //推送
+ implementation 'com.umeng.umsdk:push:6.6.3'// 必选
}
\ No newline at end of file
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index e5d29f3..e032a9b 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -292,6 +292,11 @@
android:configChanges="keyboardHidden|orientation|locale"
android:screenOrientation="portrait"
android:windowSoftInputMode="adjustPan|stateHidden" />
+
diff --git a/app/src/main/java/com/dahe/gldriver/base/App.kt b/app/src/main/java/com/dahe/gldriver/base/App.kt
index 8e9e76c..2d3fa58 100644
--- a/app/src/main/java/com/dahe/gldriver/base/App.kt
+++ b/app/src/main/java/com/dahe/gldriver/base/App.kt
@@ -6,11 +6,13 @@ import android.util.Log
import com.dahe.gldriver.BuildConfig
import com.dahe.gldriver.net.Api
import com.dahe.gldriver.oss.OssServiceUtil
+import com.dahe.gldriver.push.PushHelper
import com.dahe.mylibrary.CommonBaseLibrary
import com.esign.esignsdk.EsignSdk
import com.github.gzuliyujiang.dialog.DialogConfig
import com.github.gzuliyujiang.dialog.DialogStyle
import com.umeng.commonsdk.UMConfigure
+import com.umeng.message.PushAgent
import com.umeng.umverify.UMVerifyHelper
import com.umeng.umverify.listener.UMTokenResultListener
import java.security.SecureRandom
@@ -19,6 +21,7 @@ import javax.net.ssl.HttpsURLConnection
import javax.net.ssl.SSLContext
import javax.net.ssl.TrustManager
import javax.net.ssl.X509TrustManager
+import kotlin.concurrent.thread
class App : Application() {
override fun onCreate() {
@@ -93,20 +96,29 @@ class App : Application() {
}
private fun initUmeng(){
- //友盟
- UMConfigure.preInit(this,"65f10b873ace4f7d7198fa75","Umeng");
- UMConfigure.init(this,"65f10b873ace4f7d7198fa75","Umeng",UMConfigure.DEVICE_TYPE_PHONE,"")
- val authHelper = UMVerifyHelper.getInstance(this, object : UMTokenResultListener {
- override fun onTokenSuccess(ret: String) {
- Log.e("Umenginit", "onTokenSuccess: $ret")
- }
+// thread {
+ //友盟
+ UMConfigure.preInit(this,AppConfig.APP_KEY,"Umeng");
- override fun onTokenFailed(ret: String) {
- Log.e("Umenginit", "onTokenFailed: $ret")
- }
- })
- authHelper.setLoggerEnable(true)
- authHelper.setAuthSDKInfo("iiBVGHSKbUML/NTbj187eM1N1KMvRzh1sJbM+2FMbV7FNOnmngDlPr2reqlvouhK/8dXcaNGJuI9B+Kv7C6IlBMoGE0PMVWvwY754T8zxSgSfLUM6s7e0dVxmtMFRrCDawKBiv6g/5+X1mSK5OXNG+H//8rtDDf0vePyUUPCAU26tIX/7BCJ4wvUjobAHBDtSbMMhzqWR5MC7jTCnR0k1OwwvEYxIH6jZuRqT4QgBBO4AMKvFjboqj3rsrr5uE6Gn28fWQrBBrOkPS830GnZFU8ND/0LedGgTlMllBAXLy0gbZZ/8LKJOQ==")
+ // 推送注册
+ val api = PushAgent.getInstance(this)
+ PushHelper.setting(api)
+
+ UMConfigure.init(this,AppConfig.APP_KEY,"Umeng",UMConfigure.DEVICE_TYPE_PHONE,AppConfig.MESSAGE_SECRET)
+ //实名认证
+ val authHelper = UMVerifyHelper.getInstance(this, object : UMTokenResultListener {
+ override fun onTokenSuccess(ret: String) {
+ Log.e("Umenginit", "onTokenSuccess: $ret")
+ }
+
+ override fun onTokenFailed(ret: String) {
+ Log.e("Umenginit", "onTokenFailed: $ret")
+ }
+ })
+ authHelper.setLoggerEnable(true)
+ authHelper.setAuthSDKInfo("iiBVGHSKbUML/NTbj187eM1N1KMvRzh1sJbM+2FMbV7FNOnmngDlPr2reqlvouhK/8dXcaNGJuI9B+Kv7C6IlBMoGE0PMVWvwY754T8zxSgSfLUM6s7e0dVxmtMFRrCDawKBiv6g/5+X1mSK5OXNG+H//8rtDDf0vePyUUPCAU26tIX/7BCJ4wvUjobAHBDtSbMMhzqWR5MC7jTCnR0k1OwwvEYxIH6jZuRqT4QgBBO4AMKvFjboqj3rsrr5uE6Gn28fWQrBBrOkPS830GnZFU8ND/0LedGgTlMllBAXLy0gbZZ/8LKJOQ==")
+
+// }.start()
}
diff --git a/app/src/main/java/com/dahe/gldriver/base/AppConfig.kt b/app/src/main/java/com/dahe/gldriver/base/AppConfig.kt
index e624213..abd7827 100644
--- a/app/src/main/java/com/dahe/gldriver/base/AppConfig.kt
+++ b/app/src/main/java/com/dahe/gldriver/base/AppConfig.kt
@@ -19,9 +19,14 @@ object AppConfig {
const val CHILDRE_ID = "DA_HE_CHILDRE_ID"
const val RATE_TYPE = "DA_HE_RATE_TYPE"//0:收到的评价 1:发表的评价
const val CODE = "DA_HE_PHONE"
+ const val USER_DETAIL = "DA_HE_USER_DETAIL"
+ const val IS_ONLY_SHOW = "DA_HE_IS_ONLY_SHOW"
const val REFRSH = "DA_HE_REFRSH"
const val SUCCESS_TYPE = "DA_HE_SUCCESS_TYPE"
const val E_KEY = "19ac0aa74338e487e45057faf7212401"
const val E_LICENSE = "HF41uGxM/1i3CtW98DimoA97BlNTAnQ+DiEAihYmZ2jR1jqC4be253joEJbOJgFDIzp5aIoeuXSWWHFaDVfaHL2Pksbq5f8M8EqsVhP9q/i1xGYSYf6MJVlHdMAVLWgR0Kra+n8dVzkSDuZeyJuDsskAmZaGFQN1CqnWYCI1tmV1Tk4A57e9LQMed0U11QWjdshdU2DGqBXKmGE419PdW3NmIxOR2u9iB1OKBmvzCUT8RAYyBzSn/yhU++YJ25g5a8Pb5kOvi+eOh+PEFEcQL6oOp/CF4Iw5nadlsLhc+XEnVJpwL2myZBoSlVcKxrJKbRn1/DIgXBueKKnqhyHKdJlpqI9eghAlRF0p2Q4f23m89mWRZf4nhKzTeXGIjCTFO4TNVucrlGU7tyJcrRCDVdfV24fziH+hB3QGckpuYzzjefr7hZalLRJ/w8dPw/8dCY1wnWq3AJ3zw2g1PzMxl51q7AgdKvwc1ERcGBns0zb8PK6vGKCnJq3uHiJEnslbTI0MEosje+h+OPO7hf2QofErewjI19wHEOv4dTvuFLh3VmGFMObAmov5kI47705fjSxCvAPGATBrfUSwim+5EQ1hanc5IcXe0/nOTiRUNEpZ+x65zVydqAs7490yqQiIUQvPazEwcal7vH2OD54lCcgpxKxqdmGc5/bp5UnqB45+n+iuInV/Q9DMOQVk15uaVZmhS8VaCqH21CmfH/ZGLb9wiEpaRLrPZLKX3bK7MT9Z0/OlDnb2QUKU8LMMIhLuQQntzsf0Wn4kA/0e9QAJJQ=="
+ //友盟
+ const val MESSAGE_SECRET = "9d3338d1d3797cf1c765c3aa7700f145"
+ const val APP_KEY = "65f10b873ace4f7d7198fa75"
}
\ No newline at end of file
diff --git a/app/src/main/java/com/dahe/gldriver/bean/UserBean.kt b/app/src/main/java/com/dahe/gldriver/bean/UserBean.kt
index 842e484..89f33b5 100644
--- a/app/src/main/java/com/dahe/gldriver/bean/UserBean.kt
+++ b/app/src/main/java/com/dahe/gldriver/bean/UserBean.kt
@@ -11,6 +11,7 @@ import retrofit2.http.GET
data class UserBean(
var access_token :String,
var token :String,
+ var userid :String,
var id :String,
var roleId :String,
var contactPhone :String,
@@ -33,9 +34,47 @@ data class UserBean(
var isCarCaptain :String,//是否是车队长(0=否,1=是,9=未选择)
var contactName :String,
var idcardName :String,
+ var isRealName :String,
var avatar :String,
var approvedType :String,//准驾类型
var partyMemberCertification :String,//党员认证(0=未认证,1=已认证)
var captainId :String
)
+data class UserDetail(
+ val createBy: String,
+ val createTime: String,
+ val driverBankcardAddress: String,
+ val driverBankcardNumber: String,
+ val driverBankcardPhotoUrl: String,
+ val driverId: Int,
+ val idcardAddress: String,
+ val idcardBackUrl: String,
+ val idcardEffectiveEnd: String,
+ val idcardEffectiveStart: String,
+ val idcardEthnicity: String,
+ val idcardFrontUrl: String,
+ val idcardIsEndless: String,
+ val idcardName: String,
+ val idcardNo: String,
+ val idcardSex: String,
+ val licenseApproveOrganization: String,
+ val licenseEffectiveEnd: String,
+ val licenseEffectiveStart: String,
+ val licenseFirstGetDate: String,
+ val licenseName: String,
+ val licenseNo: String,
+ val licensePhotoBackUrl: String,
+ val licensePhotoFaceUrl: String,
+ val licenseRecordNumber: String,
+ val licenseType: String,
+ val qualificationCertificateEffectiveEnd: String,
+ val qualificationCertificateExamineDate: String,
+ val qualificationCertificateNo: String,
+ val qualificationCertificatePhotoUrl: String,
+ val remark: String,
+ val taxpayerCaptainId: String,
+ val updateBy: String,
+ val updateTime: String
+)
+
diff --git a/app/src/main/java/com/dahe/gldriver/net/Api.kt b/app/src/main/java/com/dahe/gldriver/net/Api.kt
index 537e0f7..96cc5af 100644
--- a/app/src/main/java/com/dahe/gldriver/net/Api.kt
+++ b/app/src/main/java/com/dahe/gldriver/net/Api.kt
@@ -137,39 +137,39 @@ interface Api {
* 司机上传身份证
* */
@POST(BASE_URL + "driver/driver/setUpDriverIdCard")
- fun setUpDriverIdCard(@Body carBean: UpPersonInfoBean): Observable>
+ fun setUpDriverIdCard(@Body carBean: UpPersonInfoBean): Observable>
/**
* 司机上传驾驶证
* */
@POST(BASE_URL + "driver/driver/setUpDriverLicense")
- fun setUpDriverLicense(@Body driverBean: UpDriverInfoBean): Observable>
+ fun setUpDriverLicense(@Body driverBean: UpDriverInfoBean): Observable>
/**
* 司机上传从业资格证
* */
@POST(BASE_URL + "driver/driver/setUpDriverQualificationCertificate")
- fun setUpDriverQualificationCertificate(@Body qualiBean: UpQualiInfoBean): Observable>
+ fun setUpDriverQualificationCertificate(@Body qualiBean: UpQualiInfoBean): Observable>
/**
* 上传车辆的道路运输证
* */
@POST(BASE_URL + "driver/car/setUpRoadLicense")
- fun setUpRoadLicense(@Body roadBean: UpRoadInfoBean): Observable>
+ fun setUpRoadLicense(@Body roadBean: UpRoadInfoBean): Observable>
/**
* 司机上传银行卡
* */
@POST(BASE_URL + "driver/driver/setUpDriverBankCard")
- fun setUpDriverBankCard(@Body bankBean: UpBankInfoBean): Observable>
+ fun setUpDriverBankCard(@Body bankBean: UpBankInfoBean): Observable>
/**
* 司机认证成为车队长
* */
@POST(BASE_URL + "driver/driver/authenticationCaptain")
- fun authenticationCaptain(@Body bankBean: AuthTeamBean): Observable>
+ fun authenticationCaptain(@Body bankBean: AuthTeamBean): Observable>
/**
@@ -307,6 +307,15 @@ interface Api {
@GET(BASE_URL + "driver/captain/selectDriverList")
fun selectDriverList(@Query("phone") phone: String): Observable>>
+
+ /**
+ * 获取司机详细信息
+ * @return Observable>
+ */
+ @GET(BASE_URL + "driver/driver/getUserDetail")
+ fun getUserDetail(): Observable>
+
+
/**
*
*查询司机所在车队信息
diff --git a/app/src/main/java/com/dahe/gldriver/push/PushHelper.kt b/app/src/main/java/com/dahe/gldriver/push/PushHelper.kt
new file mode 100644
index 0000000..ec8da28
--- /dev/null
+++ b/app/src/main/java/com/dahe/gldriver/push/PushHelper.kt
@@ -0,0 +1,136 @@
+package com.dahe.gldriver.push
+
+import android.app.Notification
+import android.content.Context
+import android.util.Log
+import com.dahe.gldriver.utils.SPUtils
+import com.dahe.glex.bean.UserBean
+import com.umeng.message.PushAgent
+import com.umeng.message.UmengMessageHandler
+import com.umeng.message.UmengNotificationClickHandler
+import com.umeng.message.entity.UMessage
+
+/**
+ * PushSDK集成帮助类
+ */
+object PushHelper {
+ const val TAG = "UPushDemo"
+
+ /**
+ * 推送设置
+ */
+ fun setting(api: PushAgent) {
+ //修改为您app/src/main/AndroidManifest.xml中package值
+ api.resourcePackageName = "com.dahe.gldriver"
+
+ //设置通知栏显示通知的最大个数(0~10),0:不限制个数
+ api.displayNotificationNumber = 0
+
+ //推送消息处理
+ val msgHandler: UmengMessageHandler = object : UmengMessageHandler() {
+ //处理通知栏消息
+ override fun dealWithNotificationMessage(context: Context, msg: UMessage) {
+ super.dealWithNotificationMessage(context, msg)
+ Log.i(TAG, """notification receiver:${msg.raw}""".trimIndent())
+ }
+
+ //自定义通知样式,此方法可以修改通知样式等
+ override fun getNotification(context: Context, msg: UMessage): Notification {
+ return super.getNotification(context, msg)
+ }
+
+ //处理透传消息
+ override fun dealWithCustomMessage(context: Context, msg: UMessage) {
+ super.dealWithCustomMessage(context, msg)
+ Log.i(
+ TAG, """custom receiver:${msg.raw}""".trimIndent()
+ )
+ }
+ }
+ api.messageHandler = msgHandler
+
+ //推送消息点击处理
+ val notificationClickHandler: UmengNotificationClickHandler =
+ object : UmengNotificationClickHandler() {
+ override fun openActivity(context: Context, msg: UMessage) {
+ super.openActivity(context, msg)
+ Log.i(TAG, """click open activity:${msg.raw}""".trimIndent())
+ }
+
+ override fun launchApp(context: Context, msg: UMessage) {
+ super.launchApp(context, msg)
+ Log.i(TAG, """click launch app:${msg.raw}""".trimIndent())
+ }
+
+ override fun openUrl(context: Context, msg: UMessage) {
+ super.openUrl(context, msg)
+ Log.i(TAG, """click open deeplink:${msg.raw}""".trimIndent())
+ }
+
+ override fun dismissNotification(context: Context, msg: UMessage) {
+ super.dismissNotification(context, msg)
+ Log.i(TAG, """dismissNotification:${msg.raw}""".trimIndent())
+ }
+ }
+ api.notificationClickHandler = notificationClickHandler
+
+ //通过Service自定义接收并处理消息
+// api.setPushIntentServiceClass(MyCustomMessageService.class);
+
+ //设置厂商Token回调
+ api.setThirdTokenCallback { type, token -> Log.i(TAG, "push type:$type token:$token") }
+ }
+
+ /**
+ * 注册设备推送通道(小米、华为等设备的推送)
+ */
+ fun registerDevicePush(context: Context?) {
+ //小米推送:填写您在小米后台APP对应的xiaomi id和key
+// MiPushRegistar.register(context, PushConstants.MI_ID, PushConstants.MI_KEY);
+// //华为推送:注意华为推送的初始化参数在AndroidManifest.xml中配置
+// HuaWeiRegister.register(context.getApplicationContext());
+// //魅族推送:填写您在魅族后台APP对应的app id和key
+// MeizuRegister.register(context, PushConstants.MEI_ZU_ID, PushConstants.MEI_ZU_KEY);
+// //OPPO推送:填写您在OPPO后台APP对应的app key和secret
+// OppoRegister.register(context, PushConstants.OPPO_KEY, PushConstants.OPPO_SECRET);
+// //vivo推送:注意vivo推送的初始化参数在AndroidManifest.xml中配置
+// VivoRegister.register(context);
+// //荣耀推送:注意荣耀推送的初始化参数在AndroidManifest.xml中配置
+// HonorRegister.register(context);
+// //谷歌fcm推送
+// FCMRegister.register(context);
+ }
+
+ /**
+ * 绑定别名,绑定成功后可通过别名推送消息
+ */
+ fun setAlias(context: Context, userBean: UserBean) {
+ val alias = userBean.userid
+ val type = "uid"
+ PushAgent.getInstance(context).setAlias(alias, type) { success, message ->
+ val msg: String
+ msg = if (success) {
+ "set alias success! type:$type alias:$alias"
+ } else {
+ "set alias failure! msg:$message"
+ }
+ }
+ }
+
+ /**
+ * 删除别名
+ */
+ fun delete(context: Context) {
+ val alias = SPUtils.instance.getUserInfo(context)?.userid
+ val type = "uid"
+ PushAgent.getInstance(context).deleteAlias(alias, type) { success, message ->
+ val msg: String
+ msg = if (success) {
+ "delete alias success! type:$type alias:$alias"
+ } else {
+ "delete alias failure! msg:$message"
+ }
+ }
+ }
+
+}
diff --git a/app/src/main/java/com/dahe/gldriver/temp/CustomXmlConfig.java b/app/src/main/java/com/dahe/gldriver/temp/CustomXmlConfig.java
new file mode 100644
index 0000000..ac879a2
--- /dev/null
+++ b/app/src/main/java/com/dahe/gldriver/temp/CustomXmlConfig.java
@@ -0,0 +1,91 @@
+package com.dahe.gldriver.temp;
+
+import android.app.Activity;
+import android.content.Intent;
+import android.content.pm.ActivityInfo;
+import android.graphics.Color;
+import android.os.Build;
+import android.view.View;
+import android.widget.ImageView;
+import android.widget.Toast;
+
+import com.bumptech.glide.Glide;
+import com.bumptech.glide.load.engine.DiskCacheStrategy;
+import com.dahe.gldriver.R;
+import com.umeng.umverify.UMVerifyHelper;
+import com.umeng.umverify.view.UMAbstractPnsViewDelegate;
+import com.umeng.umverify.view.UMAuthRegisterXmlConfig;
+import com.umeng.umverify.view.UMAuthUIConfig;
+
+/**
+ * xml文件方便预览
+ * 可以通过addAuthRegisterXmlConfig一次性统一添加授权页的所有自定义view
+ */
+public class CustomXmlConfig extends BaseUIConfig {
+
+ public CustomXmlConfig(Activity activity, UMVerifyHelper authHelper) {
+ super(activity, authHelper);
+ }
+
+ @Override
+ public void configAuthPage() {
+ mAuthHelper.removeAuthRegisterXmlConfig();
+ mAuthHelper.removeAuthRegisterViewConfig();
+ int authPageOrientation = ActivityInfo.SCREEN_ORIENTATION_SENSOR_PORTRAIT;
+ if (Build.VERSION.SDK_INT == 26) {
+ authPageOrientation = ActivityInfo.SCREEN_ORIENTATION_BEHIND;
+ }
+ mAuthHelper.addAuthRegisterXmlConfig(new UMAuthRegisterXmlConfig.Builder()
+ .setLayout(R.layout.custom_full_port, new UMAbstractPnsViewDelegate() {
+ @Override
+ public void onViewCreated(View view) {
+ findViewById(R.id.btn_back).setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ mAuthHelper.quitLoginPage();
+ }
+ });
+
+ ImageView pImageView = (ImageView) findViewById(R.id.iv_background);
+ Glide.with(mContext).load(R.drawable.head_defaut).diskCacheStrategy(DiskCacheStrategy.RESOURCE).into(pImageView);
+
+ findViewById(R.id.tv_switch).setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ Toast.makeText(mContext, "切换到短信登录方式", Toast.LENGTH_SHORT).show();
+// Intent pIntent = new Intent(mActivity, MessageActivity.class);
+// mActivity.startActivityForResult(pIntent, 1002);
+ mAuthHelper.quitLoginPage();
+ }
+ });
+ }
+ })
+ .build());
+ mAuthHelper.setAuthUIConfig(new UMAuthUIConfig.Builder()
+ .setAppPrivacyOne("《自定义隐私协议》", "https://test.h5.app.tbmao.com/user")
+ .setAppPrivacyTwo("《百度》", "https://www.baidu.com")
+ .setAppPrivacyColor(Color.GRAY, Color.parseColor("#002E00"))
+ .setNavHidden(true)
+ .setLogoHidden(true)
+ .setSloganHidden(true)
+ .setSwitchAccHidden(true)
+ .setPrivacyState(false)
+ .setCheckboxHidden(true)
+ .setLightColor(true)
+
+ .setStatusBarColor(Color.TRANSPARENT)
+ .setStatusBarUIFlag(View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN)
+ .setWebNavTextSizeDp(20)
+ .setNumberSizeDp(20)
+ .setNumberColor(Color.BLACK)
+ .setAuthPageActIn("in_activity", "out_activity")
+ .setAuthPageActOut("in_activity", "out_activity")
+ .setVendorPrivacyPrefix("《")
+ .setVendorPrivacySuffix("》")
+ .setPageBackgroundPath("page_background_color")
+ .setLogoImgPath("mytel_app_launcher")
+ .setLogBtnBackgroundPath("login_btn_bg")
+ .setScreenOrientation(authPageOrientation)
+ .create());
+ }
+}
diff --git a/app/src/main/java/com/dahe/gldriver/temp/DialogPortConfig.java b/app/src/main/java/com/dahe/gldriver/temp/DialogPortConfig.java
new file mode 100644
index 0000000..e7edf52
--- /dev/null
+++ b/app/src/main/java/com/dahe/gldriver/temp/DialogPortConfig.java
@@ -0,0 +1,183 @@
+package com.dahe.gldriver.temp;
+
+import android.app.Activity;
+import android.content.Context;
+import android.content.Intent;
+import android.content.pm.ActivityInfo;
+import android.graphics.Color;
+import android.os.Build;
+import android.util.DisplayMetrics;
+import android.view.Surface;
+import android.view.View;
+import android.view.WindowManager;
+import android.widget.Toast;
+
+import com.dahe.gldriver.R;
+import com.dahe.mylibrary.utils.BaseUtils;
+import com.nirvana.tools.core.AppUtils;
+import com.umeng.umverify.UMVerifyHelper;
+import com.umeng.umverify.listener.UMCustomInterface;
+import com.umeng.umverify.view.UMAbstractPnsViewDelegate;
+import com.umeng.umverify.view.UMAuthRegisterViewConfig;
+import com.umeng.umverify.view.UMAuthRegisterXmlConfig;
+import com.umeng.umverify.view.UMAuthUIConfig;
+
+public class DialogPortConfig extends BaseUIConfig {
+ /**
+ * 应用包名
+ */
+ private String mPackageName;
+
+ public DialogPortConfig(Activity activity, UMVerifyHelper authHelper) {
+ super(activity, authHelper);
+ mPackageName = AppUtils.getPackageName(activity);
+ }
+
+ public int mScreenWidthDp;
+ public int mScreenHeightDp;
+
+ @Override
+ public void configAuthPage() {
+ mAuthHelper.removeAuthRegisterXmlConfig();
+ mAuthHelper.removeAuthRegisterViewConfig();
+ int authPageOrientation = ActivityInfo.SCREEN_ORIENTATION_SENSOR_PORTRAIT;
+ if (Build.VERSION.SDK_INT == 26) {
+ authPageOrientation = ActivityInfo.SCREEN_ORIENTATION_BEHIND;
+ }
+ updateScreenSize(authPageOrientation);
+ int dialogWidth = (int) (mScreenWidthDp * 0.8f);
+ int dialogHeight = (int) (mScreenHeightDp * 0.65f);
+ int designHeight = dialogHeight - 50;
+ int unit = designHeight / 10;
+ int logBtnHeight = (int) (unit * 1.2);
+
+// mAuthHelper.addAuthRegistViewConfig("switch_msg", new UMAuthRegisterViewConfig.Builder()
+// .setView(initSwitchView(unit * 6))
+// .setRootViewId(UMAuthRegisterViewConfig.RootViewId.ROOT_VIEW_ID_BODY)
+// .setCustomInterface(new UMCustomInterface() {
+// @Override
+// public void onClick(Context context) {
+// Toast.makeText(mContext, "切换到短信登录方式", Toast.LENGTH_SHORT).show();
+//// Intent pIntent = new Intent(mActivity, MessageActivity.class);
+//// mActivity.startActivityForResult(pIntent, 1002);
+// mAuthHelper.quitLoginPage();
+// }
+// })
+// .build());
+
+// mAuthHelper.addAuthRegisterXmlConfig(new UMAuthRegisterXmlConfig.Builder()
+// .setLayout(R.layout.custom_port_dialog_action_bar, new UMAbstractPnsViewDelegate() {
+// @Override
+// public void onViewCreated(View view) {
+// findViewById(R.id.btn_close).setOnClickListener(new View.OnClickListener() {
+// @Override
+// public void onClick(View v) {
+// mAuthHelper.quitLoginPage();
+// }
+// });
+// }
+// })
+// .build());
+
+ mAuthHelper.setAuthUIConfig(new UMAuthUIConfig.Builder()
+ .setAppPrivacyOne("《自定义隐私协议》232", "https://www.baidu.com")
+ .setAppPrivacyTwo("《自定义隐私协议》2", "https://baijiahao.baidu.com/s?id=1693920988135022454&wfr=spider&for=pc")
+ .setAppPrivacyThree("《自定义隐私协议》3", "http://www.npc.gov.cn/zgrdw/npc/cwhhy/13jcwh/node_35014.htm")
+ .setAppPrivacyColor(Color.GRAY, Color.parseColor("#002E00"))
+ .setPrivacyConectTexts(new String[]{",", "", "和"})
+ .setPrivacyOperatorIndex(2)
+ .setPrivacyState(false)
+ .setCheckboxHidden(true)
+ .setNavHidden(true)
+ .setSwitchAccHidden(true)
+ .setNavReturnHidden(false)
+ .setDialogBottom(false)
+ .setProtocolAction("com.aliqin.mytel.protocolWeb")
+ .setPackageName(mPackageName)
+ .setNavColor(Color.TRANSPARENT)
+ .setWebNavColor(Color.BLUE)
+ .setLogBtnBackgroundDrawable(mContext.getDrawable(R.drawable.bg_btn))
+ .setLogoOffsetY(0)
+ .setLogoWidth(42)
+ .setLogoHeight(42)
+ .setLogoImgPath("mytel_app_launcher")
+
+ .setNumFieldOffsetY(unit + 10)
+ .setNumberSizeDp(17)
+
+ .setLogBtnWidth(dialogWidth - 30)
+ .setLogBtnMarginLeftAndRight(15)
+ .setLogBtnHeight(logBtnHeight)
+ .setLogBtnTextSizeDp(16)
+ .setLogBtnBackgroundPath("login_btn_bg")
+
+ .setLogBtnOffsetY(unit * 4)
+ .setSloganText("为了您的账号安全,请先绑定手机号")
+ .setSloganOffsetY(unit * 3)
+ .setSloganTextSizeDp(11)
+
+ .setPageBackgroundPath("dialog_page_background")
+
+ .setAuthPageActIn("in_activity", "out_activity")
+ .setAuthPageActOut("in_activity", "out_activity")
+ .setVendorPrivacyPrefix("《")
+ .setVendorPrivacySuffix("》")
+ .setDialogWidth(dialogWidth)
+ .setDialogHeight(dialogHeight)
+ .setScreenOrientation(authPageOrientation)
+ .setLogoImgDrawable(mContext.getDrawable(R.drawable.diver_logo))
+ .create());
+ }
+
+ protected void updateScreenSize(int authPageScreenOrientation) {
+ int screenHeightDp = BaseUtils.px2dip(mContext, getPhoneHeightPixels(mContext));
+ int screenWidthDp = BaseUtils.px2dip(mContext, getPhoneWidthPixels(mContext));
+ int rotation = mActivity.getWindowManager().getDefaultDisplay().getRotation();
+ if (authPageScreenOrientation == ActivityInfo.SCREEN_ORIENTATION_BEHIND) {
+ authPageScreenOrientation = mActivity.getRequestedOrientation();
+ }
+ if (authPageScreenOrientation == ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE
+ || authPageScreenOrientation == ActivityInfo.SCREEN_ORIENTATION_SENSOR_LANDSCAPE
+ || authPageScreenOrientation == ActivityInfo.SCREEN_ORIENTATION_USER_LANDSCAPE) {
+ rotation = Surface.ROTATION_90;
+ } else if (authPageScreenOrientation == ActivityInfo.SCREEN_ORIENTATION_PORTRAIT
+ || authPageScreenOrientation == ActivityInfo.SCREEN_ORIENTATION_SENSOR_PORTRAIT
+ || authPageScreenOrientation == ActivityInfo.SCREEN_ORIENTATION_USER_PORTRAIT) {
+ rotation = Surface.ROTATION_180;
+ }
+ switch (rotation) {
+ case Surface.ROTATION_0:
+ case Surface.ROTATION_180:
+ mScreenWidthDp = screenWidthDp;
+ mScreenHeightDp = screenHeightDp;
+ break;
+ case Surface.ROTATION_90:
+ case Surface.ROTATION_270:
+ mScreenWidthDp = screenHeightDp;
+ mScreenHeightDp = screenWidthDp;
+ break;
+ default:
+ break;
+ }
+ }
+
+ public static int getPhoneWidthPixels(Context context) {
+ WindowManager wm = (WindowManager) context.getSystemService(Context.WINDOW_SERVICE);
+ DisplayMetrics var2 = new DisplayMetrics();
+ if (wm != null) {
+ wm.getDefaultDisplay().getMetrics(var2);
+ }
+
+ return var2.widthPixels;
+ }
+
+ public static int getPhoneHeightPixels(Context context) {
+ WindowManager wm = (WindowManager) context.getSystemService(Context.WINDOW_SERVICE);
+ DisplayMetrics var2 = new DisplayMetrics();
+ if (wm != null) {
+ wm.getDefaultDisplay().getMetrics(var2);
+ }
+
+ return var2.heightPixels;
+ }
+}
diff --git a/app/src/main/java/com/dahe/gldriver/ui/account/CodeLoginActivity.kt b/app/src/main/java/com/dahe/gldriver/ui/account/CodeLoginActivity.kt
index 1e50c4c..3bd3414 100644
--- a/app/src/main/java/com/dahe/gldriver/ui/account/CodeLoginActivity.kt
+++ b/app/src/main/java/com/dahe/gldriver/ui/account/CodeLoginActivity.kt
@@ -10,6 +10,7 @@ import com.dahe.gldriver.net.DataManager
import com.dahe.gldriver.net.RxHttpCallBack
import com.dahe.gldriver.ui.HomeActivity
import com.dahe.gldriver.utils.SPUtils
+import com.dahe.gldriver.utils.UserUtils
import com.dahe.glex.bean.UserBean
import com.dahe.mylibrary.base.BaseActivity
import com.dahe.mylibrary.net.CommonResponseBean
@@ -73,21 +74,7 @@ class CodeLoginActivity : BaseActivity(), View.OnClickListe
.subscribe(BaseObserver(mContext, object : RxHttpCallBack(this) {
override fun onSuccess(t: CommonResponseBean) {
super.onSuccess(t)
- SPUtils.instance.setUserInfo(mContext, Gson().toJson(t.data))
- if (t.data.isCarCaptain == "9") {//是否是车队长(0=否,1=是,9=未选择)
- ActivityUtils.startActivity(
- mContext,
- SelectRoleActivity::class.java
- )
- } else {
- ActivityUtils.startActivity(
- mContext,
- HomeActivity::class.java
- )
- }
-
-
- ActivityUtils.finishToActivity(LoginActivity::class.java, true)
+ UserUtils.instance.loginIn(mContext, t.data)
}
}))
diff --git a/app/src/main/java/com/dahe/gldriver/ui/account/authperson/AuthBankCardActivity.kt b/app/src/main/java/com/dahe/gldriver/ui/account/authperson/AuthBankCardActivity.kt
index a8d4e06..fe42b3f 100644
--- a/app/src/main/java/com/dahe/gldriver/ui/account/authperson/AuthBankCardActivity.kt
+++ b/app/src/main/java/com/dahe/gldriver/ui/account/authperson/AuthBankCardActivity.kt
@@ -87,8 +87,8 @@ class AuthBankCardActivity : BaseActivity() {
DataManager.getInstance().setUpDriverBankCard(this)
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
- .subscribe(BaseObserver(mContext, object : RxHttpCallBack() {
- override fun onSuccess(t: CommonResponseBean) {
+ .subscribe(BaseObserver(mContext, object : RxHttpCallBack() {
+ override fun onSuccess(t: CommonResponseBean) {
super.onSuccess(t)
ActivityUtils.startActivity(mContext, AuthFaceActivity::class.java)
}
diff --git a/app/src/main/java/com/dahe/gldriver/ui/account/authperson/AuthDriverActivity.kt b/app/src/main/java/com/dahe/gldriver/ui/account/authperson/AuthDriverActivity.kt
index 98cb2c8..6f7b257 100644
--- a/app/src/main/java/com/dahe/gldriver/ui/account/authperson/AuthDriverActivity.kt
+++ b/app/src/main/java/com/dahe/gldriver/ui/account/authperson/AuthDriverActivity.kt
@@ -98,8 +98,8 @@ class AuthDriverActivity : BaseActivity() {
DataManager.getInstance().setUpDriverLicense(driverInfoBean)
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
- .subscribe(BaseObserver(mContext, object : RxHttpCallBack() {
- override fun onSuccess(t: CommonResponseBean) {
+ .subscribe(BaseObserver(mContext, object : RxHttpCallBack() {
+ override fun onSuccess(t: CommonResponseBean) {
super.onSuccess(t)
ActivityUtils.startActivity(
mContext,
diff --git a/app/src/main/java/com/dahe/gldriver/ui/account/authperson/AuthPersonActivity.kt b/app/src/main/java/com/dahe/gldriver/ui/account/authperson/AuthPersonActivity.kt
index 7c299d4..8c1ded8 100644
--- a/app/src/main/java/com/dahe/gldriver/ui/account/authperson/AuthPersonActivity.kt
+++ b/app/src/main/java/com/dahe/gldriver/ui/account/authperson/AuthPersonActivity.kt
@@ -1,7 +1,10 @@
package com.dahe.gldriver.ui.account.authperson
import android.os.Bundle
+import android.view.View
import com.dahe.gldriver.R
+import com.dahe.gldriver.base.AppConfig
+import com.dahe.gldriver.base.AppConfig.USER_DETAIL
import com.dahe.gldriver.bean.OcrPersonBean
import com.dahe.gldriver.bean.UpPersonInfoBean
import com.dahe.gldriver.databinding.ActivityAuthPersonBinding
@@ -10,6 +13,7 @@ import com.dahe.gldriver.net.DataManager
import com.dahe.gldriver.net.RxHttpCallBack
import com.dahe.gldriver.oss.OssServiceUtil
import com.dahe.gldriver.utils.OcrUtils
+import com.dahe.glex.bean.UserDetail
import com.dahe.mylibrary.base.BaseActivity
import com.dahe.mylibrary.net.CommonResponseBean
import com.dahe.mylibrary.utils.ActivityUtils
@@ -17,6 +21,7 @@ import com.dahe.mylibrary.utils.ImageLoader
import com.dahe.mylibrary.utils.PickerUtils
import com.dahe.mylibrary.utils.PopsUtils
import com.dahe.mylibrary.utils.TimeUtil
+import com.google.gson.Gson
import io.reactivex.rxjava3.android.schedulers.AndroidSchedulers
import io.reactivex.rxjava3.schedulers.Schedulers
import okhttp3.MediaType.Companion.toMediaTypeOrNull
@@ -34,11 +39,13 @@ class AuthPersonActivity : BaseActivity() {
lateinit var ossServiceUtil: OssServiceUtil
+ var isOnlyShow = false
var perInfoBean: UpPersonInfoBean = UpPersonInfoBean()
override fun initView(savedInstanceState: Bundle?) {
setStatusBarColor(R.color.white)
setTitleBar("实名认证", true)
+ isOnlyShow = intent.extras?.getBoolean(AppConfig.IS_ONLY_SHOW, false) == true
ossServiceUtil = OssServiceUtil.getInstance()
binding.run {
@@ -54,8 +61,8 @@ class AuthPersonActivity : BaseActivity() {
DataManager.getInstance().setUpDriverIdCard(perInfoBean)
.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread())
- .subscribe(BaseObserver(mContext,object : RxHttpCallBack(){
- override fun onSuccess(t: CommonResponseBean) {
+ .subscribe(BaseObserver(mContext, object : RxHttpCallBack() {
+ override fun onSuccess(t: CommonResponseBean) {
super.onSuccess(t)
ActivityUtils.startActivity(mContext, AuthDriverActivity::class.java)
}
@@ -81,31 +88,31 @@ class AuthPersonActivity : BaseActivity() {
}
ivFront.setOnClickListener {
- OcrUtils.getInstance().ocrPerson(mContext,this@AuthPersonActivity){picPath,result->
- ImageLoader.getInstance().loadRoundImage(mContext, picPath.locPic, 12, ivFront)
- perInfoBean.idcardFrontUrl = picPath.picPath
- result?.data?.face?.data.let {
- it?.run {
- perInfoBean.run {
- idcardNo = idNumber
- idcardName = name
- idcardEthnicity = ethnicity
- idcardSex = if (sex == "男") "0" else "1"
+ OcrUtils.getInstance()
+ .ocrPerson(mContext, this@AuthPersonActivity) { picPath, result ->
+ ImageLoader.getInstance()
+ .loadRoundImage(mContext, picPath.locPic, 12, ivFront)
+ perInfoBean.idcardFrontUrl = picPath.picPath
+ result?.data?.face?.data.let {
+ it?.run {
+ perInfoBean.run {
+ idcardNo = idNumber
+ idcardName = name
+ idcardEthnicity = ethnicity
+ idcardSex = if (sex == "男") "0" else "1"
+ }
+ }
+ binding.run {
+ etName.setText(it?.name)
+ etId.setText(it?.idNumber)
}
}
- binding.run {
- etName.setText(it?.name)
- etId.setText(it?.idNumber)
- }
}
- }
}
ivBack.setOnClickListener {
PopsUtils.getInstance().showSimSelPic(mContext) {
var data = it[0]
-
-
val path: String
if (data.isCut && !data.isCompressed) {
// 裁剪过
@@ -140,9 +147,12 @@ class AuthPersonActivity : BaseActivity() {
if (it.data.validPeriod?.contains("-") == true) {
val split = it.data.validPeriod.split("-")
binding.run {
- tvStart.text = TimeUtil.changeDateFormat(split[0])
+ tvStart.text =
+ TimeUtil.changeDateFormat(split[0])
tvEnd.text =
- if (split.size == 2) TimeUtil.changeDateFormat(split[1]) else ""
+ if (split.size == 2) TimeUtil.changeDateFormat(
+ split[1]
+ ) else ""
}
}
}
@@ -157,5 +167,41 @@ class AuthPersonActivity : BaseActivity() {
}
override fun initDate() {
+ val data =
+ Gson().fromJson(intent.extras?.getString(USER_DETAIL), UserDetail::class.java)
+ if (isOnlyShow) {
+ binding.run {
+ llBtn.visibility = View.GONE
+ etName.isEnabled = false
+ etId.isEnabled = false
+ tvStart.isEnabled = false
+ tvEnd.isEnabled = false
+ ivFront.isEnabled = false
+ ivBack.isEnabled = false
+
+ etName.setText(data.idcardName)
+ etId.setText(data.idcardNo)
+ tvStart.text = data.idcardEffectiveStart
+ tvEnd.text = data.idcardEffectiveEnd
+ ImageLoader.getInstance()
+ .loadRoundImage(mContext, data.idcardFrontUrl, 12, ivFront)
+ ImageLoader.getInstance()
+ .loadRoundImage(mContext, data.idcardBackUrl, 12, ivBack)
+ }
+ } else {
+ if (data != null) {
+ binding.run {
+ etName.setText(data.idcardName)
+ etId.setText(data.idcardNo)
+ tvStart.text = data.idcardEffectiveStart
+ tvEnd.text = data.idcardEffectiveEnd
+ ImageLoader.getInstance()
+ .loadRoundImage(mContext, data.idcardFrontUrl, 12, ivFront)
+ ImageLoader.getInstance()
+ .loadRoundImage(mContext, data.idcardBackUrl, 12, ivBack)
+ }
+ }
+
+ }
}
}
\ No newline at end of file
diff --git a/app/src/main/java/com/dahe/gldriver/ui/account/authperson/AuthQualificationActivity.kt b/app/src/main/java/com/dahe/gldriver/ui/account/authperson/AuthQualificationActivity.kt
index c5ae32b..94f4cc4 100644
--- a/app/src/main/java/com/dahe/gldriver/ui/account/authperson/AuthQualificationActivity.kt
+++ b/app/src/main/java/com/dahe/gldriver/ui/account/authperson/AuthQualificationActivity.kt
@@ -76,8 +76,8 @@ class AuthQualificationActivity : BaseActivity
DataManager.getInstance().setUpDriverQualificationCertificate(upQuaInfo)
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
- .subscribe(BaseObserver(mContext, object : RxHttpCallBack() {
- override fun onSuccess(t: CommonResponseBean) {
+ .subscribe(BaseObserver(mContext, object : RxHttpCallBack() {
+ override fun onSuccess(t: CommonResponseBean) {
super.onSuccess(t)
ActivityUtils.startActivity(mContext, AuthBankCardActivity::class.java)
}
diff --git a/app/src/main/java/com/dahe/gldriver/ui/account/authperson/AuthRoadActivity.kt b/app/src/main/java/com/dahe/gldriver/ui/account/authperson/AuthRoadActivity.kt
index b963a3f..4a40390 100644
--- a/app/src/main/java/com/dahe/gldriver/ui/account/authperson/AuthRoadActivity.kt
+++ b/app/src/main/java/com/dahe/gldriver/ui/account/authperson/AuthRoadActivity.kt
@@ -64,8 +64,8 @@ class AuthRoadActivity : BaseActivity() {
DataManager.getInstance().setUpRoadLicense(upRoad)
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
- .subscribe(BaseObserver(mContext, object : RxHttpCallBack() {
- override fun onSuccess(t: CommonResponseBean) {
+ .subscribe(BaseObserver(mContext, object : RxHttpCallBack() {
+ override fun onSuccess(t: CommonResponseBean) {
super.onSuccess(t)
ActivityUtils.startActivity(mContext, AuthSuccActivity::class.java)
}
diff --git a/app/src/main/java/com/dahe/gldriver/ui/account/authteam/AuthTeamActivity.kt b/app/src/main/java/com/dahe/gldriver/ui/account/authteam/AuthTeamActivity.kt
index ef79baf..344f336 100644
--- a/app/src/main/java/com/dahe/gldriver/ui/account/authteam/AuthTeamActivity.kt
+++ b/app/src/main/java/com/dahe/gldriver/ui/account/authteam/AuthTeamActivity.kt
@@ -225,8 +225,8 @@ class AuthTeamActivity : BaseActivity(), View.OnClickLi
DataManager.getInstance()
.authenticationCaptain(if (checkTeamType == 1) upComInfoBean else upPerInfoBean)
.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread())
- .subscribe(BaseObserver(mContext, object : RxHttpCallBack(this) {
- override fun onSuccess(t: CommonResponseBean) {
+ .subscribe(BaseObserver(mContext, object : RxHttpCallBack(this) {
+ override fun onSuccess(t: CommonResponseBean) {
super.onSuccess(t)
}
}))
diff --git a/app/src/main/java/com/dahe/gldriver/ui/mine/activity/CarDetailActivity.kt b/app/src/main/java/com/dahe/gldriver/ui/mine/activity/CarDetailActivity.kt
new file mode 100644
index 0000000..be1a577
--- /dev/null
+++ b/app/src/main/java/com/dahe/gldriver/ui/mine/activity/CarDetailActivity.kt
@@ -0,0 +1,89 @@
+package com.dahe.gldriver.ui.mine.activity
+
+import android.os.Bundle
+import android.view.View
+import com.dahe.gldriver.databinding.ActivityCarDetailBinding
+import com.dahe.gldriver.databinding.ActivityDriverTeamDetailBinding
+import com.dahe.gldriver.net.BaseObserver
+import com.dahe.gldriver.net.DataManager
+import com.dahe.gldriver.net.RxHttpCallBack
+import com.dahe.gldriver.utils.SPUtils
+import com.dahe.glex.bean.UserDetail
+import com.dahe.mylibrary.base.BaseActivity
+import com.dahe.mylibrary.net.CommonResponseBean
+import io.reactivex.rxjava3.android.schedulers.AndroidSchedulers
+import io.reactivex.rxjava3.schedulers.Schedulers
+
+/**
+ * @ClassName CarDetailActivity
+ * @Author john
+ * @Date 2024/3/21 11:24
+ * @Description TODO
+ */
+class CarDetailActivity : BaseActivity() {
+
+ var doneInfoCount = 0
+ override fun initView(savedInstanceState: Bundle?) {
+ setStatusHeightParams(binding.rlTop)
+ setTitleBar("车辆详情", true)
+ }
+
+ override fun initDate() {
+ DataManager.getInstance().getUserDetail()
+ .subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread())
+ .subscribe(BaseObserver(mContext, object : RxHttpCallBack() {
+ override fun onSuccess(t: CommonResponseBean) {
+ super.onSuccess(t)
+ initViewByData(t.data)
+ }
+ }))
+ }
+
+ private fun initViewByData(data: UserDetail) {
+// userDetail = data
+ binding.run {
+ val userInfo = SPUtils.instance.getUserInfo(mContext)
+ var missInfo = ""
+
+ if (data.idcardNo.isNullOrEmpty()) {
+ tvInfo.text = "证件缺失将无法进行接单"
+ missInfo.plus("行驶证、")
+ } else {
+ doneInfoCount++
+ tvInfo.text = """${data.idcardName} ${data.idcardNo}"""
+ }
+ if (data.licenseNo.isNullOrEmpty()) {
+ tvDriverInfo.text = "证件缺失将无法进行接单"
+ missInfo.plus("挂车行驶证、")
+ } else {
+ doneInfoCount++
+ tvDriverInfo.text = """${data.licenseName} ${data.licenseNo}"""
+ }
+ if (data.qualificationCertificateNo.isNullOrEmpty()) {
+ tvQualiInfo.text = "证件缺失将无法进行接单"
+ missInfo.plus("道路运输许可证、")
+ } else {
+ doneInfoCount++
+ tvQualiInfo.text = """${data.qualificationCertificateNo}"""
+ }
+
+
+ btnNext.text = if (doneInfoCount == 3) "已完成" else "继续认证"
+ tvContent.text = if (missInfo.isNullOrEmpty()) "认证成功,请接单把!!!" else missInfo
+
+
+ llId.visibility = if (data.idcardNo.isNullOrEmpty()) View.GONE else View.VISIBLE
+ btnId.visibility = if (data.idcardNo.isNullOrEmpty()) View.VISIBLE else View.GONE
+
+ llDriver.visibility = if (data.licenseNo.isNullOrEmpty()) View.GONE else View.VISIBLE
+ btnDriver.visibility = if (data.licenseNo.isNullOrEmpty()) View.VISIBLE else View.GONE
+ llQua.visibility =
+ if (data.qualificationCertificateNo.isNullOrEmpty()) View.GONE else View.VISIBLE
+ btnQua.visibility =
+ if (data.qualificationCertificateNo.isNullOrEmpty()) View.VISIBLE else View.GONE
+
+ circleBarView2.progress = doneInfoCount * 100 / 3
+
+ }
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/dahe/gldriver/ui/mine/activity/CarsManActivity.kt b/app/src/main/java/com/dahe/gldriver/ui/mine/activity/CarsManActivity.kt
index 00b9e36..bdc5c2f 100644
--- a/app/src/main/java/com/dahe/gldriver/ui/mine/activity/CarsManActivity.kt
+++ b/app/src/main/java/com/dahe/gldriver/ui/mine/activity/CarsManActivity.kt
@@ -50,6 +50,9 @@ class CarsManActivity : BaseActivity() {
adapter as CarsAdapter
}.apply {
isStateViewEnable = true
+ setOnItemClickListener{_,_,position->
+ ActivityUtils.startActivity(mContext,CarDetailActivity::class.java)
+ }
addOnItemChildClickListener(R.id.tvUnbind) { adapter, view, position ->
CommonPopUtils.getInstance()
.showCommCenterPop(
diff --git a/app/src/main/java/com/dahe/gldriver/ui/mine/activity/PersonInfoActivity.kt b/app/src/main/java/com/dahe/gldriver/ui/mine/activity/PersonInfoActivity.kt
index 5bebed2..60d346a 100644
--- a/app/src/main/java/com/dahe/gldriver/ui/mine/activity/PersonInfoActivity.kt
+++ b/app/src/main/java/com/dahe/gldriver/ui/mine/activity/PersonInfoActivity.kt
@@ -1,9 +1,23 @@
package com.dahe.gldriver.ui.mine.activity
import android.os.Bundle
+import android.view.View
import com.dahe.gldriver.R
+import com.dahe.gldriver.base.AppConfig
import com.dahe.gldriver.databinding.ActivityPersonInfoBinding
+import com.dahe.gldriver.net.BaseObserver
+import com.dahe.gldriver.net.DataManager
+import com.dahe.gldriver.net.RxHttpCallBack
+import com.dahe.gldriver.ui.account.authperson.AuthPersonActivity
+import com.dahe.gldriver.utils.OrderUtils
+import com.dahe.gldriver.utils.SPUtils
+import com.dahe.glex.bean.UserDetail
import com.dahe.mylibrary.base.BaseActivity
+import com.dahe.mylibrary.net.CommonResponseBean
+import com.dahe.mylibrary.utils.ActivityUtils
+import com.google.gson.Gson
+import io.reactivex.rxjava3.android.schedulers.AndroidSchedulers
+import io.reactivex.rxjava3.schedulers.Schedulers
/**
* @ClassName PersonInfoActivity
@@ -11,19 +25,133 @@ import com.dahe.mylibrary.base.BaseActivity
* @Date 2024/2/18 08:47
* @Description TODO
*/
-class PersonInfoActivity : BaseActivity() {
+class PersonInfoActivity : BaseActivity(), View.OnClickListener {
+ var doneInfoCount = 0
+ var userDetail: UserDetail? = null
override fun initView(savedInstanceState: Bundle?) {
setStatusHeightParams(binding.rlTop)
- setTitleBar("实名认证",true)
+ setTitleBar("实名认证", true)
- binding.circleBarView2.run {
- text = "完成度"
- valueText = "10"
- unitText= "%"
- progress = 20
+ binding.run {
+ circleBarView2.run {
+ text = "完成度"
+ unitText = "%"
+ progress = 0
+ }
+ btnId.setOnClickListener(this@PersonInfoActivity)
+ llAgainId.setOnClickListener(this@PersonInfoActivity)
+ llSeeId.setOnClickListener(this@PersonInfoActivity)
+
+ btnDriver.setOnClickListener(this@PersonInfoActivity)
+ llAgainDriver.setOnClickListener(this@PersonInfoActivity)
+ llSeeDriver.setOnClickListener(this@PersonInfoActivity)
+
+
+ btnQua.setOnClickListener(this@PersonInfoActivity)
+ llAgainQua.setOnClickListener(this@PersonInfoActivity)
+ llSeeQua.setOnClickListener(this@PersonInfoActivity)
+
+
+ btnFace.setOnClickListener(this@PersonInfoActivity)
}
}
override fun initDate() {
+ DataManager.getInstance().getUserDetail()
+ .subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread())
+ .subscribe(BaseObserver(mContext, object : RxHttpCallBack() {
+ override fun onSuccess(t: CommonResponseBean) {
+ super.onSuccess(t)
+ initViewByData(t.data)
+ }
+ }))
+ }
+
+ override fun onClick(view: View?) {
+ super.onClick(view)
+ binding.run {
+ when (view?.id) {
+ btnId.id, llAgainId.id -> ActivityUtils.startActivity(
+ mContext,
+ AuthPersonActivity::class.java,
+ Bundle().apply {
+ putBoolean(AppConfig.IS_ONLY_SHOW, false)
+ putString(AppConfig.USER_DETAIL, Gson().toJson(userDetail))
+ })
+
+ llSeeId.id -> ActivityUtils.startActivity(
+ mContext,
+ AuthPersonActivity::class.java,
+ Bundle().apply {
+ putBoolean(AppConfig.IS_ONLY_SHOW, true)
+ putString(AppConfig.USER_DETAIL, Gson().toJson(userDetail))
+ })
+
+ btnDriver.id, llAgainDriver.id -> {}
+ llSeeDriver.id -> {}
+
+ btnQua.id, llAgainQua.id -> {}
+ llSeeQua.id -> {}
+
+ btnFace.id -> {}
+ }
+ }
+
+ }
+
+ private fun initViewByData(data: UserDetail) {
+ userDetail = data
+ binding.run {
+ val userInfo = SPUtils.instance.getUserInfo(mContext)
+ var missInfo = ""
+
+ if (data.idcardNo.isNullOrEmpty()) {
+ tvInfo.text = "证件缺失将无法进行接单"
+ missInfo.plus("身份证、")
+ } else {
+ doneInfoCount++
+ tvInfo.text = """${data.idcardName} ${data.idcardNo}"""
+ }
+ if (data.licenseNo.isNullOrEmpty()) {
+ tvDriverInfo.text = "证件缺失将无法进行接单"
+ missInfo.plus("驾驶证、")
+ } else {
+ doneInfoCount++
+ tvDriverInfo.text = """${data.licenseName} ${data.licenseNo}"""
+ }
+ if (data.qualificationCertificateNo.isNullOrEmpty()) {
+ tvQualiInfo.text = "证件缺失将无法进行接单"
+ missInfo.plus("从业资格证、")
+ } else {
+ doneInfoCount++
+ tvQualiInfo.text = """${data.qualificationCertificateNo}"""
+ }
+
+ if (userInfo?.isRealName == "0") {
+ btnFace.text = "未实名认证将无法进行接单"
+ missInfo.plus("实名认证缺失")
+ } else {
+ doneInfoCount++
+ tvFaceInfo.text = "实名认证成功"
+ }
+
+ btnNext.text = if (doneInfoCount == 4) "已完成" else "继续认证"
+ tvContent.text = if (missInfo.isNullOrEmpty()) "认证成功,请接单把!!!" else missInfo
+
+
+ llId.visibility = if (data.idcardNo.isNullOrEmpty()) View.GONE else View.VISIBLE
+ btnId.visibility = if (data.idcardNo.isNullOrEmpty()) View.VISIBLE else View.GONE
+
+ llDriver.visibility = if (data.licenseNo.isNullOrEmpty()) View.GONE else View.VISIBLE
+ btnDriver.visibility = if (data.licenseNo.isNullOrEmpty()) View.VISIBLE else View.GONE
+ llQua.visibility =
+ if (data.qualificationCertificateNo.isNullOrEmpty()) View.GONE else View.VISIBLE
+ btnQua.visibility =
+ if (data.qualificationCertificateNo.isNullOrEmpty()) View.VISIBLE else View.GONE
+ btnFace.visibility = if (userInfo?.isRealName == "0") View.VISIBLE else View.GONE
+
+ circleBarView2.progress = doneInfoCount * 100 / 4
+
+ }
}
}
\ No newline at end of file
diff --git a/app/src/main/java/com/dahe/gldriver/utils/OneKeyLoginUtils.kt b/app/src/main/java/com/dahe/gldriver/utils/OneKeyLoginUtils.kt
index 0b480e2..ae6fdf0 100644
--- a/app/src/main/java/com/dahe/gldriver/utils/OneKeyLoginUtils.kt
+++ b/app/src/main/java/com/dahe/gldriver/utils/OneKeyLoginUtils.kt
@@ -8,6 +8,8 @@ import com.dahe.gldriver.net.BaseObserver
import com.dahe.gldriver.net.DataManager
import com.dahe.gldriver.net.RxHttpCallBack
import com.dahe.gldriver.temp.AuthPageConfig
+import com.dahe.gldriver.temp.CustomXmlConfig
+import com.dahe.gldriver.temp.DialogPortConfig
import com.dahe.gldriver.temp.FullPortConfig
import com.dahe.gldriver.ui.HomeActivity
import com.dahe.gldriver.ui.account.LoginActivity
@@ -63,20 +65,9 @@ class OneKeyLoginUtils private constructor() {
override fun onSuccess(t: CommonResponseBean) {
super.onSuccess(t)
mPhoneNumberAuthHelper.quitLoginPage()
- SPUtils.instance.setUserInfo(context, Gson().toJson(t.data))
- if (t.data.isCarCaptain == "9") {//是否是车队长(0=否,1=是,9=未选择)
- ActivityUtils.startActivity(
- context,
- SelectRoleActivity::class.java
- )
- } else {
- ActivityUtils.startActivity(
- context,
- HomeActivity::class.java
- )
- }
- ActivityUtils.finishToActivity(LoginActivity::class.java,true)
+ UserUtils.instance.loginIn(context,t.data)
+
}
}))
}
@@ -134,6 +125,7 @@ class OneKeyLoginUtils private constructor() {
}
mUIConfig = FullPortConfig(activity, mPhoneNumberAuthHelper)
+// mUIConfig = DialogPortConfig(activity, mPhoneNumberAuthHelper)
}
private open class CheckListener(context: Context) : UMTokenResultListener {
diff --git a/app/src/main/java/com/dahe/gldriver/utils/UserUtils.kt b/app/src/main/java/com/dahe/gldriver/utils/UserUtils.kt
index 76191e5..cfe37c0 100644
--- a/app/src/main/java/com/dahe/gldriver/utils/UserUtils.kt
+++ b/app/src/main/java/com/dahe/gldriver/utils/UserUtils.kt
@@ -1,7 +1,17 @@
package com.dahe.gldriver.utils
import android.content.Context
+import android.content.Intent
+import com.dahe.gldriver.push.PushHelper
+import com.dahe.gldriver.ui.HomeActivity
+import com.dahe.gldriver.ui.LauncherActivity
+import com.dahe.gldriver.ui.account.LoginActivity
+import com.dahe.gldriver.ui.account.SelectRoleActivity
+import com.dahe.glex.bean.UserBean
+import com.dahe.mylibrary.utils.ActivityUtils
import com.dahe.mylibrary.utils.BaseSPUtils
+import com.dahe.mylibrary.utils.ToastUtils
+import com.google.gson.Gson
class UserUtils private constructor(){
@@ -16,11 +26,31 @@ class UserUtils private constructor(){
fun loginOut(context : Context){
if (null== SPUtils.instance.getUserInfo(context))
return
-// PushAgent.getInstance(context).deleteAlias(SPUtils.getUserInfo(context).userInfo.userId,"uid"){ b, s -> }
-// BaseSPUtils.cleanUserInfo(context)
-// val intent = Intent(context, LauncherActivity::class.java)
-// intent.flags = Intent.FLAG_ACTIVITY_CLEAR_TASK or Intent.FLAG_ACTIVITY_NEW_TASK
-// context.startActivity(intent)
-// ToastUtils.showToast(context, "您的账号再异地登录,请重新登录")
+ //删除推送别名
+ PushHelper.delete(context)
+ BaseSPUtils.cleanUserInfo(context)
+ val intent = Intent(context, LauncherActivity::class.java)
+ intent.flags = Intent.FLAG_ACTIVITY_CLEAR_TASK or Intent.FLAG_ACTIVITY_NEW_TASK
+ context.startActivity(intent)
+ ToastUtils.showToast(context, "您的账号再异地登录,请重新登录")
+ }
+
+ fun loginIn(context: Context,userBean: UserBean){
+ SPUtils.instance.setUserInfo(context, Gson().toJson(userBean))
+ //设置推送别名
+ PushHelper.setAlias(context,userBean)
+ if (userBean.isCarCaptain == "9") {//是否是车队长(0=否,1=是,9=未选择)
+ ActivityUtils.startActivity(
+ context,
+ SelectRoleActivity::class.java
+ )
+ } else {
+ ActivityUtils.startActivity(
+ context,
+ HomeActivity::class.java
+ )
+ }
+ ActivityUtils.finishToActivity(LoginActivity::class.java,true)
+
}
}
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_auth_person.xml b/app/src/main/res/layout/activity_auth_person.xml
index a5ab191..efb6dbf 100644
--- a/app/src/main/res/layout/activity_auth_person.xml
+++ b/app/src/main/res/layout/activity_auth_person.xml
@@ -9,6 +9,7 @@
+
@@ -182,18 +183,21 @@
android:layout_marginLeft="@dimen/dp_10"
android:layout_weight="1"
android:background="@drawable/shape_phone_bg"
+ android:gravity="right|center_vertical"
+ android:hint="请选择开始日期"
+ android:maxLines="1"
android:paddingLeft="@dimen/dp_10"
+ android:paddingRight="@dimen/dp_10"
+ android:singleLine="true"
android:textColor="@color/black"
android:textSize="@dimen/sp_15"
- android:gravity="right|center_vertical"
- android:paddingRight="@dimen/dp_10"
- android:hint="请选择开始日期"
tools:text="1990-05-24">
+
@@ -213,12 +217,14 @@
android:layout_marginLeft="@dimen/dp_10"
android:layout_weight="1"
android:background="@drawable/shape_phone_bg"
+ android:gravity="right|center_vertical"
+ android:hint="请选择结束日期"
+ android:maxLines="1"
android:paddingLeft="@dimen/dp_10"
+ android:paddingRight="@dimen/dp_10"
+ android:singleLine="true"
android:textColor="@color/black"
android:textSize="@dimen/sp_15"
- android:gravity="right|center_vertical"
- android:paddingRight="@dimen/dp_10"
- android:hint="请选择结束日期"
tools:text="1990-05-24">
@@ -233,6 +239,7 @@
android:background="@color/white">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_person_info.xml b/app/src/main/res/layout/activity_person_info.xml
index 53f8945..faa26bf 100644
--- a/app/src/main/res/layout/activity_person_info.xml
+++ b/app/src/main/res/layout/activity_person_info.xml
@@ -32,7 +32,7 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/app/src/main/res/layout/custom_full_port.xml b/app/src/main/res/layout/custom_full_port.xml
new file mode 100644
index 0000000..152f11b
--- /dev/null
+++ b/app/src/main/res/layout/custom_full_port.xml
@@ -0,0 +1,81 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/custom_port_dialog_action_bar.xml b/app/src/main/res/layout/custom_port_dialog_action_bar.xml
new file mode 100644
index 0000000..98aa743
--- /dev/null
+++ b/app/src/main/res/layout/custom_port_dialog_action_bar.xml
@@ -0,0 +1,33 @@
+
+
+
+
+
+
+
\ No newline at end of file