Fetch authlib-injector metadata on startup

This commit is contained in:
yushijinhun
2018-11-23 23:29:41 +08:00
parent ab9f93d68e
commit 37186439cb
2 changed files with 18 additions and 0 deletions

View File

@@ -38,6 +38,7 @@ import org.jackhuang.hmcl.auth.yggdrasil.YggdrasilAccount;
import org.jackhuang.hmcl.auth.yggdrasil.YggdrasilAccountFactory; import org.jackhuang.hmcl.auth.yggdrasil.YggdrasilAccountFactory;
import org.jackhuang.hmcl.task.Schedulers; import org.jackhuang.hmcl.task.Schedulers;
import java.io.IOException;
import java.util.HashMap; import java.util.HashMap;
import java.util.Map; import java.util.Map;
import java.util.Optional; import java.util.Optional;
@@ -204,6 +205,18 @@ public final class Accounts {
} }
}); });
} }
for (AuthlibInjectorServer server : config().getAuthlibInjectorServers()) {
if (selected instanceof AuthlibInjectorAccount && ((AuthlibInjectorAccount) selected).getServer() == server)
continue;
Schedulers.io().schedule(() -> {
try {
server.fetchMetadataResponse();
} catch (IOException e) {
LOG.log(Level.WARNING, "Failed to fetch authlib-injector server metdata: " + server, e);
}
});
}
} }
public static ObservableList<Account> getAccounts() { public static ObservableList<Account> getAccounts() {

View File

@@ -218,6 +218,11 @@ public class AuthlibInjectorServer implements Observable {
return this.url.equals(another.url); return this.url.equals(another.url);
} }
@Override
public String toString() {
return name == null ? url : url + " (" + name + ")";
}
@Override @Override
public void addListener(InvalidationListener listener) { public void addListener(InvalidationListener listener) {
helper.addListener(listener); helper.addListener(listener);