[6.2.4][Feat]新增QUIC请求延时回调和协议开关

This commit is contained in:
chenfufeng
2023-12-07 20:09:02 +08:00
parent 69ff9ff4f5
commit bb330bdf69
8 changed files with 72 additions and 13 deletions

View File

@@ -11,6 +11,7 @@ import android.os.Build
import android.os.Process
import android.text.Html
import android.util.AttributeSet
import android.util.Log
import android.view.LayoutInflater
import android.view.View
import androidx.annotation.RequiresApi
@@ -21,6 +22,7 @@ import androidx.core.view.MenuCompat
import androidx.core.view.isVisible
import androidx.lifecycle.lifecycleScope
import chassis.Chassis
import com.mogo.cloud.network.cronet.NetworkQualityListener
import com.mogo.cloud.network.cronet.QuicConfig
import com.mogo.cloud.passport.MoGoAiCloudClient
import com.mogo.cloud.passport.MoGoAiCloudClientConfig
@@ -86,6 +88,7 @@ import com.mogo.eagle.core.utilcode.util.*
import com.mogo.map.MogoData.Companion.mogoMapData
import com.mogo.map.uicontroller.VisualAngleMode
import com.mogo.map.uicontroller.VisualAngleMode.*
import com.zhjt.service.chain.ChainLog
import kotlinx.android.synthetic.main.view_debug_setting.view.*
import kotlinx.coroutines.*
import mogo.telematics.pad.MessagePad
@@ -773,7 +776,35 @@ internal class DebugSettingView @JvmOverloads constructor(
FunctionBuildConfig.isObuWarningFusionUnion = isChecked
}
tbCronet.setOnCheckedChangeListener { _, isChecked ->
if (!isChecked) {
CallerDevaToolsManager.setNetworkMode(true)
}
QuicConfig.setEnable(context, isChecked)
QuicConfig.setNetworkListener(object : NetworkQualityListener {
override fun onLatencyObservation(rttMs: Int, url: String?) {
invokeCronetResult("****** Cronet Request Completed, the latency is $rttMs ms;url is $url")
}
override fun onFailed(error: String?, url: String?) {
invokeCronetResult("****** Cronet Request onFailed, error is $error;url is $url")
}
override fun onCanceled(url: String?) {
invokeCronetResult("****** Cronet Request onFailed, url is: $url")
}
override fun onRttObservation(rttMs: Int, whenMs: Long, source: Int) {
invokeCronetResult("rttMs is:$rttMs ms,source is:$source")
}
override fun onThroughputObservation(
throughputKbps: Int,
whenMs: Long,
source: Int
) {
invokeCronetResult("downstream throughput is:$throughputKbps,source is:$source")
}
})
}
//重启工控机所有节点
@@ -2310,4 +2341,13 @@ internal class DebugSettingView @JvmOverloads constructor(
}
}
@ChainLog(
linkChainLog = ChainConstant.CHAIN_TYPE_WEAK_NETWORK,
linkCode = ChainConstant.CHAIN_SOURCE_WEAK_NETWORK,
nodeAliasCode = ChainConstant.CHAIN_CODE_RECORD_WEAK_NETWORK,
paramIndexes = [0]
)
private fun invokeCronetResult(json: String) {
Log.d("CronetNetwork", json)
}
}

View File

@@ -2372,7 +2372,7 @@
android:padding="@dimen/dp_20"
android:background="@drawable/radio_button_normal_background_right"
android:textColor="#000"
android:textOff="开启QUIC协议(服务器暂不支持)"
android:textOff="开启QUIC协议(目前QA环境可用)"
android:textOn="关闭QUIC协议"
android:textSize="@dimen/dp_24" />
</LinearLayout>