void removeLinkedDevices(int deviceId) throws IOException;
- void addDeviceLink(DeviceLinkUrl linkUri) throws IOException, InvalidDeviceLinkException;
+ void addDeviceLink(DeviceLinkUrl linkUri) throws IOException, InvalidDeviceLinkException, NotPrimaryDeviceException;
void setRegistrationLockPin(Optional<String> pin) throws IOException, NotPrimaryDeviceException;
}
@Override
- public void addDeviceLink(DeviceLinkUrl linkUrl) throws IOException, InvalidDeviceLinkException {
+ public void addDeviceLink(DeviceLinkUrl linkUrl) throws IOException, InvalidDeviceLinkException, NotPrimaryDeviceException {
+ if (!account.isPrimaryDevice()) {
+ throw new NotPrimaryDeviceException();
+ }
context.getAccountHelper().addDevice(linkUrl);
}
import org.asamk.signal.manager.Manager;
import org.asamk.signal.manager.api.DeviceLinkUrl;
import org.asamk.signal.manager.api.InvalidDeviceLinkException;
+import org.asamk.signal.manager.api.NotPrimaryDeviceException;
import org.asamk.signal.output.OutputWriter;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
var deviceLinkUrl = DeviceLinkUrl.parseDeviceLinkUri(linkUri);
m.addDeviceLink(deviceLinkUrl);
} catch (IOException e) {
- logger.error("Add device link failed", e);
+ logger.error("Add device link failed: {}", e.getMessage());
throw new IOErrorException("Add device link failed", e);
} catch (InvalidDeviceLinkException e) {
- logger.error("Add device link failed", e);
- throw new UserErrorException("Add device link failed.", e);
+ logger.error("Invalid device link");
+ throw new UserErrorException("Invalid device link", e);
+ } catch (NotPrimaryDeviceException e) {
+ throw new UserErrorException("This command doesn't work on linked devices.");
}
}
}
var stickerPackUrl = StickerPackUrl.fromUri(stickerUri);
m.installStickerPack(stickerPackUrl);
} catch (IOException e) {
- logger.error("Install sticker pack failed", e);
+ logger.error("Install sticker pack failed: {}", e.getMessage());
throw new IOErrorException("Install sticker pack failed", e);
} catch (StickerPackUrl.InvalidStickerPackLinkException e) {
- logger.error("Invalid sticker pack link", e);
+ logger.error("Invalid sticker pack link");
throw new UserErrorException("Invalid sticker pack link", e);
}
}