one step backwards since XMLEncoder not available on Android?
This commit is contained in:
parent
42bf7f03c4
commit
1b26cd17bb
|
@ -1,15 +1,11 @@
|
||||||
package com.rusefi.auth;
|
package com.rusefi.auth;
|
||||||
|
|
||||||
import org.jetbrains.annotations.NotNull;
|
|
||||||
|
|
||||||
import static com.rusefi.ui.storage.PersistentConfiguration.getConfig;
|
|
||||||
|
|
||||||
public class AutoTokenUtil {
|
public class AutoTokenUtil {
|
||||||
|
|
||||||
public static final int TOKEN_LENGTH = 8 + 1 + 4 + 1 + 4 + 1 + 4 + 1 + 12;
|
public static final int TOKEN_LENGTH = 8 + 1 + 4 + 1 + 4 + 1 + 4 + 1 + 12;
|
||||||
public static final String TOKEN_PROFILE_URL = "https://rusefi.com/forum/ucp.php?i=254";
|
public static final String TOKEN_PROFILE_URL = "https://rusefi.com/forum/ucp.php?i=254";
|
||||||
public static final String TOKEN_WARNING = "Please copy token from your forum profile";
|
public static final String TOKEN_WARNING = "Please copy token from your forum profile";
|
||||||
private static final String AUTH_TOKEN = "auth_token";
|
public static final String AUTH_TOKEN = "auth_token";
|
||||||
|
|
||||||
public static boolean isToken(String content) {
|
public static boolean isToken(String content) {
|
||||||
if (content == null)
|
if (content == null)
|
||||||
|
@ -20,12 +16,4 @@ public class AutoTokenUtil {
|
||||||
return content.charAt(8) == '-' && content.charAt(8 + 1 + 4) == '-';
|
return content.charAt(8) == '-' && content.charAt(8 + 1 + 4) == '-';
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void setAuthToken(String value) {
|
|
||||||
getConfig().getRoot().setProperty(AUTH_TOKEN, value);
|
|
||||||
}
|
|
||||||
|
|
||||||
@NotNull
|
|
||||||
public static String getAuthToken() {
|
|
||||||
return getConfig().getRoot().getProperty(AUTH_TOKEN);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,7 +1,6 @@
|
||||||
package com.rusefi.tools.online;
|
package com.rusefi.tools.online;
|
||||||
|
|
||||||
import com.devexperts.logging.Logging;
|
import com.devexperts.logging.Logging;
|
||||||
import com.rusefi.auth.AutoTokenUtil;
|
|
||||||
import com.rusefi.shared.FileUtil;
|
import com.rusefi.shared.FileUtil;
|
||||||
import com.rusefi.tune.xml.Msq;
|
import com.rusefi.tune.xml.Msq;
|
||||||
import com.rusefi.ui.AuthTokenPanel;
|
import com.rusefi.ui.AuthTokenPanel;
|
||||||
|
@ -90,7 +89,7 @@ public class Online {
|
||||||
@Nullable
|
@Nullable
|
||||||
public static BasicFuture<UploadResult> uploadFile(JComponent parent, FutureCallback<UploadResult> callback, final String fileName) {
|
public static BasicFuture<UploadResult> uploadFile(JComponent parent, FutureCallback<UploadResult> callback, final String fileName) {
|
||||||
BasicFuture<UploadResult> result = new BasicFuture<>(callback);
|
BasicFuture<UploadResult> result = new BasicFuture<>(callback);
|
||||||
String authToken = AutoTokenUtil.getAuthToken();
|
String authToken = AuthTokenPanel.getAuthToken();
|
||||||
if (!AuthTokenPanel.hasToken()) {
|
if (!AuthTokenPanel.hasToken()) {
|
||||||
AuthTokenPanel.showError(parent);
|
AuthTokenPanel.showError(parent);
|
||||||
return null;
|
return null;
|
||||||
|
|
|
@ -3,6 +3,7 @@ package com.rusefi.ui;
|
||||||
import com.rusefi.auth.AutoTokenUtil;
|
import com.rusefi.auth.AutoTokenUtil;
|
||||||
import com.rusefi.ui.storage.PersistentConfiguration;
|
import com.rusefi.ui.storage.PersistentConfiguration;
|
||||||
import com.rusefi.ui.util.URLLabel;
|
import com.rusefi.ui.util.URLLabel;
|
||||||
|
import org.jetbrains.annotations.NotNull;
|
||||||
|
|
||||||
import javax.swing.*;
|
import javax.swing.*;
|
||||||
import javax.swing.event.DocumentEvent;
|
import javax.swing.event.DocumentEvent;
|
||||||
|
@ -12,6 +13,8 @@ import java.awt.datatransfer.*;
|
||||||
import java.awt.event.ActionEvent;
|
import java.awt.event.ActionEvent;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
|
|
||||||
|
import static com.rusefi.ui.storage.PersistentConfiguration.getConfig;
|
||||||
|
|
||||||
public class AuthTokenPanel {
|
public class AuthTokenPanel {
|
||||||
|
|
||||||
private final JPanel content = new JPanel(new BorderLayout());
|
private final JPanel content = new JPanel(new BorderLayout());
|
||||||
|
@ -25,7 +28,7 @@ public class AuthTokenPanel {
|
||||||
|
|
||||||
authTokenTestField.setPreferredSize(new Dimension(200, 24));
|
authTokenTestField.setPreferredSize(new Dimension(200, 24));
|
||||||
|
|
||||||
String authToken = AutoTokenUtil.getAuthToken();
|
String authToken = getAuthToken();
|
||||||
System.out.println("Got from settings: " + authToken);
|
System.out.println("Got from settings: " + authToken);
|
||||||
|
|
||||||
authTokenTestField.getDocument().addDocumentListener(new DocumentListener() {
|
authTokenTestField.getDocument().addDocumentListener(new DocumentListener() {
|
||||||
|
@ -88,6 +91,15 @@ public class AuthTokenPanel {
|
||||||
authTokenTestField.setText(authToken);
|
authTokenTestField.setText(authToken);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static void setAuthToken(String value) {
|
||||||
|
getConfig().getRoot().setProperty(AutoTokenUtil.AUTH_TOKEN, value);
|
||||||
|
}
|
||||||
|
|
||||||
|
@NotNull
|
||||||
|
public static String getAuthToken() {
|
||||||
|
return getConfig().getRoot().getProperty(AutoTokenUtil.AUTH_TOKEN);
|
||||||
|
}
|
||||||
|
|
||||||
private void setPasteButtonEnabledBasedOnClipboardContent(Clipboard clipboard, JButton paste) {
|
private void setPasteButtonEnabledBasedOnClipboardContent(Clipboard clipboard, JButton paste) {
|
||||||
try {
|
try {
|
||||||
String data = (String) clipboard.getData(DataFlavor.stringFlavor);
|
String data = (String) clipboard.getData(DataFlavor.stringFlavor);
|
||||||
|
@ -98,7 +110,7 @@ public class AuthTokenPanel {
|
||||||
}
|
}
|
||||||
|
|
||||||
private void grabText() {
|
private void grabText() {
|
||||||
AutoTokenUtil.setAuthToken(AuthTokenPanel.this.authTokenTestField.getText());
|
setAuthToken(AuthTokenPanel.this.authTokenTestField.getText());
|
||||||
PersistentConfiguration.getConfig().save();
|
PersistentConfiguration.getConfig().save();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -113,7 +125,7 @@ public class AuthTokenPanel {
|
||||||
}
|
}
|
||||||
|
|
||||||
public static boolean hasToken() {
|
public static boolean hasToken() {
|
||||||
return AutoTokenUtil.isToken(AutoTokenUtil.getAuthToken());
|
return AutoTokenUtil.isToken(getAuthToken());
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getToken() {
|
public String getToken() {
|
||||||
|
|
|
@ -3,11 +3,11 @@ package com.rusefi.sensor_logs;
|
||||||
import com.rusefi.FileLog;
|
import com.rusefi.FileLog;
|
||||||
import com.rusefi.NamedThreadFactory;
|
import com.rusefi.NamedThreadFactory;
|
||||||
import com.rusefi.Timeouts;
|
import com.rusefi.Timeouts;
|
||||||
import com.rusefi.auth.AutoTokenUtil;
|
|
||||||
import com.rusefi.core.Sensor;
|
import com.rusefi.core.Sensor;
|
||||||
import com.rusefi.core.SensorCentral;
|
import com.rusefi.core.SensorCentral;
|
||||||
import com.rusefi.tools.online.Online;
|
import com.rusefi.tools.online.Online;
|
||||||
import com.rusefi.tools.online.UploadResult;
|
import com.rusefi.tools.online.UploadResult;
|
||||||
|
import com.rusefi.ui.AuthTokenPanel;
|
||||||
|
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.util.concurrent.Executor;
|
import java.util.concurrent.Executor;
|
||||||
|
@ -58,7 +58,7 @@ public class BinarySensorLogRestarter implements SensorLog {
|
||||||
UPLOAD_EXECUTOR.execute(new Runnable() {
|
UPLOAD_EXECUTOR.execute(new Runnable() {
|
||||||
@Override
|
@Override
|
||||||
public void run() {
|
public void run() {
|
||||||
UploadResult result = Online.upload(new File(fileName), AutoTokenUtil.getAuthToken());
|
UploadResult result = Online.upload(new File(fileName), AuthTokenPanel.getAuthToken());
|
||||||
System.out.println(result.toString());
|
System.out.println(result.toString());
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
|
@ -6,7 +6,6 @@ import com.opensr5.Logger;
|
||||||
import com.opensr5.ini.IniFileModel;
|
import com.opensr5.ini.IniFileModel;
|
||||||
import com.opensr5.io.ConfigurationImageFile;
|
import com.opensr5.io.ConfigurationImageFile;
|
||||||
import com.rusefi.*;
|
import com.rusefi.*;
|
||||||
import com.rusefi.auth.AutoTokenUtil;
|
|
||||||
import com.rusefi.autodetect.PortDetector;
|
import com.rusefi.autodetect.PortDetector;
|
||||||
import com.rusefi.autodetect.SerialAutoChecker;
|
import com.rusefi.autodetect.SerialAutoChecker;
|
||||||
import com.rusefi.binaryprotocol.BinaryProtocol;
|
import com.rusefi.binaryprotocol.BinaryProtocol;
|
||||||
|
@ -25,6 +24,7 @@ import com.rusefi.maintenance.ExecHelper;
|
||||||
import com.rusefi.proxy.client.LocalApplicationProxy;
|
import com.rusefi.proxy.client.LocalApplicationProxy;
|
||||||
import com.rusefi.tools.online.Online;
|
import com.rusefi.tools.online.Online;
|
||||||
import com.rusefi.tune.xml.Msq;
|
import com.rusefi.tune.xml.Msq;
|
||||||
|
import com.rusefi.ui.AuthTokenPanel;
|
||||||
import com.rusefi.ui.light.LightweightGUI;
|
import com.rusefi.ui.light.LightweightGUI;
|
||||||
import org.jetbrains.annotations.Nullable;
|
import org.jetbrains.annotations.Nullable;
|
||||||
|
|
||||||
|
@ -124,7 +124,7 @@ public class ConsoleTools {
|
||||||
|
|
||||||
private static void uploadTune(String[] args) {
|
private static void uploadTune(String[] args) {
|
||||||
String fileName = args[1];
|
String fileName = args[1];
|
||||||
String authToken = AutoTokenUtil.getAuthToken();
|
String authToken = AuthTokenPanel.getAuthToken();
|
||||||
System.out.println("Trying to upload " + fileName + " using " + authToken);
|
System.out.println("Trying to upload " + fileName + " using " + authToken);
|
||||||
Online.upload(new File(fileName), authToken);
|
Online.upload(new File(fileName), authToken);
|
||||||
}
|
}
|
||||||
|
@ -171,7 +171,7 @@ public class ConsoleTools {
|
||||||
private static void setAuthToken(String[] args) {
|
private static void setAuthToken(String[] args) {
|
||||||
String newToken = args[1];
|
String newToken = args[1];
|
||||||
System.out.println("Saving auth token " + newToken);
|
System.out.println("Saving auth token " + newToken);
|
||||||
AutoTokenUtil.setAuthToken(newToken);
|
AuthTokenPanel.setAuthToken(newToken);
|
||||||
}
|
}
|
||||||
|
|
||||||
private static void printVehicleToken() {
|
private static void printVehicleToken() {
|
||||||
|
@ -180,7 +180,7 @@ public class ConsoleTools {
|
||||||
}
|
}
|
||||||
|
|
||||||
private static void printAuthToken() {
|
private static void printAuthToken() {
|
||||||
String authToken = AutoTokenUtil.getAuthToken();
|
String authToken = AuthTokenPanel.getAuthToken();
|
||||||
if (authToken.trim().isEmpty()) {
|
if (authToken.trim().isEmpty()) {
|
||||||
System.out.println("Auth token not defined. Please use " + SET_AUTH_TOKEN + " command");
|
System.out.println("Auth token not defined. Please use " + SET_AUTH_TOKEN + " command");
|
||||||
System.out.println("\tPlease see https://github.com/rusefi/rusefi/wiki/Online");
|
System.out.println("\tPlease see https://github.com/rusefi/rusefi/wiki/Online");
|
||||||
|
@ -329,7 +329,7 @@ public class ConsoleTools {
|
||||||
|
|
||||||
Msq tune = MsqFactory.valueOf(image);
|
Msq tune = MsqFactory.valueOf(image);
|
||||||
tune.writeXmlFile(Online.outputXmlFileName);
|
tune.writeXmlFile(Online.outputXmlFileName);
|
||||||
String authToken = AutoTokenUtil.getAuthToken();
|
String authToken = AuthTokenPanel.getAuthToken();
|
||||||
System.out.println("Using " + authToken);
|
System.out.println("Using " + authToken);
|
||||||
Online.upload(new File(Online.outputXmlFileName), authToken);
|
Online.upload(new File(Online.outputXmlFileName), authToken);
|
||||||
}
|
}
|
||||||
|
|
|
@ -5,11 +5,12 @@ import com.rusefi.auth.AutoTokenUtil;
|
||||||
import com.rusefi.autodetect.PortDetector;
|
import com.rusefi.autodetect.PortDetector;
|
||||||
import com.rusefi.proxy.NetworkConnector;
|
import com.rusefi.proxy.NetworkConnector;
|
||||||
import com.rusefi.proxy.NetworkConnectorContext;
|
import com.rusefi.proxy.NetworkConnectorContext;
|
||||||
|
import com.rusefi.ui.AuthTokenPanel;
|
||||||
|
|
||||||
public class NetworkConnectorStartup {
|
public class NetworkConnectorStartup {
|
||||||
private final static Logging log = Logging.getLogging(NetworkConnectorStartup.class);
|
private final static Logging log = Logging.getLogging(NetworkConnectorStartup.class);
|
||||||
public static void start() {
|
public static void start() {
|
||||||
String authToken = AutoTokenUtil.getAuthToken();
|
String authToken = AuthTokenPanel.getAuthToken();
|
||||||
if (!AutoTokenUtil.isToken(authToken)) {
|
if (!AutoTokenUtil.isToken(authToken)) {
|
||||||
System.err.println("Please configure authentication token using 'set_auth_token' command");
|
System.err.println("Please configure authentication token using 'set_auth_token' command");
|
||||||
return;
|
return;
|
||||||
|
|
|
@ -276,7 +276,7 @@ public class RemoteTab {
|
||||||
|
|
||||||
@NotNull
|
@NotNull
|
||||||
private ApplicationRequest getApplicationRequest(PublicSession publicSession) {
|
private ApplicationRequest getApplicationRequest(PublicSession publicSession) {
|
||||||
SessionDetails sessionDetails = new SessionDetails(publicSession.getControllerInfo(), AutoTokenUtil.getAuthToken(),
|
SessionDetails sessionDetails = new SessionDetails(publicSession.getControllerInfo(), AuthTokenPanel.getAuthToken(),
|
||||||
Integer.parseInt(oneTimePasswordControl.getText()), rusEFIVersion.CONSOLE_VERSION);
|
Integer.parseInt(oneTimePasswordControl.getText()), rusEFIVersion.CONSOLE_VERSION);
|
||||||
|
|
||||||
ApplicationRequest applicationRequest = new ApplicationRequest(sessionDetails, publicSession.getVehicleOwner());
|
ApplicationRequest applicationRequest = new ApplicationRequest(sessionDetails, publicSession.getVehicleOwner());
|
||||||
|
|
|
@ -62,7 +62,7 @@ public class UploadQueue {
|
||||||
while (true) {
|
while (true) {
|
||||||
FileAndFolder file = queue.take();
|
FileAndFolder file = queue.take();
|
||||||
|
|
||||||
UploadResult result = Online.upload(new File(file.getFullName()), AutoTokenUtil.getAuthToken());
|
UploadResult result = Online.upload(new File(file.getFullName()), AuthTokenPanel.getAuthToken());
|
||||||
System.out.println("isError " + result.isError());
|
System.out.println("isError " + result.isError());
|
||||||
System.out.println("first " + result.getFirstMessage());
|
System.out.println("first " + result.getFirstMessage());
|
||||||
if (result.isError() && result.getFirstMessage().contains("This file already exists")) {
|
if (result.isError() && result.getFirstMessage().contains("This file already exists")) {
|
||||||
|
|
Loading…
Reference in New Issue