X-Git-Url: https://git.nmode.ca/signal-cli/blobdiff_plain/acadd90a6debfcf473a2dc813c71e4619c0af11d..0130585355b82eb10f8d8e836182d9877aa21ab8:/src/main/java/org/asamk/textsecure/Main.java diff --git a/src/main/java/org/asamk/textsecure/Main.java b/src/main/java/org/asamk/textsecure/Main.java index 2e694ffd..4227e65e 100644 --- a/src/main/java/org/asamk/textsecure/Main.java +++ b/src/main/java/org/asamk/textsecure/Main.java @@ -20,9 +20,11 @@ import net.sourceforge.argparse4j.ArgumentParsers; import net.sourceforge.argparse4j.impl.Arguments; import net.sourceforge.argparse4j.inf.*; import org.apache.commons.io.IOUtils; +import org.apache.http.util.TextUtils; import org.asamk.TextSecure; import org.freedesktop.dbus.DBusConnection; import org.freedesktop.dbus.exceptions.DBusException; +import org.freedesktop.dbus.exceptions.DBusExecutionException; import org.whispersystems.textsecure.api.crypto.UntrustedIdentityException; import org.whispersystems.textsecure.api.messages.*; import org.whispersystems.textsecure.api.messages.multidevice.TextSecureSyncMessage; @@ -78,7 +80,12 @@ public class Main { return; } } else { - m = new Manager(username); + String settingsPath = ns.getString("config"); + if (TextUtils.isEmpty(settingsPath)) { + settingsPath = System.getProperty("user.home") + "/.config/textsecure"; + } + + m = new Manager(username, settingsPath); ts = m; if (m.userExists()) { try { @@ -147,6 +154,8 @@ public class Main { handleEncapsulatedExceptions(e); } catch (AssertionError e) { handleAssertionError(e); + } catch (DBusExecutionException e) { + handleDBusExecutionException(e); } } else { String messageText = ns.getString("message"); @@ -183,6 +192,8 @@ public class Main { System.err.println("Failed to add attachment: " + e.getMessage()); System.err.println("Aborting sending."); System.exit(1); + } catch (DBusExecutionException e) { + handleDBusExecutionException(e); } } @@ -324,6 +335,12 @@ public class Main { System.exit(1); } + private static void handleDBusExecutionException(DBusExecutionException e) { + System.err.println("Cannot connect to dbus: " + e.getMessage()); + System.err.println("Aborting."); + System.exit(1); + } + private static byte[] decodeGroupId(String groupId) { try { return Base64.decode(groupId); @@ -344,6 +361,8 @@ public class Main { parser.addArgument("-v", "--version") .help("Show package version.") .action(Arguments.version()); + parser.addArgument("--config") + .help("Set the path, where to store the config (Default: $HOME/.config/textsecure-cli)."); MutuallyExclusiveGroup mut = parser.addMutuallyExclusiveGroup(); mut.addArgument("-u", "--username")