Specify parent for disposables explicitly

GitOrigin-RevId: 8497c2813305b81825c3e6faafb08a656f2d7e82
This commit is contained in:
Dmitry Jemerov
2020-05-08 10:13:26 +00:00
committed by intellij-monorepo-bot
parent 30522c3525
commit 7df493f7ce
7 changed files with 14 additions and 24 deletions
@@ -33,6 +33,10 @@ public abstract class CopyPasteManager {
return ServiceManager.getService(CopyPasteManager.class);
}
/**
* @deprecated Please use overload with parent disposable
*/
@Deprecated
public abstract void addContentChangedListener(@NotNull ContentChangedListener listener);
public abstract void addContentChangedListener(@NotNull ContentChangedListener listener, @NotNull Disposable parentDisposable);
@@ -30,6 +30,10 @@ public abstract class FileStatusManager {
public abstract void fileStatusChanged(VirtualFile file);
/**
* @deprecated Please use overload with parent disposable
*/
@Deprecated
public abstract void addFileStatusListener(@NotNull FileStatusListener listener);
public abstract void addFileStatusListener(@NotNull FileStatusListener listener, @NotNull Disposable parentDisposable);
@@ -44,9 +44,9 @@ public class ProjectListBuilder extends AbstractListBuilder {
myPsiTreeChangeListener = new MyPsiTreeChangeListener();
PsiManager.getInstance(myProject).addPsiTreeChangeListener(myPsiTreeChangeListener, this);
myFileStatusListener = new MyFileStatusListener();
FileStatusManager.getInstance(myProject).addFileStatusListener(myFileStatusListener);
FileStatusManager.getInstance(myProject).addFileStatusListener(myFileStatusListener, this);
myCopyPasteListener = new MyCopyPasteListener();
CopyPasteManager.getInstance().addContentChangedListener(myCopyPasteListener);
CopyPasteManager.getInstance().addContentChangedListener(myCopyPasteListener, this);
buildRoot();
}
@@ -85,13 +85,6 @@ public class ProjectListBuilder extends AbstractListBuilder {
return result;
}
@Override
public void dispose() {
super.dispose();
FileStatusManager.getInstance(myProject).removeFileStatusListener(myFileStatusListener);
CopyPasteManager.getInstance().removeContentChangedListener(myCopyPasteListener);
}
public void addUpdateRequest() {
addUpdateRequest(false);
}
@@ -121,7 +121,7 @@ public abstract class TodoTreeBuilder implements Disposable {
}
catch (IndexNotReadyException ignore) {}
FileStatusManager.getInstance(myProject).addFileStatusListener(myFileStatusListener);
FileStatusManager.getInstance(myProject).addFileStatusListener(myFileStatusListener, this);
}
public boolean isDisposed() {
@@ -131,7 +131,6 @@ public abstract class TodoTreeBuilder implements Disposable {
@Override
public final void dispose() {
myDisposed = true;
FileStatusManager.getInstance(myProject).removeFileStatusListener(myFileStatusListener);
}
final boolean isUpdatable() {
@@ -103,7 +103,7 @@ public class UpdateInfoTree extends PanelWithActionsAndCloseButton {
myVcsConfiguration = VcsConfiguration.getInstance(myProject);
myFileStatusManager = FileStatusManager.getInstance(myProject);
myFileStatusManager.addFileStatusListener(myFileStatusListener);
myFileStatusManager.addFileStatusListener(myFileStatusListener, this);
createTree();
init();
myTreeExpander = new DefaultTreeExpander(myTree);
@@ -113,10 +113,6 @@ public class UpdateInfoTree extends PanelWithActionsAndCloseButton {
@Override
public void dispose() {
Disposer.dispose(myRoot);
if (myFileStatusListener != null) {
myFileStatusManager.removeFileStatusListener(myFileStatusListener);
myFileStatusListener = null;
}
}
public void setCanGroupByChangeList(final boolean canGroupByChangeList) {
@@ -59,13 +59,7 @@ public class CoverageViewBuilder extends AbstractListBuilder {
myCoverageViewExtension = ((CoverageViewTreeStructure)myTreeStructure).myData
.getCoverageEngine().createCoverageViewExtension(myProject, ((CoverageViewTreeStructure)myTreeStructure).myData,
((CoverageViewTreeStructure)myTreeStructure).myStateBean);
FileStatusManager.getInstance(myProject).addFileStatusListener(myFileStatusListener);
}
@Override
public void dispose() {
FileStatusManager.getInstance(myProject).removeFileStatusListener(myFileStatusListener);
super.dispose();
FileStatusManager.getInstance(myProject).addFileStatusListener(myFileStatusListener, this);
}
@Override
@@ -51,7 +51,7 @@ public class MarkdownCodeFencePluginCache implements Disposable {
myAdditionalCacheToDelete.addAll(processSourceFileToDelete(event.getFile(), ContainerUtil.emptyList()));
}
}
});
}, this);
}
private static List<File> getPluginSystemPaths() {