43 lines
1.7 KiB
Java
43 lines
1.7 KiB
Java
package com.squareup.leakcanary;
|
|
|
|
import android.app.Activity;
|
|
import android.app.Application;
|
|
import android.content.Context;
|
|
import com.squareup.leakcanary.internal.ActivityLifecycleCallbacksAdapter;
|
|
|
|
@Deprecated
|
|
/* loaded from: classes.dex */
|
|
public final class ActivityRefWatcher {
|
|
private final Application application;
|
|
private final Application.ActivityLifecycleCallbacks lifecycleCallbacks = new ActivityLifecycleCallbacksAdapter() { // from class: com.squareup.leakcanary.ActivityRefWatcher.1
|
|
@Override // com.squareup.leakcanary.internal.ActivityLifecycleCallbacksAdapter, android.app.Application.ActivityLifecycleCallbacks
|
|
public void onActivityDestroyed(Activity activity) {
|
|
ActivityRefWatcher.this.refWatcher.watch(activity);
|
|
}
|
|
};
|
|
private final RefWatcher refWatcher;
|
|
|
|
private ActivityRefWatcher(Application application, RefWatcher refWatcher) {
|
|
this.application = application;
|
|
this.refWatcher = refWatcher;
|
|
}
|
|
|
|
public static void install(Context context, RefWatcher refWatcher) {
|
|
Application application = (Application) context.getApplicationContext();
|
|
application.registerActivityLifecycleCallbacks(new ActivityRefWatcher(application, refWatcher).lifecycleCallbacks);
|
|
}
|
|
|
|
public static void installOnIcsPlus(Application application, RefWatcher refWatcher) {
|
|
install(application, refWatcher);
|
|
}
|
|
|
|
public void stopWatchingActivities() {
|
|
this.application.unregisterActivityLifecycleCallbacks(this.lifecycleCallbacks);
|
|
}
|
|
|
|
public void watchActivities() {
|
|
stopWatchingActivities();
|
|
this.application.registerActivityLifecycleCallbacks(this.lifecycleCallbacks);
|
|
}
|
|
}
|