8.7
liugl
2020-08-07 386c12bc80d17252ea05b7bf1cb2e85db2e46767
app/src/main/java/com/okgoincar/base/MyApplication.kt
@@ -3,13 +3,11 @@
import android.app.Activity
import android.app.Application
import android.content.Context
import android.location.Location
import android.os.Build
import android.content.Intent
import android.os.Bundle
import android.os.Handler
import android.os.Looper
import android.util.Log
import androidx.annotation.RequiresApi
import androidx.multidex.MultiDex
import cn.sinata.rxnetty.NettyClient
import cn.sinata.xldutils.BaseApplication
@@ -17,18 +15,21 @@
import com.amap.api.location.AMapLocation
import com.amap.api.track.AMapTrackClient
import com.amap.api.track.ErrorCode
import com.amap.api.track.OnTrackLifecycleListener
import com.amap.api.track.TrackParam
import com.amap.api.track.query.model.*
import com.okgoincar.netUtls.getUserId
import com.okgoincar.utils.Cache.CacheKey
import com.amap.api.track.query.model.AddTerminalRequest
import com.amap.api.track.query.model.QueryTerminalRequest
import com.amap.api.track.query.model.QueryTerminalResponse
import com.google.gson.Gson
import com.okgoincar.base.gpsnav.util.TTSController
import com.okgoincar.bean.CarLocationBean
import com.okgoincar.bean.OrderResData
import com.okgoincar.bean.OrderSimpleData
import com.okgoincar.bean.websocket.HeartBean
import com.okgoincar.netUtls.Api
import com.okgoincar.netUtls.getUserId
import com.okgoincar.netUtls.sendAudio
import com.okgoincar.slab.MySlabBaseActivity
import com.okgoincar.utils.Cache.CacheKey
import org.jetbrains.anko.toast
import org.json.JSONObject
import java.security.SecureRandom
@@ -94,6 +95,17 @@
                            Const.SOCKET_METHOD.OK -> {
                                testReceiveNum++
                            }
                            Const.SOCKET_METHOD.OFFLINE -> {
//                                CacheUtil.get().clear()
//                                NettyClient.getInstance().stopService()
//                                var intent = Intent()
//                                intent.setClass(this, SlabLoginActivity::class.java)
//                                intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK)
//                                startActivity(intent)
//                                Handler(Looper.getMainLooper()).post {
//                                    toast("您的账号已在其他平台登录")
//                                }
                            }
                            Const.SOCKET_METHOD.ORDER_STATUS -> {
                                val orderSimpleData =
                                    Gson().fromJson(
@@ -107,7 +119,9 @@
                                    val act = activities[activities.size - 1]
                                    (act as MySlabBaseActivity).showOrder(
                                        orderSimpleData.orderId.toString(),
                                        orderSimpleData.orderType.toString()
                                        orderSimpleData.orderType.toString(),
                                        orderSimpleData.time,
                                        1
                                    )
                                }
                                if (orderSimpleData.status == 2) {
@@ -117,6 +131,21 @@
                                        orderSimpleData.orderType.toString()
                                    )
                                }
                            }
                            Const.SOCKET_METHOD.REASSIGN -> {
                                val orderSimpleData =
                                    Gson().fromJson(
                                        data,
                                        OrderResData::class.java
                                    )
                                val act = activities[activities.size - 1]
                                (act as MySlabBaseActivity).showOrder(
                                    orderSimpleData.orderId.toString(),
                                    orderSimpleData.orderType.toString(),
                                    30,
                                    2
                                )
                            }
                        }
                    } else {
@@ -278,8 +307,8 @@
            return appContext
        }
        fun getTTsManager():TTSController{
            if (mTtsManager == null){
        fun getTTsManager(): TTSController {
            if (mTtsManager == null) {
                mTtsManager = TTSController.getInstance(getInstance())
                mTtsManager?.init()
            }
@@ -293,8 +322,8 @@
                    return Gson().fromJson(locationStr, AMapLocation::class.java)
                } else {
                    val amap = AMapLocation("")
                    amap.latitude = -1.0
                    amap.longitude = -1.0
                    amap.latitude = 0.0
                    amap.longitude = 0.0
                    return amap
                }
            } else {
@@ -349,6 +378,7 @@
    }
    private val activities = ArrayList<Activity?>()
    private var showNum = 0
    override fun onActivityPaused(activity: Activity?) {
    }
@@ -357,6 +387,7 @@
    }
    override fun onActivityStarted(activity: Activity?) {
        showNum++
    }
    override fun onActivityDestroyed(activity: Activity?) {
@@ -367,9 +398,18 @@
    }
    override fun onActivityStopped(activity: Activity?) {
        showNum--
        Handler(Looper.getMainLooper()).postDelayed({
            if (showNum == 0) {
                getTTsManager().setVideoText("OK出行司机已置于后台,可能会导致听单异常,里程计费差异,请勿切换。")
            }
        }, 600)
    }
    override fun onActivityCreated(activity: Activity?, savedInstanceState: Bundle?) {
        activities.add(activity)
    }
}