package com.fuban.user.ui.crosscity
|
|
import android.app.Activity
|
import android.content.BroadcastReceiver
|
import android.content.Context
|
import android.content.Intent
|
import android.content.IntentFilter
|
import cn.sinata.xldutils.fragment.BaseFragment
|
import cn.sinata.xldutils.gone
|
import cn.sinata.xldutils.utils.myToast
|
import cn.sinata.xldutils.visible
|
import com.fuban.user.R
|
import com.fuban.user.network.HttpManager
|
import com.fuban.user.network.requestByF
|
import com.fuban.user.ui.MainActivity
|
import com.fuban.user.utils.Const
|
import kotlinx.android.synthetic.main.fragment_cross_city.*
|
import org.jetbrains.anko.sdk27.coroutines.onClick
|
import org.jetbrains.anko.support.v4.startActivity
|
import org.jetbrains.anko.support.v4.startActivityForResult
|
|
class CrossCityFragment:BaseFragment() {
|
override fun contentViewId() = R.layout.fragment_cross_city
|
|
private var startId:Int? = null //出发站点
|
private var endId:Int? = null //到达站点
|
private var startCity = ""
|
private var endCity = ""
|
private var receiver:BroadcastReceiver? = null
|
|
override fun onFirstVisibleToUser() {
|
initClick()
|
receiver = object :BroadcastReceiver(){
|
override fun onReceive(context: Context?, intent: Intent?) {
|
if (intent?.action == "crossOrderSuccess"){
|
tv_start.text = ""
|
tv_end.text = ""
|
startId = null
|
endId = null
|
startCity = ""
|
endCity = ""
|
tv_action.gone()
|
}
|
}
|
}
|
activity?.registerReceiver(receiver, IntentFilter("crossOrderSuccess"))
|
}
|
|
private fun initClick() {
|
tv_start.onClick {
|
startActivityForResult<ChooseCityActivity>(Const.RequestCode.START_SITE)
|
}
|
tv_end.onClick {
|
if (startId != null)
|
startActivityForResult<ChooseCityActivity>(Const.RequestCode.END_SITE,"startId" to startId)
|
else
|
myToast("请先选择起点")
|
}
|
tv_action.onClick {
|
if ((activity as MainActivity).checkLogin()){
|
tv_action.isEnabled = false
|
HttpManager.queryLines(startId!!,endId!!).requestByF(this@CrossCityFragment,success = {_,data->
|
tv_action.isEnabled = true
|
data?.apply {
|
when(size){
|
0-> myToast("没有可用线路")
|
1-> startActivity<ShiftActivity>("data" to this[0],"startCity" to startCity,"endCity" to endCity,"startId" to startId,"endId" to endId)
|
else->{
|
startActivity<ChooseLineActivity>("data" to this,"startCity" to startCity,"endCity" to endCity,"startId" to startId,"endId" to endId)
|
}
|
}
|
}
|
}){_,_->
|
tv_action.isEnabled = true
|
}
|
}
|
}
|
}
|
|
override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
|
super.onActivityResult(requestCode, resultCode, data)
|
if (resultCode == Activity.RESULT_OK&&data!=null){
|
if (requestCode == Const.RequestCode.START_SITE){
|
startId = data.getIntExtra("id",0)
|
startCity = data.getStringExtra("city")?:""
|
tv_start.text = data.getStringExtra("name")
|
endId = null
|
tv_end.text = ""
|
tv_action.gone()
|
}else{
|
endId = data.getIntExtra("id",0)
|
endCity = data.getStringExtra("city")?:""
|
tv_end.text = data.getStringExtra("name")
|
// iv_exchange.visible() //刘矩:站点不双向,不要交换按钮
|
tv_action.visible()
|
}
|
}
|
}
|
|
override fun onDestroy() {
|
super.onDestroy()
|
if (receiver!=null)
|
activity?.unregisterReceiver(receiver)
|
}
|
}
|