]> nmode's Git Repositories - signal-cli/blobdiff - src/main/java/org/asamk/signal/dbus/DbusManagerImpl.java
Cleanup manager package
[signal-cli] / src / main / java / org / asamk / signal / dbus / DbusManagerImpl.java
index df21d94d61722ad6c8767ad02e324dc256b62c07..33b149d91052514507c19ba304e2b59eaa449871 100644 (file)
@@ -2,10 +2,9 @@ package org.asamk.signal.dbus;
 
 import org.asamk.Signal;
 import org.asamk.signal.DbusConfig;
-import org.asamk.signal.manager.AttachmentInvalidException;
 import org.asamk.signal.manager.Manager;
-import org.asamk.signal.manager.NotMasterDeviceException;
-import org.asamk.signal.manager.StickerPackInvalidException;
+import org.asamk.signal.manager.api.StickerPackInvalidException;
+import org.asamk.signal.manager.api.AttachmentInvalidException;
 import org.asamk.signal.manager.api.Configuration;
 import org.asamk.signal.manager.api.Device;
 import org.asamk.signal.manager.api.Group;
@@ -14,10 +13,13 @@ import org.asamk.signal.manager.api.InactiveGroupLinkException;
 import org.asamk.signal.manager.api.InvalidDeviceLinkException;
 import org.asamk.signal.manager.api.Message;
 import org.asamk.signal.manager.api.MessageEnvelope;
+import org.asamk.signal.manager.api.NotMasterDeviceException;
 import org.asamk.signal.manager.api.Pair;
 import org.asamk.signal.manager.api.RecipientIdentifier;
 import org.asamk.signal.manager.api.SendGroupMessageResults;
 import org.asamk.signal.manager.api.SendMessageResults;
+import org.asamk.signal.manager.api.StickerPack;
+import org.asamk.signal.manager.api.StickerPackUrl;
 import org.asamk.signal.manager.api.TypingAction;
 import org.asamk.signal.manager.api.UpdateGroup;
 import org.asamk.signal.manager.groups.GroupId;
@@ -42,6 +44,7 @@ import java.io.File;
 import java.io.IOException;
 import java.net.URI;
 import java.net.URISyntaxException;
+import java.time.Duration;
 import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.HashSet;
@@ -50,7 +53,6 @@ import java.util.Map;
 import java.util.Optional;
 import java.util.Set;
 import java.util.UUID;
-import java.util.concurrent.TimeUnit;
 import java.util.function.Function;
 import java.util.function.Supplier;
 import java.util.stream.Collectors;
@@ -82,11 +84,6 @@ public class DbusManagerImpl implements Manager {
         return signal.getSelfNumber();
     }
 
-    @Override
-    public void checkAccountState() throws IOException {
-        throw new UnsupportedOperationException();
-    }
-
     @Override
     public Map<String, Pair<String, UUID>> areUsersRegistered(final Set<String> numbers) throws IOException {
         final var numbersList = new ArrayList<>(numbers);
@@ -171,7 +168,7 @@ public class DbusManagerImpl implements Manager {
         return signal.listDevices().stream().map(d -> {
             final var device = getRemoteObject(d.getObjectPath(),
                     Signal.Device.class).GetAll("org.asamk.Signal.Device");
-            return new Device((long) device.get("Id").getValue(),
+            return new Device(((Long) device.get("Id").getValue()).intValue(),
                     (String) device.get("Name").getValue(),
                     (long) device.get("Created").getValue(),
                     (long) device.get("LastSeen").getValue(),
@@ -180,7 +177,7 @@ public class DbusManagerImpl implements Manager {
     }
 
     @Override
-    public void removeLinkedDevices(final long deviceId) throws IOException {
+    public void removeLinkedDevices(final int deviceId) throws IOException {
         final var devicePath = signal.getDevice(deviceId);
         getRemoteObject(devicePath, Signal.Device.class).removeDevice();
     }
@@ -392,12 +389,12 @@ public class DbusManagerImpl implements Manager {
     }
 
     @Override
-    public void deleteRecipient(final RecipientIdentifier.Single recipient) throws IOException {
+    public void deleteRecipient(final RecipientIdentifier.Single recipient) {
         signal.deleteRecipient(recipient.getIdentifier());
     }
 
     @Override
-    public void deleteContact(final RecipientIdentifier.Single recipient) throws IOException {
+    public void deleteContact(final RecipientIdentifier.Single recipient) {
         signal.deleteContact(recipient.getIdentifier());
     }
 
@@ -435,14 +432,19 @@ public class DbusManagerImpl implements Manager {
     }
 
     @Override
-    public URI uploadStickerPack(final File path) throws IOException, StickerPackInvalidException {
+    public StickerPackUrl uploadStickerPack(final File path) throws IOException, StickerPackInvalidException {
         try {
-            return new URI(signal.uploadStickerPack(path.getPath()));
-        } catch (URISyntaxException e) {
+            return StickerPackUrl.fromUri(new URI(signal.uploadStickerPack(path.getPath())));
+        } catch (URISyntaxException | StickerPackUrl.InvalidStickerPackLinkException e) {
             throw new AssertionError(e);
         }
     }
 
+    @Override
+    public List<StickerPack> getStickerPacks() {
+        throw new UnsupportedOperationException();
+    }
+
     @Override
     public void requestAllSyncData() throws IOException {
         signal.sendSyncRequest();
@@ -494,11 +496,11 @@ public class DbusManagerImpl implements Manager {
 
     @Override
     public void receiveMessages(
-            final long timeout, final TimeUnit unit, final ReceiveMessageHandler handler
+            final Duration timeout, final ReceiveMessageHandler handler
     ) throws IOException {
         addReceiveHandler(handler);
         try {
-            Thread.sleep(unit.toMillis(timeout));
+            Thread.sleep(timeout.toMillis());
         } catch (InterruptedException ignored) {
         }
         removeReceiveHandler(handler);
@@ -614,7 +616,7 @@ public class DbusManagerImpl implements Manager {
     }
 
     @Override
-    public void close() throws IOException {
+    public void close() {
         synchronized (this) {
             this.notify();
         }
@@ -665,9 +667,9 @@ public class DbusManagerImpl implements Manager {
         return string == null ? "" : string;
     }
 
-    private <T extends DBusInterface> T getRemoteObject(final DBusPath devicePath, final Class<T> type) {
+    private <T extends DBusInterface> T getRemoteObject(final DBusPath path, final Class<T> type) {
         try {
-            return connection.getRemoteObject(DbusConfig.getBusname(), devicePath.getPath(), type);
+            return connection.getRemoteObject(DbusConfig.getBusname(), path.getPath(), type);
         } catch (DBusException e) {
             throw new AssertionError(e);
         }