]> nmode's Git Repositories - signal-cli/blobdiff - src/main/java/org/asamk/signal/Main.java
Extract SignalAccount from Manager
[signal-cli] / src / main / java / org / asamk / signal / Main.java
index 03d1c3ccb84101dc5c0e8e09d959180c33a2dbfd..810f1deb4b59cca63590aec05b9bdd53ae3343d0 100644 (file)
@@ -1,18 +1,18 @@
-/**
* Copyright (C) 2015 AsamK
- *
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
- *
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
* GNU General Public License for more details.
- *
* You should have received a copy of the GNU General Public License
* along with this program.  If not, see <http://www.gnu.org/licenses/>.
+/*
 Copyright (C) 2015-2018 AsamK
+
+  This program is free software: you can redistribute it and/or modify
+  it under the terms of the GNU General Public License as published by
+  the Free Software Foundation, either version 3 of the License, or
+  (at your option) any later version.
+
+  This program is distributed in the hope that it will be useful,
+  but WITHOUT ANY WARRANTY; without even the implied warranty of
+  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+  GNU General Public License for more details.
+
+  You should have received a copy of the GNU General Public License
+  along with this program.  If not, see <http://www.gnu.org/licenses/>.
  */
 package org.asamk.signal;
 
@@ -28,6 +28,8 @@ import net.sourceforge.argparse4j.impl.Arguments;
 import net.sourceforge.argparse4j.inf.*;
 import org.apache.http.util.TextUtils;
 import org.asamk.Signal;
+import org.asamk.signal.manager.BaseConfig;
+import org.asamk.signal.manager.Manager;
 import org.asamk.signal.storage.contacts.ContactInfo;
 import org.asamk.signal.storage.groups.GroupInfo;
 import org.asamk.signal.storage.protocol.JsonIdentityKeyStore;
@@ -127,13 +129,11 @@ public class Main {
 
                 m = new Manager(username, settingsPath);
                 ts = m;
-                if (m.userExists()) {
-                    try {
-                        m.init();
-                    } catch (Exception e) {
-                        System.err.println("Error loading state file \"" + m.getFileName() + "\": " + e.getMessage());
-                        return 2;
-                    }
+                try {
+                    m.init();
+                } catch (Exception e) {
+                    System.err.println("Error loading state file: " + e.getMessage());
+                    return 2;
                 }
             }
 
@@ -143,9 +143,6 @@ public class Main {
                         System.err.println("register is not yet implemented via dbus");
                         return 1;
                     }
-                    if (!m.userHasKeys()) {
-                        m.createNewIdentity();
-                    }
                     try {
                         m.register(ns.getBoolean("voice"));
                     } catch (IOException e) {
@@ -250,9 +247,6 @@ public class Main {
                         return 1;
                     }
 
-                    // When linking, username is null and we always have to create keys
-                    m.createNewIdentity();
-
                     String deviceName = ns.getString("name");
                     if (deviceName == null) {
                         deviceName = "cli";
@@ -734,7 +728,6 @@ public class Main {
         System.err.println("Aborting sending.");
     }
 
-
     private static void handleDBusExecutionException(DBusExecutionException e) {
         System.err.println("Cannot connect to dbus: " + e.getMessage());
         System.err.println("Aborting.");
@@ -756,7 +749,7 @@ public class Main {
                 .build()
                 .defaultHelp(true)
                 .description("Commandline interface for Signal.")
-                .version(Manager.PROJECT_NAME + " " + Manager.PROJECT_VERSION);
+                .version(BaseConfig.PROJECT_NAME + " " + BaseConfig.PROJECT_VERSION);
 
         parser.addArgument("-v", "--version")
                 .help("Show package version.")
@@ -947,6 +940,7 @@ public class Main {
     }
 
     private static class ReceiveMessageHandler implements Manager.ReceiveMessageHandler {
+
         final Manager m;
 
         public ReceiveMessageHandler(Manager m) {
@@ -1210,6 +1204,7 @@ public class Main {
     }
 
     private static class DbusReceiveMessageHandler extends ReceiveMessageHandler {
+
         final DBusConnection conn;
 
         public DbusReceiveMessageHandler(Manager m, DBusConnection conn) {
@@ -1226,6 +1221,7 @@ public class Main {
     }
 
     private static class JsonReceiveMessageHandler implements Manager.ReceiveMessageHandler {
+
         final Manager m;
         final ObjectMapper jsonProcessor;
 
@@ -1257,6 +1253,7 @@ public class Main {
     }
 
     private static class JsonDbusReceiveMessageHandler extends JsonReceiveMessageHandler {
+
         final DBusConnection conn;
 
         public JsonDbusReceiveMessageHandler(Manager m, DBusConnection conn) {
@@ -1264,13 +1261,6 @@ public class Main {
             this.conn = conn;
         }
 
-        @Override
-        public void handleMessage(SignalServiceEnvelope envelope, SignalServiceContent content, Throwable exception) {
-            super.handleMessage(envelope, content, exception);
-
-            sendReceivedMessageToDbus(envelope, content, conn, m);
-        }
-
         private static void sendReceivedMessageToDbus(SignalServiceEnvelope envelope, SignalServiceContent content, DBusConnection conn, Manager m) {
             if (envelope.isReceipt()) {
                 try {
@@ -1311,5 +1301,12 @@ public class Main {
                 }
             }
         }
+
+        @Override
+        public void handleMessage(SignalServiceEnvelope envelope, SignalServiceContent content, Throwable exception) {
+            super.handleMessage(envelope, content, exception);
+
+            sendReceivedMessageToDbus(envelope, content, conn, m);
+        }
     }
 }