Bug 1257667 - Pre: Allow retrieving GeckoApplication's RefWatcher for leak-spotting r?sebastian
MozReview-Commit-ID: GmGxDt72ljq
--- a/mobile/android/base/java/org/mozilla/gecko/GeckoApplication.java
+++ b/mobile/android/base/java/org/mozilla/gecko/GeckoApplication.java
@@ -20,39 +20,47 @@ import org.mozilla.gecko.util.ThreadUtil
import android.app.Application;
import android.content.Context;
import android.content.SharedPreferences;
import android.content.res.Configuration;
import android.os.SystemClock;
import android.util.Log;
import com.squareup.leakcanary.LeakCanary;
+import com.squareup.leakcanary.RefWatcher;
import java.io.File;
public class GeckoApplication extends Application
implements ContextGetter {
private static final String LOG_TAG = "GeckoApplication";
private static volatile GeckoApplication instance;
private boolean mInBackground;
private boolean mPausedGecko;
private LightweightTheme mLightweightTheme;
+ private RefWatcher mRefWatcher;
+
public GeckoApplication() {
super();
instance = this;
}
public static GeckoApplication get() {
return instance;
}
+ public static RefWatcher getRefWatcher(Context context) {
+ GeckoApplication app = (GeckoApplication) context.getApplicationContext();
+ return app.mRefWatcher;
+ }
+
@Override
public Context getContext() {
return this;
}
@Override
public SharedPreferences getSharedPreferences() {
return GeckoSharedPrefs.forApp(this);
@@ -124,17 +132,17 @@ public class GeckoApplication extends Ap
mInBackground = false;
}
@Override
public void onCreate() {
Log.i(LOG_TAG, "zerdatime " + SystemClock.uptimeMillis() + " - Fennec application start");
- LeakCanary.install(this);
+ mRefWatcher = LeakCanary.install(this);
final Context context = getApplicationContext();
HardwareUtils.init(context);
Clipboard.init(context);
FilePicker.init(context);
DownloadsIntegration.init();
HomePanelsManager.getInstance().init(context);