[android] disable leak canary during instrumentation tests

This commit is contained in:
Łukasz Paczos
2019-04-02 16:20:08 +02:00
parent dabbe4f92e
commit a75a78242f
4 changed files with 23 additions and 2 deletions

View File

@@ -9,7 +9,7 @@ android {
targetSdkVersion androidVersions.targetSdkVersion
versionCode 13
versionName "6.0.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
testInstrumentationRunner "com.mapbox.mapboxsdk.InstrumentationRunner"
}
compileOptions {

View File

@@ -0,0 +1,10 @@
package com.mapbox.mapboxsdk
import com.mapbox.mapboxsdk.testapp.MapboxApplication
class InstrumentationApplication : MapboxApplication() {
override fun initializeLeakCanary(): Boolean {
// do not initialize leak canary during instrumentation tests
return true
}
}

View File

@@ -0,0 +1,11 @@
package com.mapbox.mapboxsdk
import android.app.Application
import android.content.Context
import android.support.test.runner.AndroidJUnitRunner
class InstrumentationRunner : AndroidJUnitRunner() {
override fun newApplication(cl: ClassLoader?, className: String?, context: Context?): Application {
return super.newApplication(cl, InstrumentationApplication::class.java.name, context)
}
}

View File

@@ -40,7 +40,7 @@ public class MapboxApplication extends Application {
initializeMapbox();
}
private boolean initializeLeakCanary() {
protected boolean initializeLeakCanary() {
if (LeakCanary.isInAnalyzerProcess(this)) {
// This process is dedicated to LeakCanary for heap analysis.
// You should not init your app in this process.