package com.igo.user.ui.trip import android.app.Activity import android.content.Intent import android.view.View import android.widget.TextView import cn.sinata.rxnetty.LogHelper import cn.sinata.xldutils.callPhone import cn.sinata.xldutils.utils.myToast import cn.sinata.xldutils.utils.optInt import cn.sinata.xldutils.utils.toTime import com.facebook.drawee.view.SimpleDraweeView import com.igo.user.IGoApplication import com.igo.user.R import com.igo.user.network.HttpManager import com.igo.user.network.entity.DriverInfo import com.igo.user.network.request import com.igo.user.ui.TransparentStatusBarActivity import org.jetbrains.anko.find import org.jetbrains.anko.startActivity import org.jetbrains.anko.startActivityForResult class TargetOrderActivity:TransparentStatusBarActivity() { override fun setContentView() = R.layout.activity_target_order private val driver by lazy { intent.getParcelableExtra("driver")!! } private val type by lazy { intent.getIntExtra("type",0) } private var startName = "" private var startLat = 0.0 private var startLon = 0.0 private var endName = "" private var endLat = 0.0 private var endLon = 0.0 private val tv_action by lazy { find(R.id.tv_action) } private val iv_call by lazy { find(R.id.iv_call) } private val tv_score by lazy { find(R.id.tv_score) } private val tv_start by lazy { find(R.id.tv_start) } private val tv_end by lazy { find(R.id.tv_end) } private val tv_name by lazy { find(R.id.tv_name) } private val tv_car_info by lazy { find(R.id.tv_car_info) } private val tv_count by lazy { find(R.id.tv_count) } private val iv_header_home by lazy { find(R.id.iv_header_home) } override fun initClick() { iv_call.setOnClickListener { callPhone(driver.phone) } tv_start.setOnClickListener { startActivityForResult(1) } tv_end.setOnClickListener { startActivityForResult(2,"isStart" to false) } tv_action.setOnClickListener { if (endName.isEmpty()){ myToast(getString(R.string.请填写目的地)) }else{ tv_action.isEnabled = false val currentLocation = IGoApplication.getCurrentLocation() HttpManager.addTaxiOrder( endName, endLat, endLon, 2, type, currentLocation.latitude, currentLocation.longitude, startName, startLat, startLon, 0, 0, System.currentTimeMillis().toTime("yyyy-MM-dd HH:mm"), driver.id, null, null, null, 1, type ).request(this, success = { _, data -> data?.let { LogHelper.logRecord("下单orderId:${it.optInt("id")} orderType:${type}") startActivity("type" to type,"id" to it.optInt("id")) setResult(Activity.RESULT_OK) finish() } },error = {_,_-> tv_action.isEnabled = true }) } } } override fun initView() { title = getString(R.string.扫码叫车) startName = intent.getStringExtra("startName")?:"" startLat = intent.getDoubleExtra("startLat",0.0) startLon = intent.getDoubleExtra("startLon",0.0) tv_start.text = startName driver.run { iv_header_home.setImageURI(avatar) tv_name.text = "$name $licensePlate" tv_car_info.text = "$brand·$carColor" tv_score.text = String.format("%.1f",fraction) tv_count.text = getString(R.string.单数,orderNum) tv_action.isEnabled = state == 2 tv_action.text = when(state){ 1->getString(R.string.该司机未上班请稍后在下单) 3->getString(R.string.该司机正在服务请稍后在下单) else->getString(R.string.confirm_order) } } } override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) { super.onActivityResult(requestCode, resultCode, data) if (resultCode == Activity.RESULT_OK&&data!=null){ when(requestCode){ 1->{ startLat = data.getDoubleExtra("lat", 0.0) startLon = data.getDoubleExtra("lon", 0.0) startName = data.getStringExtra("name")?:"" tv_start.text = startName } 2->{ endLat = data.getDoubleExtra("lat", 0.0) endLon = data.getDoubleExtra("lon", 0.0) endName = data.getStringExtra("name")?:"" tv_end.text = endName } } } } }