package com.kuanzhai.user.ui
|
|
import android.Manifest
|
import android.app.Activity
|
import android.content.Intent
|
import android.util.Log
|
import android.view.View
|
import android.view.ViewGroup
|
import android.view.animation.AnimationUtils
|
import androidx.core.os.bundleOf
|
import androidx.core.view.GravityCompat
|
import androidx.drawerlayout.widget.DrawerLayout
|
import androidx.fragment.app.Fragment
|
import androidx.fragment.app.FragmentPagerAdapter
|
import androidx.recyclerview.widget.GridLayoutManager
|
import androidx.viewpager.widget.PagerAdapter
|
import cn.sinata.rxnetty.NettyClient
|
import cn.sinata.xldutils.gone
|
import cn.sinata.xldutils.invisible
|
import cn.sinata.xldutils.utils.*
|
import cn.sinata.xldutils.visible
|
import com.flyco.tablayout.listener.OnTabSelectListener
|
import com.kuanzhai.user.KuanzhaiApplication
|
import com.kuanzhai.user.R
|
import com.kuanzhai.user.dialog.*
|
import com.kuanzhai.user.interfaces.StringCallback
|
import com.kuanzhai.user.network.HttpManager
|
import com.kuanzhai.user.network.entity.*
|
import com.kuanzhai.user.network.entity.Function
|
import com.kuanzhai.user.network.request
|
import com.kuanzhai.user.ui.charter.CharterFragment
|
import com.kuanzhai.user.ui.crosscity.*
|
import com.kuanzhai.user.ui.login.LoginActivity
|
import com.kuanzhai.user.ui.logistics.LogisticsFragment
|
import com.kuanzhai.user.ui.menu.*
|
import com.kuanzhai.user.ui.mine.*
|
import com.kuanzhai.user.ui.menu.adapter.MenuAdapter
|
import com.kuanzhai.user.ui.official.OfficialFragment
|
import com.kuanzhai.user.ui.trip.*
|
import com.kuanzhai.user.utils.Const
|
import com.kuanzhai.user.utils.PlaceHolderFragment
|
import com.kuanzhai.user.utils.event.BaseEvent
|
import com.tbruyelle.rxpermissions2.RxPermissions
|
import kotlinx.android.synthetic.main.activity_confirm_cross_order.*
|
import kotlinx.android.synthetic.main.activity_main.*
|
import kotlinx.android.synthetic.main.drawer_mine.*
|
import kotlinx.android.synthetic.main.drawer_mine.tv_name
|
import kotlinx.android.synthetic.main.drawer_mine.tv_score
|
import org.greenrobot.eventbus.EventBus
|
import org.jetbrains.anko.sdk27.coroutines.onClick
|
import org.jetbrains.anko.startActivity
|
import org.jetbrains.anko.startActivityForResult
|
|
class MainActivity : TransparentStatusBarActivity() {
|
override fun setContentView() = R.layout.activity_main
|
|
val isOpen by lazy { //当前城市是否开通,false需要强制选择城市
|
intent.getBooleanExtra("isOpen",false)
|
}
|
var isShowCard = false //是否开启打车卡功能
|
|
private val func by lazy {
|
intent.getParcelableArrayListExtra<Function>("func")
|
}
|
val lat by lazy {
|
intent.getDoubleExtra("lat",0.0)
|
}
|
val lon by lazy {
|
intent.getDoubleExtra("lon",0.0)
|
}
|
//起点信息,传递给扫码下单页面
|
var startLat = 0.0
|
var startLon = 0.0
|
var startName = ""
|
|
var userInfo:UserInfo? = null
|
var businessInfo:BusinessInfo? = null//商家入驻信息
|
private val titles = arrayListOf<String>()
|
var phoneEmergency = "" //报警电话
|
var isTripping = false //是否有进行中的订单,如果没有 拖动地图才查询附近司机数量
|
|
private var checkVoiceRecord = true //检查是否开起行程录音,1.首次进入检查2.切换账号检查
|
|
private val menus = arrayListOf<NewFunBean>()
|
private val adapter = MenuAdapter(menus)
|
|
override fun initClick() {
|
iv_mine.setOnClickListener {
|
if (iv_mine.isSelected){
|
if (fragments[mViewPager.currentItem] is MapTripFragment){
|
taxiFragment.back()
|
}else if (fragments[mViewPager.currentItem] is OfficialFragment){
|
officialFragment.back()
|
}else{
|
logisticsFragment.back(false)
|
}
|
}
|
else if (checkLogin())
|
if (!drawer_main.isDrawerOpen(GravityCompat.START))
|
drawer_main.openDrawer(GravityCompat.START)
|
}
|
|
tv_score.setOnClickListener {
|
userInfo?.apply {
|
startActivity<ScoreActivity>("score" to integral)
|
}
|
}
|
tv_order.setOnClickListener {
|
startActivity<OrderActivity>()
|
}
|
tv_setting.setOnClickListener {
|
startActivityForResult<SettingActivity>(500,"phone" to (userInfo?.phone?:""),"voice" to (userInfo?.soundSet?:""))
|
}
|
tv_city.setOnClickListener {
|
startActivityForResult<ChooseCityActivity>(501)
|
}
|
iv_header_home.setOnClickListener {
|
userInfo?.let {
|
startActivity<UserInfoActivity>("nickName" to it.nickName,"avatar" to it.avatar,
|
"birthday" to it.birthday,"sex" to it.sex)
|
}
|
}
|
tv_coupon.setOnClickListener {
|
startActivity<MyCouponActivity>()
|
}
|
tv_company.setOnClickListener {
|
HttpManager.queryCompany().request(this){_,data->
|
startActivity<MyCompanyActivity>("data" to data)
|
}
|
}
|
tv_order_check.setOnClickListener {
|
startActivity<OrderCheckListActivity>()
|
}
|
tv_safe.setOnClickListener {
|
userInfo?.let {
|
startActivity<SafetyActivity>("state" to it.verified,"emergency" to it.emergencyContact
|
,"phone" to it.emergencyContactNumber,"myPhone" to it.phone)
|
}
|
}
|
tv_wallet.setOnClickListener {
|
userInfo?.let {
|
startActivity<WalletActivity>("balance" to it.balance,"credit" to it.balanceQuota)
|
}
|
}
|
tv_invoice.setOnClickListener {
|
startActivity<TicketOrderActivity>()
|
}
|
tv_share.setOnClickListener {
|
startActivity<ShareAppActivity>()
|
}
|
iv_msg.setOnClickListener {
|
if (checkLogin())
|
startActivity<MsgActivity>()
|
}
|
|
tv_feed_back.setOnClickListener {
|
startActivity<FeedbackActivity>()
|
}
|
tv_service.setOnClickListener {
|
startActivity<ServiceActivity>()
|
}
|
iv_scan.setOnClickListener {
|
if (checkLogin())
|
RxPermissions(this).request(Manifest.permission.CAMERA).subscribe {
|
if (it)
|
startActivity<ScanActivity>("startLat" to startLat,"startLon" to startLon,"startName" to startName)
|
else
|
myToast("请在应用权限页面开启相机权限")
|
}
|
}
|
tv_card.setOnClickListener {
|
startActivity<MyCardActivity>()
|
}
|
tv_close_account.setOnClickListener {
|
HttpManager.getUserUserList().request(this,false,{_,data->
|
if (data.isNullOrEmpty())
|
startActivity<AddCloseAccountActivity>("hasCard" to (userInfo?.payTaxiCar == 1))
|
else
|
startActivity<CloseListActivity>("data" to data)
|
}){_,_->
|
startActivity<AddCloseAccountActivity>()
|
}
|
}
|
tv_join.setOnClickListener {
|
if (businessInfo?.state == "2"){//冻结
|
myToast("您的商家账号已冻结,请联系平台${KuanzhaiApplication.phoneService}")
|
return@setOnClickListener
|
}
|
if (businessInfo?.auditStatus == "2") //已通过
|
startActivity<BusinessCouponActivity>("data" to businessInfo)
|
else if (businessInfo?.auditStatus == "1") //审核中
|
startActivity<BusinessUnCheckActivity>()
|
else
|
startActivity<BusinessInfoActivity>("data" to businessInfo)
|
}
|
iv_more.setOnClickListener {
|
bg_shadow.visible()
|
cl_menu.visible()
|
val loadAnimation = AnimationUtils.loadAnimation(this, R.anim.nemu_top_in)
|
cl_menu.startAnimation(loadAnimation)
|
}
|
bg_shadow.setOnClickListener {
|
closeMenu()
|
}
|
tv_my_publish.setOnClickListener {
|
startActivity<MyPubActivity>()
|
}
|
tv_comment.setOnClickListener {
|
startActivity<MyCommentActivity>()
|
}
|
adapter.setOnItemClickListener { view, position ->
|
closeMenu()
|
when(menus[position].type){
|
//跳转菜单
|
1-> startActivity<WantedActivity>()
|
2-> startActivity<RentCarActivity>()
|
3-> startActivity<BuyCarActivity>()
|
4-> {
|
if (checkRealName())
|
startActivity<RentMyCarActivity>("phone" to userInfo?.phone)
|
}
|
5-> {
|
if (checkRealName())
|
startActivity<SaleMyCarActivity>("phone" to userInfo?.phone)
|
}
|
}
|
}
|
}
|
|
|
private val taxiFragment by lazy {
|
MapTripFragment()
|
}
|
private val crossCityFragment by lazy {
|
CrossCityFragment()
|
}
|
private val logisticsFragment by lazy {
|
LogisticsFragment()
|
}
|
private val charterFragment by lazy {
|
CharterFragment()
|
}
|
private val officialFragment by lazy {
|
OfficialFragment()
|
}
|
private val callFragment by lazy {
|
CallOrderFragment()
|
}
|
private val fragments = arrayListOf<Fragment>()
|
override fun initView() {
|
titleBar.gone()
|
tv_city.text = KuanzhaiApplication.chooseCityName
|
if (isOpen&&func.isNotEmpty()){
|
getPhone()
|
getAgreement()
|
titles.addAll(func.map { it.name })
|
func.forEach {
|
if (it.id in (1..2)&&!fragments.contains(taxiFragment))
|
fragments.add(taxiFragment)
|
else if ((it.id == Const.OrderType.TYPE_CROSS_CITY||it.id == Const.OrderType.TYPE_THROUGH_BUS||it.id == Const.OrderType.TYPE_AIRBUS)&&!fragments.contains(crossCityFragment)){
|
fragments.add(crossCityFragment)
|
} else if (it.id in (4..5)&&!fragments.contains(logisticsFragment))
|
fragments.add(logisticsFragment)
|
else if (it.id == Const.OrderType.TYPE_CHARTER)
|
fragments.add(charterFragment)
|
else if (it.id == Const.OrderType.TYPE_OFFICIAL)
|
fragments.add(officialFragment)
|
else if (it.id == Const.OrderType.TYPE_CALL)
|
fragments.add(callFragment)
|
}
|
}else{
|
titles.addAll(arrayOf("快车/专车","出租车","包车"))
|
fragments.add(taxiFragment)
|
showAlert()
|
}
|
drawer_main.setDrawerLockMode(DrawerLayout.LOCK_MODE_LOCKED_CLOSED)
|
|
mViewPager.adapter = object : FragmentPagerAdapter(supportFragmentManager,0){
|
override fun getItem(position: Int) = fragments[position]
|
|
override fun getCount() = fragments.size
|
|
override fun destroyItem(container: ViewGroup, position: Int, `object`: Any) {
|
// super.destroyItem(container, position, `object`)
|
}
|
|
override fun getItemPosition(`object`: Any): Int {
|
return PagerAdapter.POSITION_NONE
|
}
|
}
|
rv_menu.layoutManager = GridLayoutManager(this,3)
|
rv_menu.adapter = adapter
|
initTab()
|
NettyClient.getInstance().startService()
|
initLocation()
|
if (checkLogin(false))
|
getNewFun()
|
}
|
|
private fun getNewFun(){
|
HttpManager.getShowModular().request(this,false){_,data->
|
//打车卡开关
|
isShowCard = data?.filter { it.type == 7 }?.firstOrNull()?.userShow == 1
|
EventBus.getDefault().post(BaseEvent(Const.Event.EVENT_CARD_SHOW,isShowCard))
|
//商家中心开关
|
val isShowBusiness = data?.filter { it.type == 6 }?.firstOrNull()?.userShow == 1
|
tv_join.visibility = if (isShowBusiness) View.VISIBLE else View.GONE
|
|
val arrayListOf = arrayListOf(3, 5, 2, 4, 1) //正确的菜单顺序
|
menus.clear()
|
arrayListOf.forEach { _it->
|
val firstOrNull = data?.filter { it.type == _it }?.firstOrNull()
|
if (firstOrNull?.userShow == 1)
|
menus.add(firstOrNull)
|
}
|
if (!menus.isNullOrEmpty()){
|
iv_more.visible()
|
adapter.notifyDataSetChanged()
|
}
|
}
|
}
|
|
private fun closeMenu(){
|
bg_shadow.gone()
|
cl_menu.gone()
|
}
|
|
private fun checkRealName():Boolean{
|
return if (userInfo?.verified == 2) true else{
|
val tipDialog = TipDialog()
|
tipDialog.arguments = bundleOf("msg" to "您未实名认证!","ok" to "去认证","cancel" to "取消")
|
tipDialog.setCallback(object :TipDialog.OnClickCallback{
|
override fun onOk() {
|
startActivity<RealNameActivity>("state" to (userInfo?.verified?:0))
|
}
|
|
override fun onCancel() {
|
}
|
})
|
tipDialog.show(supportFragmentManager,"real")
|
false
|
}
|
}
|
|
private fun initLocation() {
|
val disposable =
|
RxPermissions(this@MainActivity).request(Manifest.permission.ACCESS_FINE_LOCATION)
|
.subscribe {
|
if (it) {
|
|
} else {
|
|
}
|
}
|
onBindHelper(disposable)
|
}
|
|
private fun showAlert(){
|
val tipDialog = AlertDialog()
|
tipDialog.setDismissCallback(object :AlertDialog.OnDismiss{
|
override fun onDismiss() {
|
startActivityForResult<ChooseCityActivity>(501)
|
}
|
})
|
tipDialog.show(supportFragmentManager,"city")
|
}
|
|
private fun initTab() {
|
val frags = arrayListOf<Fragment>()
|
(0 until titles.size).forEach {
|
frags.add(PlaceHolderFragment())
|
}
|
tabView.setViewPager(fake_viewpager,titles.toTypedArray(),this,frags)
|
tabView.currentTab = 0
|
if (func.isEmpty())
|
return
|
if (fragments[0] is MapTripFragment)
|
taxiFragment.type = func[0].id
|
else{
|
line_top.visible()
|
if (fragments[0] is LogisticsFragment)
|
logisticsFragment.type = func[0].id
|
else if (fragments.firstOrNull() is CrossCityFragment)
|
crossCityFragment.type = func[0].id
|
}
|
tabView.setOnTabSelectListener(object :OnTabSelectListener{
|
override fun onTabSelect(position: Int) {
|
updateTip(func[position].id)
|
when(func[position].id){
|
Const.OrderType.TYPE_SPECIAL-> {
|
Log.e(Const.Tag,"当前模块为:快车/专车")
|
line_top.gone()
|
mViewPager.currentItem = fragments.indexOf(taxiFragment)
|
taxiFragment.changeType(Const.OrderType.TYPE_SPECIAL)
|
}
|
Const.OrderType.TYPE_TAXI-> {
|
line_top.gone()
|
Log.e(Const.Tag,"当前模块为:出租车")
|
mViewPager.currentItem = fragments.indexOf(taxiFragment)
|
taxiFragment.changeType(Const.OrderType.TYPE_TAXI)
|
}
|
Const.OrderType.TYPE_CROSS_CITY-> {
|
line_top.visible()
|
Log.e(Const.Tag,"当前模块为:跨城出行")
|
mViewPager.currentItem = fragments.indexOf(crossCityFragment)
|
updateTitleVisibility(false,false)
|
crossCityFragment.changeType(Const.OrderType.TYPE_CROSS_CITY)
|
}
|
Const.OrderType.TYPE_THROUGH_BUS-> {
|
line_top.visible()
|
Log.e(Const.Tag,"当前模块为:景区直通车")
|
mViewPager.currentItem = fragments.indexOf(crossCityFragment)
|
updateTitleVisibility(false,false)
|
crossCityFragment.changeType(Const.OrderType.TYPE_THROUGH_BUS)
|
}
|
Const.OrderType.TYPE_AIRBUS-> {
|
line_top.visible()
|
Log.e(Const.Tag,"当前模块为:机场专线")
|
mViewPager.currentItem = fragments.indexOf(crossCityFragment)
|
updateTitleVisibility(false,false)
|
crossCityFragment.changeType(Const.OrderType.TYPE_AIRBUS)
|
}
|
Const.OrderType.TYPE_SAME_CITY-> {
|
Log.e(Const.Tag,"当前模块为:同城物流")
|
mViewPager.currentItem = fragments.indexOf(logisticsFragment)
|
taxiFragment.checkBack()
|
logisticsFragment.changeType(Const.OrderType.TYPE_SAME_CITY)
|
}
|
Const.OrderType.TYPE_TRANS_CROSS-> {
|
Log.e(Const.Tag,"当前模块为:跨城物流")
|
mViewPager.currentItem = fragments.indexOf(logisticsFragment)
|
taxiFragment.checkBack()
|
logisticsFragment.changeType(Const.OrderType.TYPE_TRANS_CROSS)
|
}
|
Const.OrderType.TYPE_CHARTER-> {
|
Log.e(Const.Tag,"当前模块为:包车")
|
mViewPager.currentItem = fragments.indexOf(charterFragment)
|
taxiFragment.checkBack()
|
}
|
Const.OrderType.TYPE_OFFICIAL-> {
|
Log.e(Const.Tag,"当前模块为:公务出行")
|
mViewPager.currentItem = fragments.indexOf(officialFragment)
|
taxiFragment.checkBack()
|
officialFragment.checkPermission()
|
}
|
Const.OrderType.TYPE_CALL-> {
|
Log.e(Const.Tag,"当前模块为:电召")
|
mViewPager.currentItem = fragments.indexOf(callFragment)
|
taxiFragment.checkBack()
|
line_top.gone()
|
updateTitleVisibility(false,false)
|
}
|
}
|
}
|
|
override fun onTabReselect(position: Int) {
|
}
|
})
|
mViewPager.offscreenPageLimit = fragments.size
|
}
|
|
private fun getPhone(){
|
HttpManager.getPhone(KuanzhaiApplication.chooseCityCode).request(this,false){ _, data->
|
data?.let {
|
it.forEach {
|
if (it.type == 1)
|
phoneEmergency = it.phone
|
else if (it.type == 2)
|
KuanzhaiApplication.phoneService = it.phone
|
}
|
}
|
}
|
}
|
|
/**
|
* 查询是否有进行中的订单
|
*/
|
fun queryTripping(){
|
HttpManager.queryServingOrder().request(this,false){_,data->
|
data?.let {
|
if (it.isNullOrEmpty()){
|
isTripping =false
|
if (fragments.contains(taxiFragment))
|
taxiFragment.getDriverNum()
|
tv_tip.onClick { }
|
}else{
|
isTripping = true
|
val order = data[0]
|
tv_tip.text = "您有一笔订单正进行中"
|
tv_tip.setOnClickListener {
|
if (tv_tip.alpha != 0f){
|
if (order.state in (1..6)||order.state == 11)
|
startActivity<TripActivity>("id" to order.orderId,"type" to order.orderType)
|
else if(order.state == 7&&order.orderType == Const.OrderType.TYPE_CROSS_CITY){
|
startActivity<PayCrossActivity>("id" to order.orderId,"type" to order.orderType)
|
} else
|
startActivity<OrderDetailActivity>("id" to order.orderId,"type" to order.orderType)
|
}
|
}
|
}
|
}
|
}
|
}
|
|
private fun queryUserInfo(){
|
HttpManager.queryUserInfo().request(this,false){_,data->
|
userInfo = data
|
data?.run {
|
KuanzhaiApplication.avatar = avatar
|
iv_header_home.setImageURI(avatar)
|
tv_name.text = nickName
|
tv_company.text = "企业认证($companyCount)"
|
tv_order_check.visibility = if (approveOrder == 1) View.VISIBLE else View.GONE
|
tv_order_check.text = "订单审核(${orderCount})"
|
tv_score.text = String.format("当前积分%s",if (integral.isEmpty()) "0" else integral)
|
KuanzhaiApplication.emergency = emergencyContactNumber
|
KuanzhaiApplication.phone = phone
|
if (checkVoiceRecord&&userInfo?.soundSet == "0"){
|
HttpManager.getH5(24).request(this@MainActivity,success = {_,data->
|
data?.apply {
|
checkVoiceRecord = false
|
val h5Dialog = H5Dialog()
|
h5Dialog.arguments = bundleOf("ok" to "去开启","title" to "“宽窄优行”需要使用车内录音权限","content" to optString("content"))
|
h5Dialog.setCallback(object : StringCallback {
|
override fun onRlt(rlt: String) {
|
startActivity<VoiceRecordActivity>("voice" to false)
|
}
|
})
|
h5Dialog.show(supportFragmentManager,"h5")
|
}
|
})
|
}
|
}
|
}
|
}
|
|
private fun queryBusinessInfo(){
|
HttpManager.getMerchant().request(this,false) { _, data ->
|
businessInfo = data
|
if (businessInfo?.auditStatus == "2")
|
tv_join.text = "我的商家中心"
|
else
|
tv_join.text = "入驻成为商家"
|
}
|
}
|
|
private fun queryUnReadNum(){
|
HttpManager.queryUnReadNum().request(this,false){_,data->
|
data?.run {
|
iv_unread.visibility = if (optInt("number")>0) View.VISIBLE else View.GONE
|
}
|
}
|
HttpManager.getMessNum().request(this,false){_,data->
|
data?.run {
|
iv_unread_p.visibility = if (carRental+sellingCarNum>0) View.VISIBLE else View.GONE
|
tv_unread.visibility = if (commentNum>0){
|
tv_unread.text = if (commentNum>99) "99+" else commentNum.toString()
|
View.VISIBLE
|
}else View.GONE
|
}
|
}
|
}
|
|
private fun queryCoupon(){
|
HttpManager.gainMerchantCoupon().request(this,false){_,data->
|
if (data?.isNullOrEmpty() == false){
|
val businessCouponDialog = BusinessCouponDialog()
|
businessCouponDialog.arguments = bundleOf("data" to data)
|
businessCouponDialog.show(supportFragmentManager,"coupon")
|
}
|
}
|
}
|
|
private fun updateTip(orderType:Int) {
|
if (orderType > Const.OrderType.TYPE_TAXI&&orderType!=Const.OrderType.TYPE_OFFICIAL)
|
tv_tip.gone()
|
else
|
tv_tip.visible()
|
}
|
|
fun updateLogisticsTitle(show:Boolean) {
|
tv_logistics_title.visibility = if (show) View.VISIBLE else View.GONE
|
}
|
|
fun updateTabVisibility(show:Boolean) {
|
tabView.visibility = if (show) View.VISIBLE else View.GONE
|
}
|
|
fun updateTipAlpha(f:Float){
|
tv_tip.alpha = f
|
}
|
|
fun updateTipText(t:String){
|
tv_tip.text = t
|
}
|
|
/**
|
* @param isHide true:广告上滑消失 false:下滑显示
|
* @param isChange true:确认订单步骤隐藏 false:返回上一步显示
|
*/
|
fun updateTitleVisibility(isHide:Boolean,isChange:Boolean){
|
cl_title.visibility = if (isHide) View.GONE else View.VISIBLE
|
if (isChange){
|
tv_city.invisible()
|
cl_right.gone()
|
iv_mine.isSelected = true
|
}else{
|
tv_city.visible()
|
cl_right.visible()
|
iv_mine.isSelected = false
|
}
|
}
|
|
private var privacy = "" //隐私协议
|
private var user = "" //用户协议
|
private fun getAgreement(){
|
if (!SPUtils.instance().getBoolean(Const.User.IS_AGREE,false)){
|
HttpManager.getH5(1).request(this){_,data->
|
privacy = data?.optString("content")?:""
|
showPrivacyAgreement()
|
}
|
HttpManager.getH5(2).request(this){_,data->
|
user = data?.optString("content")?:""
|
showPrivacyAgreement()
|
}
|
}else if (isOpen)
|
getAds()
|
}
|
|
private fun showPrivacyAgreement(){
|
if (privacy.isNotEmpty()&&user.isNotEmpty()){
|
val userRuleDialog = UserRuleDialog()
|
userRuleDialog.arguments = bundleOf("privacy" to privacy,"user" to user)
|
userRuleDialog.setDismissCallback(object :UserRuleDialog.OnDismiss{
|
override fun onDismiss() {
|
if (!SPUtils.instance().getBoolean(Const.User.IS_AGREE,false))
|
finish()
|
else
|
getAds()
|
}
|
})
|
userRuleDialog.show(supportFragmentManager,"rule")
|
}
|
}
|
|
private fun getAds(){
|
HttpManager.getAds(1,KuanzhaiApplication.chooseCityCode).request(this,false){ _, data->
|
data?.let {
|
if (it.isNotEmpty()){
|
val bannerDialog = BannerDialog()
|
bannerDialog.arguments = bundleOf("data" to it)
|
bannerDialog.show(supportFragmentManager,"banner")
|
}
|
}
|
}
|
}
|
|
private fun getOfficialPermission(){
|
HttpManager.validPermission().request(this,false){_,data->
|
KuanzhaiApplication.officialPermission = data?.optBoolean("permission",false)?:false
|
}
|
}
|
|
override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
|
super.onActivityResult(requestCode, resultCode, data)
|
if (requestCode == 500&&resultCode == Activity.RESULT_OK){
|
resetLogin()
|
if (data?.getBooleanExtra("toLogin",false) == true)
|
startActivity<LoginActivity>()
|
}else if (requestCode == 501){//选择城市
|
if (resultCode == Activity.RESULT_OK&&data!=null){
|
startActivity<MainActivity>("isOpen" to true,"func" to data.getParcelableArrayListExtra<Function>("func"),
|
"lat" to data.getDoubleExtra("lat",0.0),"lon" to data.getDoubleExtra("lon",0.0))
|
finish()
|
} else if (!isOpen||func.isEmpty()){
|
showAlert()
|
}
|
}
|
}
|
|
/**
|
* 恢复未登录状态
|
*/
|
fun resetLogin(){
|
checkVoiceRecord = true
|
drawer_main.closeDrawer(GravityCompat.START)
|
isTripping = false
|
if (fragments.contains(taxiFragment))
|
taxiFragment.getDriverNum()
|
}
|
|
override fun onResume() {
|
super.onResume()
|
refreshInfo()
|
}
|
|
fun refreshInfo(){
|
if (checkLogin(false)){
|
queryTripping()
|
queryUserInfo()
|
queryBusinessInfo()
|
queryUnReadNum()
|
queryCoupon()
|
if (menus.isEmpty())
|
getNewFun()
|
getOfficialPermission()
|
}
|
}
|
|
override fun onBackPressed() {
|
if (drawer_main.isDrawerOpen(GravityCompat.START))
|
drawer_main.closeDrawer(GravityCompat.START)
|
else if (iv_mine.isSelected&&fragments[mViewPager.currentItem] is LogisticsFragment)
|
logisticsFragment.back(false)
|
else if (iv_mine.isSelected&&fragments[mViewPager.currentItem] is OfficialFragment)
|
officialFragment.back()
|
else if(taxiFragment.checkBack())
|
super.onBackPressed()
|
}
|
}
|