mirror of
https://github.com/commons-app/apps-android-commons.git
synced 2025-10-26 20:33:53 +01:00
Merge pull request #934 from whym/leakcanary
Disable LeakCanary for Robolectric tests
This commit is contained in:
commit
6e52df99a1
2 changed files with 21 additions and 6 deletions
|
|
@ -17,6 +17,7 @@ import android.support.v4.util.LruCache;
|
|||
import com.facebook.drawee.backends.pipeline.Fresco;
|
||||
import com.facebook.stetho.Stetho;
|
||||
import com.squareup.leakcanary.LeakCanary;
|
||||
import com.squareup.leakcanary.RefWatcher;
|
||||
|
||||
import org.acra.ACRA;
|
||||
import org.acra.ReportingInteractionMode;
|
||||
|
|
@ -117,12 +118,8 @@ public class CommonsApplication extends Application {
|
|||
@Override
|
||||
public void onCreate() {
|
||||
super.onCreate();
|
||||
if (LeakCanary.isInAnalyzerProcess(this)) {
|
||||
// This process is dedicated to LeakCanary for heap analysis.
|
||||
// You should not init your app in this process.
|
||||
return;
|
||||
}
|
||||
LeakCanary.install(this);
|
||||
|
||||
setupLeakCanary();
|
||||
|
||||
Timber.plant(new Timber.DebugTree());
|
||||
|
||||
|
|
@ -143,6 +140,13 @@ public class CommonsApplication extends Application {
|
|||
cacheData = new CacheController();
|
||||
}
|
||||
|
||||
protected RefWatcher setupLeakCanary() {
|
||||
if (LeakCanary.isInAnalyzerProcess(this)) {
|
||||
return RefWatcher.DISABLED;
|
||||
}
|
||||
return LeakCanary.install(this);
|
||||
}
|
||||
|
||||
/**
|
||||
* @return Account|null
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -0,0 +1,11 @@
|
|||
package fr.free.nrw.commons;
|
||||
|
||||
import com.squareup.leakcanary.RefWatcher;
|
||||
|
||||
// This class is automatically discovered by Robolectric
|
||||
public class TestCommonsApplication extends CommonsApplication {
|
||||
@Override protected RefWatcher setupLeakCanary() {
|
||||
// No leakcanary in unit tests.
|
||||
return RefWatcher.DISABLED;
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue