Rename WeakListenerHelper to WeakListenerHolder

This commit is contained in:
yushijinhun 2018-09-15 23:24:42 +08:00
parent 4a5ac1b899
commit 09287f9c72
No known key found for this signature in database
GPG Key ID: 5BC167F73EA558E4
4 changed files with 14 additions and 14 deletions

View File

@ -29,7 +29,7 @@ import org.jackhuang.hmcl.game.HMCLCacheRepository;
import org.jackhuang.hmcl.game.HMCLGameRepository;
import org.jackhuang.hmcl.game.Version;
import org.jackhuang.hmcl.mod.ModManager;
import org.jackhuang.hmcl.ui.WeakListenerHelper;
import org.jackhuang.hmcl.ui.WeakListenerHolder;
import org.jackhuang.hmcl.util.*;
import java.io.File;
@ -43,7 +43,7 @@ import static org.jackhuang.hmcl.ui.FXUtils.onInvalidating;
* @author huangyuhui
*/
public final class Profile implements Observable {
private final WeakListenerHelper helper = new WeakListenerHelper();
private final WeakListenerHolder listenerHolder = new WeakListenerHolder();
private final HMCLGameRepository repository;
private final ModManager modManager;
@ -136,7 +136,7 @@ public final class Profile implements Observable {
gameDir.addListener((a, b, newValue) -> repository.changeDirectory(newValue));
this.selectedVersion.addListener(o -> checkSelectedVersion());
helper.add(EventBus.EVENT_BUS.channel(RefreshedVersionsEvent.class).registerWeak(event -> checkSelectedVersion()));
listenerHolder.add(EventBus.EVENT_BUS.channel(RefreshedVersionsEvent.class).registerWeak(event -> checkSelectedVersion()));
addPropertyChangedListener(onInvalidating(this::invalidate));
}

View File

@ -27,10 +27,10 @@ import javafx.collections.WeakListChangeListener;
import java.util.LinkedList;
import java.util.List;
public class WeakListenerHelper {
List<Object> refs = new LinkedList<>();
public class WeakListenerHolder {
private List<Object> refs = new LinkedList<>();
public WeakListenerHelper() {
public WeakListenerHolder() {
}
public WeakInvalidationListener weak(InvalidationListener listener) {

View File

@ -24,7 +24,7 @@ import org.jackhuang.hmcl.event.EventBus;
import org.jackhuang.hmcl.event.RefreshedVersionsEvent;
import org.jackhuang.hmcl.setting.Profile;
import org.jackhuang.hmcl.setting.Profiles;
import org.jackhuang.hmcl.ui.WeakListenerHelper;
import org.jackhuang.hmcl.ui.WeakListenerHolder;
import org.jackhuang.hmcl.ui.construct.AdvancedListItem;
import java.io.File;
@ -32,16 +32,16 @@ import java.io.File;
import static org.jackhuang.hmcl.util.i18n.I18n.i18n;
public class GameAdvancedListItem extends AdvancedListItem {
private final WeakListenerHelper helper = new WeakListenerHelper();
private final WeakListenerHolder listenerHolder = new WeakListenerHolder();
private Profile profile;
private InvalidationListener listener = o -> loadVersion();
public GameAdvancedListItem() {
Profiles.selectedProfileProperty().addListener(helper.weak((a, b, newValue) -> {
Profiles.selectedProfileProperty().addListener(listenerHolder.weak((a, b, newValue) -> {
JFXUtilities.runInFX(() -> loadProfile(newValue));
}));
helper.add(EventBus.EVENT_BUS.channel(RefreshedVersionsEvent.class).registerWeak(event -> {
listenerHolder.add(EventBus.EVENT_BUS.channel(RefreshedVersionsEvent.class).registerWeak(event -> {
JFXUtilities.runInFX(() -> {
if (profile != null && profile.getRepository() == event.getSource())
loadVersion();

View File

@ -31,7 +31,7 @@ import org.jackhuang.hmcl.game.HMCLGameRepository;
import org.jackhuang.hmcl.setting.Profile;
import org.jackhuang.hmcl.setting.Profiles;
import org.jackhuang.hmcl.ui.Controllers;
import org.jackhuang.hmcl.ui.WeakListenerHelper;
import org.jackhuang.hmcl.ui.WeakListenerHolder;
import org.jackhuang.hmcl.ui.decorator.DecoratorPage;
import org.jackhuang.hmcl.ui.download.DownloadWizardProvider;
import org.jackhuang.hmcl.util.VersionNumber;
@ -70,8 +70,8 @@ public class GameList extends Control implements DecoratorPage {
private void loadVersions(HMCLGameRepository repository) {
toggleGroup = new ToggleGroup();
WeakListenerHelper helper = new WeakListenerHelper();
toggleGroup.getProperties().put("ReferenceHolder", helper);
WeakListenerHolder listenerHolder = new WeakListenerHolder();
toggleGroup.getProperties().put("ReferenceHolder", listenerHolder);
List<GameListItem> children = repository.getVersions().parallelStream()
.filter(version -> !version.isHidden())
.sorted((a, b) -> VersionNumber.COMPARATOR.compare(VersionNumber.asVersion(a.getId()), VersionNumber.asVersion(b.getId())))
@ -83,7 +83,7 @@ public class GameList extends Control implements DecoratorPage {
items.setAll(children);
children.forEach(GameListItem::checkSelection);
profile.selectedVersionProperty().addListener(helper.weak((a, b, newValue) -> {
profile.selectedVersionProperty().addListener(listenerHolder.weak((a, b, newValue) -> {
Platform.runLater(() -> {
children.forEach(it -> it.selectedProperty().set(false));
children.stream()