From 75612bfbb092c7dd96d034a0db32662e6fd62dc2 Mon Sep 17 00:00:00 2001
From: 18034727885 <973609879@qq.com>
Date: 星期四, 20 八月 2026 13:52:41 +0800
Subject: [PATCH] 优化检测升级逻辑和接口证书验证
---
app/src/main/java/com/driver/igotrip/ui/main/MainActivity.kt | 279 ++++++++++++++++++++++++++++---------------------------
1 files changed, 140 insertions(+), 139 deletions(-)
diff --git a/app/src/main/java/com/driver/igotrip/ui/main/MainActivity.kt b/app/src/main/java/com/driver/igotrip/ui/main/MainActivity.kt
index 6553097..33fb4ff 100644
--- a/app/src/main/java/com/driver/igotrip/ui/main/MainActivity.kt
+++ b/app/src/main/java/com/driver/igotrip/ui/main/MainActivity.kt
@@ -17,20 +17,17 @@
import android.widget.Toast
import cn.sinata.rxnetty.NettyClient
import cn.sinata.xldutils.utils.SPUtils
-import cn.sinata.xldutils.utils.Utils
import cn.sinata.xldutils.utils.clickDelay
import cn.sinata.xldutils.utils.doubleOne
import cn.sinata.xldutils.utils.getVersionName
import cn.sinata.xldutils.utils.gone
import cn.sinata.xldutils.utils.setDrawableLeft
import cn.sinata.xldutils.utils.textColor
-import com.driver.igotrip.BuildConfig
import com.driver.igotrip.R
import com.driver.igotrip.base.BaseEvent
import com.driver.igotrip.base.Const
import com.driver.igotrip.base.MyApplication
import com.driver.igotrip.base.MyBaseActivity
-import com.driver.igotrip.base.OrderTimeOutManager
import com.driver.igotrip.base.gaode.AMapKit
import com.driver.igotrip.bean.BooleanBean
import com.driver.igotrip.bean.HomeDataBean
@@ -60,7 +57,6 @@
import com.driver.mask_talk.utils.toTimeFrench
import com.google.android.gms.maps.GoogleMap
import com.google.android.gms.maps.SupportMapFragment
-import com.google.android.gms.maps.model.LatLng
import com.google.gson.Gson
import com.tbruyelle.rxpermissions2.RxPermissions
import com.wang.avi.AVLoadingIndicatorView
@@ -79,8 +75,8 @@
}
var homeDataBean: HomeDataBean? = null
- /* var navigator: Navigator? = null
- var vehicleReporter: RidesharingVehicleReporter? = null*/
+ /* var navigator: Navigator? = null
+ var vehicleReporter: RidesharingVehicleReporter? = null*/
private val MSG_REFRESH_LOCATIAON = 1
@@ -121,21 +117,21 @@
override fun setContentView() {
setContentView(R.layout.activity_main)
- /* lifecycleScope.launch {
- while (true){
- delay(5000)
- var map = getMapByAny()
- callNet(false,getDriverOrderMessage, map) {
- Log.e("长连接接口消息: ",it.toString() )
- }
- }
- }*/
+ /* lifecycleScope.launch {
+ while (true){
+ delay(5000)
+ var map = getMapByAny()
+ callNet(false,getDriverOrderMessage, map) {
+ Log.e("长连接接口消息: ",it.toString() )
+ }
+ }
+ }*/
}
override fun initView() {
- // setTitleText(getString(R.string.IGO司机))
+ // setTitleText(getString(R.string.IGO司机))
tv_Left.setDrawableLeft(R.mipmap.icon_nav_user)
- // iv_right_title.setImageResource(R.mipmap.icon_nav_news)
+ // iv_right_title.setImageResource(R.mipmap.icon_nav_news)
findViewById<View>(R.id.img_leftuser).setOnClickListener {
startActivity<MineActivity>()
@@ -155,7 +151,7 @@
// showOrder("","12634","1",10,1)
}
- // initDriver()
+ // initDriver()
MyApplication.isLogin = true
beOnDuty(false)
initCall()
@@ -186,41 +182,41 @@
/**
* 初始化司机sdk
*/
- /* private fun initDriver() {
- if (CacheKey.getKeyStr("vehicleId").isNullOrEmpty())
- return
- NavigationApi.getNavigator(
- this, // Activity
- object : NavigationApi.NavigatorListener {
- override fun onError(p0: Int) {
- Log.e(Const.GoogleDriver.TAG, "初始化司机sdk失败$p0")
- }
+ /* private fun initDriver() {
+ if (CacheKey.getKeyStr("vehicleId").isNullOrEmpty())
+ return
+ NavigationApi.getNavigator(
+ this, // Activity
+ object : NavigationApi.NavigatorListener {
+ override fun onError(p0: Int) {
+ Log.e(Const.GoogleDriver.TAG, "初始化司机sdk失败$p0")
+ }
- override fun onNavigatorReady(navigator: Navigator) {
- // Keep a reference to the Navigator (used to configure and start nav)
- this@MainActivity.navigator = navigator
- Log.e(Const.GoogleDriver.TAG, "初始化司机sdk成功")
- val driverContext =
- DriverContext.builder(application)
- //.setProviderId("i-go-odrd-testing")
- .setProviderId("gopost-475301")
- .setVehicleId(CacheKey.getKeyStr("vehicleId"))
- .setAuthTokenFactory(JsonAuthTokenFactory())
- .setNavigator(navigator)
- .setRoadSnappedLocationProvider(
- NavigationApi.getRoadSnappedLocationProvider(
- application
- )
- )
- .setDriverStatusListener(this@MainActivity)
- .build()
- val ridesharingDriverApi = RidesharingDriverApi.createInstance(driverContext)
- vehicleReporter = ridesharingDriverApi.ridesharingVehicleReporter
- vehicleReporter!!.enableLocationTracking()
- }
- }
- )
- }*/
+ override fun onNavigatorReady(navigator: Navigator) {
+ // Keep a reference to the Navigator (used to configure and start nav)
+ this@MainActivity.navigator = navigator
+ Log.e(Const.GoogleDriver.TAG, "初始化司机sdk成功")
+ val driverContext =
+ DriverContext.builder(application)
+ //.setProviderId("i-go-odrd-testing")
+ .setProviderId("gopost-475301")
+ .setVehicleId(CacheKey.getKeyStr("vehicleId"))
+ .setAuthTokenFactory(JsonAuthTokenFactory())
+ .setNavigator(navigator)
+ .setRoadSnappedLocationProvider(
+ NavigationApi.getRoadSnappedLocationProvider(
+ application
+ )
+ )
+ .setDriverStatusListener(this@MainActivity)
+ .build()
+ val ridesharingDriverApi = RidesharingDriverApi.createInstance(driverContext)
+ vehicleReporter = ridesharingDriverApi.ridesharingVehicleReporter
+ vehicleReporter!!.enableLocationTracking()
+ }
+ }
+ )
+ }*/
override fun onRestart() {
super.onRestart()
@@ -234,7 +230,6 @@
}
private fun callTime(type: String) {
- OrderTimeOutManager.instance.init()
var map = getMapByAny()
callNet(Api.getDriverOnlineTime, map) {
var bean = gson.fromJson<TimeBean>(it, TimeBean::class.java)
@@ -283,7 +278,7 @@
}
}
- var qeeOrderView = object : MyApplication.OrderStatueView {
+ private var qeeOrderView = object : MyApplication.OrderStatueView {
override fun orderInfo(data: OrderSimpleData?) {
data?.let {
when (it.orderType) {
@@ -303,7 +298,8 @@
private fun checkGps() {
if (!AMapKit.isLocServiceEnable(this)) {
- DialogUtil.getDelAndSureDialog(this,
+ DialogUtil.getDelAndSureDialog(
+ this,
getString(R.string.查看定位),
getString(R.string.退出),
getString(
@@ -339,37 +335,45 @@
}
private fun callVersion() {
- var map = getMapByAny()
+ val map = getMapByAny()
// map["id"] = CacheKey.getUserId()
- callNet(Api.queryNewData, map) {
- var data = gson.fromJson<VersionBean>(it, VersionBean::class.java)
+ callNet(isUseAllTrustService = true, showDialog = true, api = Api.queryNewData, map = map, clickAction = {
+ val data = gson.fromJson<VersionBean>(it, VersionBean::class.java)
if (data.data.version != "" && data.data.version != getVersionName()) {
- if (data.data.mandatory == 2) {
- DialogUtil.getDelAndSureDialog(
- this,
- getString(R.string.新版本更新),
- data.data.content,
- {},
- {
- browse(data.data.url)
- })
- } else if (data.data.mandatory == 1) {
- DialogUtil.getDelAndSureDialog(
- this,
- getString(R.string.新版本更新),
- data.data.content,
- {
- EventBus.getDefault().post(BaseEvent(BaseEvent.OUT_APP))
- },
- {
- browse(data.data.url)
- })
- } else {
-// toast("已经是最新版本")
+ when (data.data.mandatory) {
+ 2 -> {
+ DialogUtil.getDelAndSureDialog(
+ this,
+ getString(R.string.新版本更新),
+ data.data.content,
+ {},
+ {
+ browse(data.data.url)
+ })
+ }
+
+ 1 -> {
+ DialogUtil.getDelAndSureDialog(
+ this,
+ getString(R.string.新版本更新),
+ data.data.content,
+ {
+ EventBus.getDefault().post(BaseEvent(BaseEvent.OUT_APP))
+ },
+ {
+ browse(data.data.url)
+ })
+ }
+
+ else -> {
+ // toast("已经是最新版本")
+ }
}
} else {
// toast("已经是最新版本")
}
+ }) { _, _ ->
+
}
}
@@ -409,21 +413,17 @@
@SuppressLint("MissingPermission", "CheckResult")
private fun initLocation() {
val fragment = map_view as SupportMapFragment
- AMapKit.initMap(fragment) {
+ AMapKit.initMap(fragment) { it ->
// zmc-remark 测试代码 给个初始位置
// MyApplication.aMapLocation = LatLng(30.659221715540937,104.06676612263988)
-
aMap = it
- RxPermissions(this).request(Manifest.permission.ACCESS_FINE_LOCATION).subscribe {
- if (it) {
- aMap.isMyLocationEnabled = true
- aMap.setOnMyLocationChangeListener {
- it.let { latlon ->
- Log.e("定位==============》", "${it.latitude},${it.longitude}")
- MyApplication.aMapLocation = LatLng(it.latitude, it.longitude)
- }
- }
-
+ aMap.isMyLocationEnabled = true
+ aMap.setOnMyLocationChangeListener {
+ it?.let {
+ Log.e("定位==============》", "${it.latitude},${it.longitude}")
+ MyApplication.setLocation(it.latitude, it.longitude)
+ }
+ }
// val fusedLocationClient = LocationServices.getFusedLocationProviderClient(this)
// val locationRequest = LocationRequest.create().apply {
@@ -439,11 +439,6 @@
// }
// }, Looper.getMainLooper()
// )
-
- } else {
-
- }
- }
}
}
@@ -461,8 +456,8 @@
fun beOnDuty(b: Boolean) {
if (b) {
- // avv_anim.visible()
- // tv_up_avv.visible()
+ // avv_anim.visible()
+ // tv_up_avv.visible()
} else {
avv_anim.gone()
tv_up_avv.gone()
@@ -527,7 +522,7 @@
*/
private fun getFormantDay(time: Long): String {
val language = SPUtils.getString(Const.language)
- return if (language == "en") time.toTimeEnglish() else if (language == "fr") time.toTimeFrench() else time.toTime(
+ return if (language == Const.Language.ENGLISH) time.toTimeEnglish() else if (language == Const.Language.FRENCH) time.toTimeFrench() else time.toTime(
"MM月dd日"
)
}
@@ -568,7 +563,7 @@
clickCallOrder()
}
- private fun clickCallOrder(){
+ private fun clickCallOrder() {
tv_car.clickDelay {
if (homeDataBean?.data?.work == 1) {
callNet(Api.work, getMapByAny()) {
@@ -639,9 +634,8 @@
if (user.data == null) {
return@callNet
}
- val min = 40000
- if (user.data.accountBalance < min) {
- showNoticeAccountBalanceDialog(min)
+ if (!user.data.couldTakeOrder()) {
+ showNoticeAccountBalanceDialog(user.data.orderMinBalance)
return@callNet
}
effectiveCallback.invoke()
@@ -650,32 +644,32 @@
/**显示提示账户余额弹窗
* @param min 最低金额*/
- private fun showNoticeAccountBalanceDialog(min: Int) {
+ private fun showNoticeAccountBalanceDialog(min: String) {
val l = SPUtils.getString(Const.language)
val sure: String
val cancel: String
val content: String
val warn: String
when (l) {
- "fr" -> {
+ Const.Language.FRENCH -> {
sure = getString(R.string.充值)
cancel = "Fermer"
warn = "Rappel"
- content = "Solde inférieur à $min xifa, s'il vous plaît recharger d'abord"
+ content = "Solde inférieur à FCFA$min, s'il vous plaît recharger d'abord"
}
- "ch", "zh" -> {
+ Const.Language.CHINESE, "zh" -> {
sure = getString(R.string.充值)
cancel = "关闭"
warn = "提示"
- content = "余额不足${min}西法,请先充值"
+ content = "余额不足FCFA${min},请先充值"
}
else -> {
sure = getString(R.string.充值)
cancel = "Close"
warn = "Reminder"
- content = "The balance is less than $min Spanish francs, please recharge first"
+ content = "The balance is less than FCFA$min, please recharge first"
}
}
val delAndSureDialog = getDelAndSureDialog(
@@ -690,33 +684,39 @@
it.find<TextView>(R.id.tv_hint_base).text = warn
}
}
+
private fun showPayDialog() {
val l = SPUtils.getString(Const.language)
- val pay:String
- val off:String
- val msg:String
- val warn:String
- when(l){
- "fr"->{
+ val pay: String
+ val off: String
+ val msg: String
+ val warn: String
+ when (l) {
+ Const.Language.FRENCH -> {
pay = "Payer"
off = "Fermer"
warn = "Rappel"
- msg = "Vous avez des frais de règlement en attente de paiement, vous ne pouvez recevoir des commandes qu’après paiement, veuillez payer dès que possible"
+ msg =
+ "Vous avez des frais de règlement en attente de paiement, vous ne pouvez recevoir des commandes qu’après paiement, veuillez payer dès que possible"
}
- "ch","zh"->{
+
+ Const.Language.CHINESE, "zh" -> {
pay = "支付"
off = "关闭"
warn = "提示"
msg = "您有一笔结算费待支付,须支付后才能接单,请尽快支付"
}
- else->{
+
+ else -> {
pay = "Pay"
off = "Close"
warn = "Reminder"
- msg = "You have a settlement fee pending payment, you can only receive orders after payment, please pay as soon as possible"
+ msg =
+ "You have a settlement fee pending payment, you can only receive orders after payment, please pay as soon as possible"
}
}
- val delAndSureDialog = getDelAndSureDialog(this,
+ val delAndSureDialog = getDelAndSureDialog(
+ this,
pay,
off,
msg,
@@ -747,9 +747,9 @@
when (event!!.code) {
BaseEvent.START_CAR -> {
beOnDuty(true)
- /* if (vehicleReporter == null) {
- initDriver()
- }*/
+ /* if (vehicleReporter == null) {
+ initDriver()
+ }*/
initCall()
}
@@ -768,8 +768,8 @@
BaseEvent.OFF_LINE -> {
Thread() {
try {
- /* vehicleReporter?.disableLocationTracking()
- RidesharingDriverApi.clearInstance()*/
+ /* vehicleReporter?.disableLocationTracking()
+ RidesharingDriverApi.clearInstance()*/
} catch (e: Exception) {
}
}.start()
@@ -786,20 +786,21 @@
}
- /* override fun updateStatus(
- p0: DriverContext.DriverStatusListener.StatusLevel,
- p1: DriverContext.DriverStatusListener.StatusCode,
- p2: String,
- p3: Throwable?,
- ) {
- Log.e(
- Const.GoogleDriver.TAG,
- "StatusLevel:${p0.name},StatusCode:${p1},p2:${p2},错误信息:${p3?.message}"
- )
- }
+ /* override fun updateStatus(
+ p0: DriverContext.DriverStatusListener.StatusLevel,
+ p1: DriverContext.DriverStatusListener.StatusCode,
+ p2: String,
+ p3: Throwable?,
+ ) {
+ Log.e(
+ Const.GoogleDriver.TAG,
+ "StatusLevel:${p0.name},StatusCode:${p1},p2:${p2},错误信息:${p3?.message}"
+ )
+ }
+ */
override fun onDestroy() {
super.onDestroy()
- RidesharingDriverApi.clearInstance()
- }*/
+ MyApplication.removeOrderView(qeeOrderView)
+ }
}
\ No newline at end of file
--
Gitblit v1.7.1