36 lines
1.5 KiB
Java
36 lines
1.5 KiB
Java
package com.squareup.leakcanary.internal;
|
|
|
|
import android.app.Activity;
|
|
import android.app.Fragment;
|
|
import android.app.FragmentManager;
|
|
import android.view.View;
|
|
import com.squareup.leakcanary.RefWatcher;
|
|
|
|
/* loaded from: classes.dex */
|
|
class AndroidOFragmentRefWatcher implements FragmentRefWatcher {
|
|
private final FragmentManager.FragmentLifecycleCallbacks fragmentLifecycleCallbacks = new FragmentManager.FragmentLifecycleCallbacks() { // from class: com.squareup.leakcanary.internal.AndroidOFragmentRefWatcher.1
|
|
@Override // android.app.FragmentManager.FragmentLifecycleCallbacks
|
|
public void onFragmentDestroyed(FragmentManager fragmentManager, Fragment fragment) {
|
|
AndroidOFragmentRefWatcher.this.refWatcher.watch(fragment);
|
|
}
|
|
|
|
@Override // android.app.FragmentManager.FragmentLifecycleCallbacks
|
|
public void onFragmentViewDestroyed(FragmentManager fragmentManager, Fragment fragment) {
|
|
View view = fragment.getView();
|
|
if (view != null) {
|
|
AndroidOFragmentRefWatcher.this.refWatcher.watch(view);
|
|
}
|
|
}
|
|
};
|
|
private final RefWatcher refWatcher;
|
|
|
|
AndroidOFragmentRefWatcher(RefWatcher refWatcher) {
|
|
this.refWatcher = refWatcher;
|
|
}
|
|
|
|
@Override // com.squareup.leakcanary.internal.FragmentRefWatcher
|
|
public void watchFragments(Activity activity) {
|
|
activity.getFragmentManager().registerFragmentLifecycleCallbacks(this.fragmentLifecycleCallbacks, true);
|
|
}
|
|
}
|