From b24d3588d150e89165447ec85c8e588b1ae2d9b2 Mon Sep 17 00:00:00 2001 From: renwj Date: Thu, 1 Jun 2023 19:33:24 +0800 Subject: [PATCH] =?UTF-8?q?[3.2.0][APM]=20APM=E5=88=9D=E5=A7=8B=E5=8C=96?= =?UTF-8?q?=E5=9C=A8=E8=AF=BB=E6=98=AF=E5=90=A6=E6=98=AFDebug=E6=97=B6,?= =?UTF-8?q?=E5=88=87=E6=8D=A2=E5=88=B0=E5=AD=90=E7=BA=BF=E7=A8=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../api/devatools/apm/IApmEnvProvider.kt | 3 ++ .../apm/ApmCrashReportProvider.java | 32 +++++++++++++------ 2 files changed, 25 insertions(+), 10 deletions(-) diff --git a/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/devatools/apm/IApmEnvProvider.kt b/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/devatools/apm/IApmEnvProvider.kt index 9a4b98bcc8..f7526cc502 100644 --- a/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/devatools/apm/IApmEnvProvider.kt +++ b/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/devatools/apm/IApmEnvProvider.kt @@ -1,10 +1,13 @@ package com.mogo.eagle.core.function.api.devatools.apm +import androidx.annotation.WorkerThread + interface IApmEnvProvider { fun init(buildType: String, netType: String, dockerVersion: String) fun onEnvChanged(buildType: String, netType: String, dockerVersion: String) + @WorkerThread fun isDebugEnabled(): Boolean? } \ No newline at end of file diff --git a/test/crashreport-apmbyte/src/main/java/com/mogo/test/crashreport/apm/ApmCrashReportProvider.java b/test/crashreport-apmbyte/src/main/java/com/mogo/test/crashreport/apm/ApmCrashReportProvider.java index 0f953a63cf..266a399abf 100644 --- a/test/crashreport-apmbyte/src/main/java/com/mogo/test/crashreport/apm/ApmCrashReportProvider.java +++ b/test/crashreport-apmbyte/src/main/java/com/mogo/test/crashreport/apm/ApmCrashReportProvider.java @@ -27,6 +27,10 @@ import com.mogo.test.crashreport.ITestCrashReportProvider; import java.util.HashMap; +import rx.Observable; +import rx.android.schedulers.AndroidSchedulers; +import rx.schedulers.Schedulers; + /** * @author congtaowang @@ -50,16 +54,24 @@ public class ApmCrashReportProvider implements ITestCrashReportProvider { @Override public void init(Context context) { - IApmEnvProvider provider = CallerDevaToolsManager.INSTANCE.apmEnvProvider(); - boolean isDebug = DebugConfig.isDebug(); - if (provider != null) { - Boolean enabled = provider.isDebugEnabled(); - if (enabled != null) { - isDebug = enabled; - } - } - initCrash(context, isDebug); - initApmInsight(context, isDebug); + Observable.defer(() -> { + IApmEnvProvider provider = CallerDevaToolsManager.INSTANCE.apmEnvProvider(); + boolean isDebug = DebugConfig.isDebug(); + if (provider != null) { + Boolean enabled = provider.isDebugEnabled(); + if (enabled != null) { + isDebug = enabled; + } + } + return Observable.just(isDebug); + }) + .subscribeOn(Schedulers.io()) + .observeOn(AndroidSchedulers.mainThread()) + .doOnNext(isDebug -> { + initCrash(context, isDebug); + initApmInsight(context, isDebug); + }).subscribe(); + } private void initCrash(final Context context, boolean isDebug) {