18034727885
2026-07-09 f35664f0ad753df3dc4ca3b47c2f91263973af34
app/src/main/java/com/igo/user/IGoApplication.kt
@@ -1,5 +1,7 @@
package com.igo.user
//import com.umeng.commonsdk.UMConfigure
//import com.umeng.socialize.PlatformConfig
import android.app.Activity
import android.app.Application
import android.content.Intent
@@ -10,15 +12,16 @@
import androidx.fragment.app.Fragment
import androidx.fragment.app.FragmentManager
import androidx.lifecycle.lifecycleScope
import androidx.lifecycle.withResumed
import cn.sinata.rxnetty.LogHelper.initLogs
import cn.sinata.rxnetty.LogHelper.logRecord
import cn.sinata.rxnetty.NettyClient
import cn.sinata.xldutils.activity.BaseActivity
import cn.sinata.xldutils.application.BaseApplication
import cn.sinata.xldutils.utils.LanguageUtil
import cn.sinata.xldutils.utils.SPUtils
import cn.sinata.xldutils.utils.myToast
import com.google.android.gms.maps.MapsInitializer
import com.google.android.gms.maps.model.LatLng
import com.google.android.libraries.places.api.Places
import com.google.gson.Gson
import com.igo.user.dialog.ChooseCardDialog
@@ -28,26 +31,21 @@
import com.igo.user.interfaces.StringCallback
import com.igo.user.network.Apis
import com.igo.user.network.HttpManager
import com.igo.user.network.RRetrofit
import com.igo.user.network.entity.TrippingInfo
import com.igo.user.network.request
import com.igo.user.network.requestByF
import com.igo.user.ui.MainActivity
import com.igo.user.ui.SplashActivity
import com.igo.user.ui.login.LoginActivity
import com.igo.user.ui.trip.TripActivity
import com.igo.user.utils.Const
import com.igo.user.utils.pay.PayListener
import com.igo.user.utils.pay.PayUtil
import com.sinata.download.DownloadLibrary
//import com.umeng.commonsdk.UMConfigure
//import com.umeng.socialize.PlatformConfig
import io.reactivex.Flowable
import io.reactivex.disposables.Disposable
import org.jetbrains.anko.runOnUiThread
import org.jetbrains.anko.startActivity
import org.json.JSONObject
import java.util.concurrent.TimeUnit
import com.google.android.gms.maps.model.LatLng
class IGoApplication : BaseApplication(), Application.ActivityLifecycleCallbacks {
    private val TAG = "IGoApplication"
@@ -62,6 +60,7 @@
        appContext = this
        // initializeRecaptchaClient()
        registerActivityLifecycleCallbacks(this)
        LanguageUtil.setDefaultLanguage(Const.Language.DEFAULT_LANGUAGE)
        DownloadLibrary.init(
            this,
            resources.getIdentifier("ic_launcher", "mipmap", packageName),
@@ -176,7 +175,10 @@
                        }
                        Const.Method.DRIVER_POSITION -> {//司机位置
                            logRecord(TAG,"received DRIVER_POSITION message $json, listeners size ${listeners.size}")
                            logRecord(
                                TAG,
                                "received DRIVER_POSITION message $json, listeners size ${listeners.size}"
                            )
                            val jb = json.optJSONObject("data")
                            jb?.let {
                                val data = Gson().fromJson(jb.toString(), TrippingInfo::class.java)
@@ -303,7 +305,7 @@
                )
                tipDialog.setCallback(object : TipDialog.OnClickCallback {
                    override fun onOk() {
                        confirmDifferencePrice(topAct, orderId, money, 2){
                        confirmDifferencePrice(topAct, orderId, money, 2) {
                            getUserInfoWhenPay(topAct, orderId, money)
                        }
                    }
@@ -353,27 +355,31 @@
    }
    private fun pay(act: BaseActivity, orderId: Int, way: Int, money: Double) {
        HttpManager.payOrderLogisticsSpread(orderId, way).request(act, showDialog = true) { _, data ->
            myToast(getString(R.string.支付成功))
        }
        HttpManager.payOrderLogisticsSpread(orderId, way)
            .request(act, showDialog = true) { _, data ->
                myToast(getString(R.string.支付成功))
            }
    }
    private fun confirmDifferencePrice(act: BaseActivity, orderId: Int, money: Double, state: Int, block: (() -> Unit)? = null) {
        HttpManager.confirmDifferencePrice(orderId, money, state).request(act, showDialog = true) { _, _ ->
            block?.invoke()
        }
    private fun confirmDifferencePrice(
        act: BaseActivity,
        orderId: Int,
        money: Double,
        state: Int,
        block: (() -> Unit)? = null
    ) {
        HttpManager.confirmDifferencePrice(orderId, money, state)
            .request(act, showDialog = true) { _, _ ->
                block?.invoke()
            }
    }
    private fun sendHeart() {
        val userId = SPUtils.instance().getInt(Const.User.USER_ID)
        val token = SPUtils.instance().getString(Const.User.TOKEN)
        if (userId != -1) {
            val language = SPUtils.instance().getString("language", "en")
            val l = when (language) {
                "ch" -> "1"
                "fr" -> "3"
                else -> "2"
            }
            val language = LanguageUtil.getLanguage()
            val l = RRetrofit.getLanguageType(language)
            NettyClient.getInstance()
                .sendMessage("{\"data\":{\"userId\":$userId,\"language\":$l,\"token\":\"$token\",\"type\":1},\"method\":\"PING\",\"code\":200,\"msg\":\"SUCCESS\"}")
        }
@@ -459,7 +465,11 @@
        if (activity is AppCompatActivity) {
            activity.supportFragmentManager.registerFragmentLifecycleCallbacks(object :
                FragmentManager.FragmentLifecycleCallbacks() {
                override fun onFragmentCreated(fm: FragmentManager, f: Fragment, savedInstanceState: Bundle?) {
                override fun onFragmentCreated(
                    fm: FragmentManager,
                    f: Fragment,
                    savedInstanceState: Bundle?
                ) {
                    super.onFragmentCreated(fm, f, savedInstanceState)
                    Log.i("zmc-pageF", "onFragmentCreated: " + f.javaClass.name)
                }