X-Git-Url: https://git.nmode.ca/signal-cli/blobdiff_plain/be0993c5d8171aff9190e152b095677be4088112..HEAD:/src/main/java/org/asamk/signal/dbus/DbusMultiAccountManagerImpl.java diff --git a/src/main/java/org/asamk/signal/dbus/DbusMultiAccountManagerImpl.java b/src/main/java/org/asamk/signal/dbus/DbusMultiAccountManagerImpl.java index 2c5f720f..2b9a0a77 100644 --- a/src/main/java/org/asamk/signal/dbus/DbusMultiAccountManagerImpl.java +++ b/src/main/java/org/asamk/signal/dbus/DbusMultiAccountManagerImpl.java @@ -2,7 +2,6 @@ package org.asamk.signal.dbus; import org.asamk.Signal; import org.asamk.SignalControl; -import org.asamk.signal.DbusConfig; import org.asamk.signal.manager.Manager; import org.asamk.signal.manager.MultiAccountManager; import org.asamk.signal.manager.ProvisioningManager; @@ -32,10 +31,16 @@ public class DbusMultiAccountManagerImpl implements MultiAccountManager { // TODO add listeners for added/removed accounts private final Set> onManagerAddedHandlers = new HashSet<>(); private final Set> onManagerRemovedHandlers = new HashSet<>(); + private final String busname; - public DbusMultiAccountManagerImpl(final SignalControl signalControl, DBusConnection connection) { + public DbusMultiAccountManagerImpl( + final SignalControl signalControl, + DBusConnection connection, + final String busname + ) { this.signalControl = signalControl; this.connection = connection; + this.busname = busname; } @Override @@ -50,7 +55,7 @@ public class DbusMultiAccountManagerImpl implements MultiAccountManager { public List getManagers() { return signalControl.listAccounts() .stream() - .map(a -> (Manager) new DbusManagerImpl(getRemoteObject(a, Signal.class), connection)) + .map(a -> (Manager) new DbusManagerImpl(getRemoteObject(a, Signal.class), connection, busname)) .toList(); } @@ -70,7 +75,9 @@ public class DbusMultiAccountManagerImpl implements MultiAccountManager { @Override public Manager getManager(final String phoneNumber) { - return new DbusManagerImpl(getRemoteObject(signalControl.getAccount(phoneNumber), Signal.class), connection); + return new DbusManagerImpl(getRemoteObject(signalControl.getAccount(phoneNumber), Signal.class), + connection, + busname); } @Override @@ -98,7 +105,7 @@ public class DbusMultiAccountManagerImpl implements MultiAccountManager { private T getRemoteObject(final DBusPath path, final Class type) { try { - return connection.getRemoteObject(DbusConfig.getBusname(), path.getPath(), type); + return connection.getRemoteObject(busname, path.getPath(), type); } catch (DBusException e) { throw new AssertionError(e); }