|
@@ -2,14 +2,17 @@ package com.hzliuzhi.applet.device.pulse.util
|
|
|
|
|
|
|
|
import android.app.Activity
|
|
import android.app.Activity
|
|
|
import android.app.Application
|
|
import android.app.Application
|
|
|
|
|
+import android.content.Context
|
|
|
import android.content.res.Resources
|
|
import android.content.res.Resources
|
|
|
import com.hzliuzhi.applet.core.shared.Payload
|
|
import com.hzliuzhi.applet.core.shared.Payload
|
|
|
import com.hzliuzhi.applet.core.util.proxy
|
|
import com.hzliuzhi.applet.core.util.proxy
|
|
|
import com.hzliuzhi.applet.device.pulse.PulseResult
|
|
import com.hzliuzhi.applet.device.pulse.PulseResult
|
|
|
import com.hzliuzhi.applet.device.pulse.R
|
|
import com.hzliuzhi.applet.device.pulse.R
|
|
|
|
|
+import com.taiyi.tyusbsdk.pulse.ProxyManager
|
|
|
import com.taiyi.tyusbsdk.pulse.TaiyiConfig
|
|
import com.taiyi.tyusbsdk.pulse.TaiyiConfig
|
|
|
import com.taiyi.tyusbsdk.pulse.TaiyiManager
|
|
import com.taiyi.tyusbsdk.pulse.TaiyiManager
|
|
|
import com.taiyi.tyusbsdk.pulse.net.HttpImpl
|
|
import com.taiyi.tyusbsdk.pulse.net.HttpImpl
|
|
|
|
|
+import com.taiyi.tyusbsdk.pulse.net.HttpUtil
|
|
|
import com.taiyi.zhimai.ui.activity.MeasureMainActivity
|
|
import com.taiyi.zhimai.ui.activity.MeasureMainActivity
|
|
|
import kotlinx.coroutines.suspendCancellableCoroutine
|
|
import kotlinx.coroutines.suspendCancellableCoroutine
|
|
|
import kotlin.coroutines.resume
|
|
import kotlin.coroutines.resume
|
|
@@ -40,20 +43,22 @@ object TaiYiUtil {
|
|
|
)
|
|
)
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- fun getReportUrlSync(measureId: String) = TaiyiManager.getInstance().getUrl(measureId)
|
|
|
|
|
- suspend fun getReportUrlUrl(measureId: String) {
|
|
|
|
|
- suspendCancellableCoroutine { cont ->
|
|
|
|
|
|
|
+ private fun getReportUrlSync(measureId: String): String = TaiyiManager.getInstance().getUrl(measureId)
|
|
|
|
|
+ suspend fun getReportUrl(measureId: String, context: Context) = suspendCancellableCoroutine { continuation ->
|
|
|
|
|
+ if (HttpUtil.AuthorizationKey != "Authorization") continuation.resume(getReportUrlSync(measureId))
|
|
|
|
|
+ else run {
|
|
|
|
|
+ HttpUtil.getInstance().getRequestQueue(context.applicationContext)
|
|
|
TaiyiManager.getInstance().getAsyncUrl(measureId, object : HttpImpl<String> {
|
|
TaiyiManager.getInstance().getAsyncUrl(measureId, object : HttpImpl<String> {
|
|
|
override fun showError(message: String?) {
|
|
override fun showError(message: String?) {
|
|
|
- cont.resumeWithException(Exception(message))
|
|
|
|
|
|
|
+ continuation.takeIf { it.isActive }?.resumeWithException(Exception(message))
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
override fun showResponse(url: String) {
|
|
override fun showResponse(url: String) {
|
|
|
- cont.resume(url)
|
|
|
|
|
|
|
+ continuation.takeIf { it.isActive }?.resume(url)
|
|
|
}
|
|
}
|
|
|
})
|
|
})
|
|
|
}
|
|
}
|
|
|
- }
|
|
|
|
|
|
|
+ }.let { ProxyManager.getInstance().pool.entries.firstOrNull { (key, _) -> it.startsWith(key) }?.let { (key, value) -> "$value${it.removePrefix(key)}" } ?: it }
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
private fun Resources.OSSAgency(): TaiyiConfig.OSSAgency {
|
|
private fun Resources.OSSAgency(): TaiyiConfig.OSSAgency {
|