Rewrite authentication handling
Fix logout not working until restart
This commit is contained in:
@@ -6,8 +6,8 @@ import de.johni0702.minecraft.gui.element.GuiLabel;
|
||||
import de.johni0702.minecraft.gui.element.GuiPasswordField;
|
||||
import de.johni0702.minecraft.gui.element.GuiTextField;
|
||||
import de.johni0702.minecraft.gui.layout.CustomLayout;
|
||||
import eu.crushedpixel.replaymod.ReplayMod;
|
||||
import eu.crushedpixel.replaymod.gui.GuiConstants;
|
||||
import eu.crushedpixel.replaymod.online.authentication.AuthenticationHandler;
|
||||
|
||||
public class GuiLoginPrompt extends AbstractGuiScreen<GuiLoginPrompt> {
|
||||
|
||||
@@ -34,8 +34,8 @@ public class GuiLoginPrompt extends AbstractGuiScreen<GuiLoginPrompt> {
|
||||
new Thread(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
switch(AuthenticationHandler.authenticate(username.getText(), password.getText())) {
|
||||
case AuthenticationHandler.SUCCESS:
|
||||
switch(ReplayMod.apiClient.login(username.getText(), password.getText())) {
|
||||
case SUCCESS:
|
||||
statusLabel.setText("");
|
||||
getMinecraft().addScheduledTask(new Runnable() {
|
||||
@Override
|
||||
@@ -44,10 +44,10 @@ public class GuiLoginPrompt extends AbstractGuiScreen<GuiLoginPrompt> {
|
||||
}
|
||||
});
|
||||
break;
|
||||
case AuthenticationHandler.INVALID:
|
||||
case INVALID_DATA:
|
||||
statusLabel.setI18nText("replaymod.gui.login.incorrect");
|
||||
break;
|
||||
case AuthenticationHandler.NO_CONNECTION:
|
||||
case IO_ERROR:
|
||||
statusLabel.setI18nText("replaymod.gui.login.connectionerror");
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -7,9 +7,9 @@ import de.johni0702.minecraft.gui.element.*;
|
||||
import de.johni0702.minecraft.gui.layout.CustomLayout;
|
||||
import de.johni0702.minecraft.gui.layout.HorizontalLayout;
|
||||
import de.johni0702.minecraft.gui.layout.VerticalLayout;
|
||||
import eu.crushedpixel.replaymod.ReplayMod;
|
||||
import eu.crushedpixel.replaymod.api.ApiException;
|
||||
import eu.crushedpixel.replaymod.gui.GuiConstants;
|
||||
import eu.crushedpixel.replaymod.online.authentication.AuthenticationHandler;
|
||||
import eu.crushedpixel.replaymod.utils.EmailAddressUtils;
|
||||
import eu.crushedpixel.replaymod.utils.RegexUtils;
|
||||
import net.minecraft.client.gui.FontRenderer;
|
||||
@@ -80,7 +80,7 @@ public class GuiRegister extends AbstractGuiScreen<GuiRegister> {
|
||||
String username = usernameInput.getText().trim();
|
||||
String mail = mailInput.getText().trim();
|
||||
String password = passwordInput.getText();
|
||||
AuthenticationHandler.register(username, mail, password);
|
||||
ReplayMod.apiClient.register(username, mail, password);
|
||||
|
||||
getMinecraft().addScheduledTask(new Runnable() {
|
||||
@Override
|
||||
|
||||
@@ -14,7 +14,6 @@ import eu.crushedpixel.replaymod.gui.GuiConstants;
|
||||
import eu.crushedpixel.replaymod.gui.elements.*;
|
||||
import eu.crushedpixel.replaymod.gui.replayviewer.GuiReplayViewer;
|
||||
import eu.crushedpixel.replaymod.holders.GuiEntryListStringEntry;
|
||||
import eu.crushedpixel.replaymod.online.authentication.AuthenticationHandler;
|
||||
import net.minecraft.client.gui.*;
|
||||
import net.minecraft.client.resources.I18n;
|
||||
import org.lwjgl.input.Keyboard;
|
||||
@@ -22,8 +21,9 @@ import org.lwjgl.input.Keyboard;
|
||||
import java.awt.*;
|
||||
import java.io.File;
|
||||
import java.io.IOException;
|
||||
import java.util.*;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Queue;
|
||||
import java.util.concurrent.ConcurrentLinkedQueue;
|
||||
|
||||
public class GuiReplayCenter extends GuiScreen implements GuiYesNoCallback {
|
||||
@@ -59,7 +59,7 @@ public class GuiReplayCenter extends GuiScreen implements GuiYesNoCallback {
|
||||
Keyboard.enableRepeatEvents(true);
|
||||
|
||||
if(!initialized) {
|
||||
if(!AuthenticationHandler.isAuthenticated()) {
|
||||
if(!ReplayMod.apiClient.isLoggedIn()) {
|
||||
mc.displayGuiScreen(new GuiLoginPrompt(new GuiMainMenu(), this, true).toMinecraft());
|
||||
}
|
||||
|
||||
@@ -73,11 +73,11 @@ public class GuiReplayCenter extends GuiScreen implements GuiYesNoCallback {
|
||||
topBar.add(bestButton);
|
||||
|
||||
GuiButton downloadedReplayButton = new GuiButton(GuiConstants.CENTER_DOWNLOADED_REPLAYS_BUTTON, 20, 30, I18n.format("replaymod.gui.center.top.downloaded"));
|
||||
downloadedReplayButton.enabled = AuthenticationHandler.isAuthenticated();
|
||||
downloadedReplayButton.enabled = ReplayMod.apiClient.isLoggedIn();
|
||||
topBar.add(downloadedReplayButton);
|
||||
|
||||
GuiButton favoritedReplayButton = new GuiButton(GuiConstants.CENTER_FAVORITED_REPLAYS_BUTTON, 20, 30, I18n.format("replaymod.gui.center.top.favorited"));
|
||||
favoritedReplayButton.enabled = AuthenticationHandler.isAuthenticated();
|
||||
favoritedReplayButton.enabled = ReplayMod.apiClient.isLoggedIn();
|
||||
topBar.add(favoritedReplayButton);
|
||||
|
||||
GuiButton searchButton = new GuiButton(GuiConstants.CENTER_SEARCH_BUTTON, 20, 30, I18n.format("replaymod.gui.center.top.search"));
|
||||
@@ -382,7 +382,7 @@ public class GuiReplayCenter extends GuiScreen implements GuiYesNoCallback {
|
||||
mc.addScheduledTask(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
AuthenticationHandler.logout();
|
||||
ReplayMod.apiClient.logout();
|
||||
mc.displayGuiScreen(new GuiMainMenu());
|
||||
}
|
||||
});
|
||||
|
||||
@@ -7,7 +7,6 @@ import eu.crushedpixel.replaymod.gui.GuiConstants;
|
||||
import eu.crushedpixel.replaymod.gui.elements.*;
|
||||
import eu.crushedpixel.replaymod.gui.elements.listeners.ProgressUpdateListener;
|
||||
import eu.crushedpixel.replaymod.gui.replayviewer.GuiReplayViewer;
|
||||
import eu.crushedpixel.replaymod.online.authentication.AuthenticationHandler;
|
||||
import eu.crushedpixel.replaymod.recording.ReplayMetaData;
|
||||
import eu.crushedpixel.replaymod.registry.KeybindRegistry;
|
||||
import eu.crushedpixel.replaymod.registry.ResourceHelper;
|
||||
@@ -135,7 +134,7 @@ public class GuiUploadFile extends GuiScreen implements ProgressUpdateListener {
|
||||
return;
|
||||
}
|
||||
|
||||
if(!AuthenticationHandler.isAuthenticated()) {
|
||||
if(!ReplayMod.apiClient.isLoggedIn()) {
|
||||
mc.displayGuiScreen(new GuiLoginPrompt(parent, this, true).toMinecraft());
|
||||
return;
|
||||
}
|
||||
@@ -320,12 +319,12 @@ public class GuiUploadFile extends GuiScreen implements ProgressUpdateListener {
|
||||
FileUtils.copyFile(replayFile, tmp);
|
||||
ReplayFileIO.addFilesToZip(tmp, toAdd);
|
||||
|
||||
uploader.uploadFile(GuiUploadFile.this, AuthenticationHandler.getKey(), name, tags, tmp, category, desc);
|
||||
uploader.uploadFile(GuiUploadFile.this, name, tags, tmp, category, desc);
|
||||
|
||||
FileUtils.deleteQuietly(tmpMeta);
|
||||
FileUtils.deleteQuietly(tmp);
|
||||
} else {
|
||||
uploader.uploadFile(GuiUploadFile.this, AuthenticationHandler.getKey(), name, tags, replayFile, category, desc);
|
||||
uploader.uploadFile(GuiUploadFile.this, name, tags, replayFile, category, desc);
|
||||
}
|
||||
|
||||
ReplayMod.uploadedFileHandler.markAsUploaded(replayFile);
|
||||
|
||||
Reference in New Issue
Block a user