package net.minecraft.launcher.ui.sidebar.login; import java.awt.event.ActionListener; import java.io.IOException; import net.minecraft.launcher.Launcher; import net.minecraft.launcher.events.RefreshedProfilesListener; import net.minecraft.launcher.events.RefreshedVersionsListener; import net.minecraft.launcher.profile.ProfileManager; import net.minecraft.launcher.ui.sidebar.SidebarGridForm; import net.minecraft.launcher.updater.VersionManager; public abstract class BaseLogInForm extends SidebarGridForm implements ActionListener, RefreshedProfilesListener, RefreshedVersionsListener { private final LoginContainerForm container; private final Launcher launcher; public BaseLogInForm(LoginContainerForm container, String name) { super(name); this.container = container; this.launcher = container.getLauncher(); this.launcher.getVersionManager().addRefreshedVersionsListener(this); this.launcher.getProfileManager().addRefreshedProfilesListener(this); } public abstract void checkLoginState(); public void onVersionsRefreshed(VersionManager manager) { checkLoginState(); } public boolean shouldReceiveEventsInUIThread() { return true; } public LoginContainerForm getLoginContainer() { return this.container; } public Launcher getLauncher() { return this.launcher; } protected void saveAuthenticationDetails() { try { getLauncher().getProfileManager().saveProfiles(); } catch (IOException e) { getLauncher().println("Couldn't save authentication details to profile", e); } } }