| | |
| | | import android.os.Message |
| | | import android.provider.Settings |
| | | import android.util.Log |
| | | import android.view.Gravity |
| | | import android.view.View |
| | | import android.widget.ImageView |
| | | import android.widget.LinearLayout |
| | | import android.widget.TextView |
| | | import android.widget.Toast |
| | | import androidx.lifecycle.lifecycleScope |
| | | import cn.sinata.rxnetty.NettyClient |
| | | import cn.sinata.xldutils.utils.SPUtils |
| | | import cn.sinata.xldutils.utils.Utils |
| | |
| | | import com.driver.igotrip.bean.SelectServerModeBean |
| | | import com.driver.igotrip.bean.TimeBean |
| | | import com.driver.igotrip.bean.UpCarInfo |
| | | import com.driver.igotrip.bean.UserBean |
| | | import com.driver.igotrip.bean.VersionBean |
| | | import com.driver.igotrip.netUtls.Api |
| | | import com.driver.igotrip.netUtls.callNet |
| | |
| | | import com.driver.igotrip.ui.DialogUtil |
| | | import com.driver.igotrip.ui.DialogUtil.getDelAndSureDialog |
| | | import com.driver.igotrip.ui.main.event.MineEventActivity |
| | | import com.driver.igotrip.ui.mine.BalanceTopupActivity |
| | | import com.driver.igotrip.ui.mine.ChangeCarActivity |
| | | import com.driver.igotrip.ui.mine.DriverAttestationActivity |
| | | import com.driver.igotrip.ui.mine.MineActivity |
| | |
| | | import com.google.android.gms.maps.SupportMapFragment |
| | | import com.google.android.gms.maps.model.LatLng |
| | | import com.google.gson.Gson |
| | | import com.lzf.easyfloat.EasyFloat |
| | | import com.lzf.easyfloat.enums.ShowPattern |
| | | import com.lzf.easyfloat.enums.SidePattern |
| | | import com.lzf.easyfloat.interfaces.OnInvokeView |
| | | import com.tbruyelle.rxpermissions2.RxPermissions |
| | | import com.wang.avi.AVLoadingIndicatorView |
| | | import kotlinx.coroutines.delay |
| | | import kotlinx.coroutines.launch |
| | | import org.greenrobot.eventbus.EventBus |
| | | import org.greenrobot.eventbus.Subscribe |
| | | import org.jetbrains.anko.browse |
| | | import org.jetbrains.anko.dip |
| | | import org.jetbrains.anko.find |
| | | import org.jetbrains.anko.startActivity |
| | | import org.jetbrains.anko.toast |
| | |
| | | if (bean) { |
| | | showPayDialog() |
| | | } else { |
| | | callNet(Api.queryMyBusiness, getMapByAny()) { |
| | | var bean = gson.fromJson(it, SelectServerModeBean::class.java).data |
| | | if (bean.isEmpty()) { |
| | | toast(getString(R.string.请选择接单业务)) |
| | | return@callNet |
| | | } |
| | | if (bean.size > 1) { |
| | | startActivity<SelectServerModeActivity>() |
| | | } else { |
| | | var map = getMapByAny() |
| | | map["type"] = bean[0].id |
| | | callNet(Api.work, map) { |
| | | var carinfo = gson.fromJson<UpCarInfo>( |
| | | it, |
| | | UpCarInfo::class.java |
| | | ) |
| | | if (carinfo.data?.jumpCode == "200000") { |
| | | DialogUtil.getDelAndSureDialog( |
| | | this, |
| | | getString(R.string.您还没有完善车辆信息), |
| | | {}, |
| | | { |
| | | startActivity<ChangeCarActivity>() |
| | | }) |
| | | } else { |
| | | toast(getString(R.string.上班成功)) |
| | | beOnDuty(true) |
| | | MyApplication.getTTsManager() |
| | | .setVideoText(carinfo.data?.audioUrl) |
| | | CacheKey.putKeyStr( |
| | | "vehicleId", |
| | | carinfo.data?.vehicleId ?: "" |
| | | judgeAccountEffective { |
| | | callNet(Api.queryMyBusiness, getMapByAny()) { |
| | | var bean = gson.fromJson(it, SelectServerModeBean::class.java).data |
| | | if (bean.isEmpty()) { |
| | | toast(getString(R.string.请选择接单业务)) |
| | | return@callNet |
| | | } |
| | | if (bean.size > 1) { |
| | | startActivity<SelectServerModeActivity>() |
| | | } else { |
| | | var map = getMapByAny() |
| | | map["type"] = bean[0].id |
| | | callNet(Api.work, map) { |
| | | var carinfo = gson.fromJson<UpCarInfo>( |
| | | it, |
| | | UpCarInfo::class.java |
| | | ) |
| | | EventBus.getDefault().post(BaseEvent(BaseEvent.START_CAR)) |
| | | if (carinfo.data?.jumpCode == "200000") { |
| | | DialogUtil.getDelAndSureDialog( |
| | | this, |
| | | getString(R.string.您还没有完善车辆信息), |
| | | {}, |
| | | { |
| | | startActivity<ChangeCarActivity>() |
| | | }) |
| | | } else { |
| | | toast(getString(R.string.上班成功)) |
| | | beOnDuty(true) |
| | | MyApplication.getTTsManager() |
| | | .setVideoText(carinfo.data?.audioUrl) |
| | | CacheKey.putKeyStr( |
| | | "vehicleId", |
| | | carinfo.data?.vehicleId ?: "" |
| | | ) |
| | | EventBus.getDefault() |
| | | .post(BaseEvent(BaseEvent.START_CAR)) |
| | | } |
| | | } |
| | | } |
| | | } |
| | |
| | | } |
| | | } |
| | | |
| | | /**判断账户是否有效 |
| | | * @param effectiveCallback 能够操作的回调*/ |
| | | private fun judgeAccountEffective(effectiveCallback: () -> Unit) { |
| | | callNet(Api.queryInfo, getMapByAny()) { |
| | | val user = gson.fromJson<UserBean>(it, UserBean::class.java) |
| | | if (user.data == null) { |
| | | return@callNet |
| | | } |
| | | val min = 40000 |
| | | if (user.data.accountBalance < min) { |
| | | showNoticeAccountBalanceDialog(min) |
| | | return@callNet |
| | | } |
| | | effectiveCallback.invoke() |
| | | } |
| | | } |
| | | |
| | | /**显示提示账户余额弹窗 |
| | | * @param min 最低金额*/ |
| | | private fun showNoticeAccountBalanceDialog(min: Int) { |
| | | val l = SPUtils.getString(Const.language) |
| | | val sure: String |
| | | val cancel: String |
| | | val content: String |
| | | val warn: String |
| | | when (l) { |
| | | "fr" -> { |
| | | sure = getString(R.string.充值) |
| | | cancel = "Fermer" |
| | | warn = "Rappel" |
| | | content = "Solde inférieur à $min xifa, s'il vous plaît recharger d'abord" |
| | | } |
| | | |
| | | "ch", "zh" -> { |
| | | sure = getString(R.string.充值) |
| | | cancel = "关闭" |
| | | warn = "提示" |
| | | content = "余额不足${min}西法,请先充值" |
| | | } |
| | | |
| | | else -> { |
| | | sure = getString(R.string.充值) |
| | | cancel = "Close" |
| | | warn = "Reminder" |
| | | content = "The balance is less than $min Spanish francs, please recharge first" |
| | | } |
| | | } |
| | | val delAndSureDialog = getDelAndSureDialog( |
| | | this, |
| | | sure, |
| | | cancel, |
| | | content, |
| | | {}) { |
| | | startActivity<BalanceTopupActivity>() |
| | | } |
| | | delAndSureDialog.window?.decorView?.let { |
| | | it.find<TextView>(R.id.tv_hint_base).text = warn |
| | | } |
| | | } |
| | | private fun showPayDialog() { |
| | | val l = SPUtils.getString(Const.language) |
| | | val pay:String |