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.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<DriverInfo>("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<TextView>(R.id.tv_action) }
|
private val iv_call by lazy { find<View>(R.id.iv_call) }
|
private val tv_score by lazy { find<TextView>(R.id.tv_score) }
|
private val tv_start by lazy { find<TextView>(R.id.tv_start) }
|
private val tv_end by lazy { find<TextView>(R.id.tv_end) }
|
private val tv_name by lazy { find<TextView>(R.id.tv_name) }
|
private val tv_car_info by lazy { find<TextView>(R.id.tv_car_info) }
|
private val tv_count by lazy { find<TextView>(R.id.tv_count) }
|
private val iv_header_home by lazy { find<SimpleDraweeView>(R.id.iv_header_home) }
|
|
|
override fun initClick() {
|
iv_call.setOnClickListener {
|
callPhone(driver.phone)
|
}
|
tv_start.setOnClickListener {
|
startActivityForResult<ChoosePositionActivity>(1)
|
}
|
tv_end.setOnClickListener {
|
startActivityForResult<ChoosePositionActivity>(2,"isStart" to false)
|
}
|
tv_action.setOnClickListener {
|
if (endName.isEmpty()){
|
myToast(getString(R.string.请填写目的地))
|
}else{
|
tv_action.isEnabled = false
|
HttpManager.addTaxiOrder(endName,endLat,endLon,2,type,IGoApplication.lat,IGoApplication.lon, 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 {
|
startActivity<TripActivity>("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
|
}
|
}
|
}
|
}
|
}
|