import org.asamk.signal.manager.api.Identity;
import org.asamk.signal.manager.api.InactiveGroupLinkException;
import org.asamk.signal.manager.api.InvalidDeviceLinkException;
+import org.asamk.signal.manager.api.InvalidUsernameException;
import org.asamk.signal.manager.api.Message;
import org.asamk.signal.manager.api.MessageEnvelope;
import org.asamk.signal.manager.api.NotPrimaryDeviceException;
emptyIfNull(updateProfile.getFamilyName()),
emptyIfNull(updateProfile.getAbout()),
emptyIfNull(updateProfile.getAboutEmoji()),
- updateProfile.getAvatar() == null ? "" : updateProfile.getAvatar().getPath(),
+ updateProfile.getAvatar() == null ? "" : updateProfile.getAvatar(),
updateProfile.isDeleteAvatar());
}
+ @Override
+ public String setUsername(final String username) throws IOException, InvalidUsernameException {
+ throw new UnsupportedOperationException();
+ }
+
+ @Override
+ public void deleteUsername() throws IOException {
+ throw new UnsupportedOperationException();
+ }
+
@Override
public void unregister() throws IOException {
signal.unregister();
throw new UnsupportedOperationException();
}
final var group = getRemoteObject(signal.getGroup(groupId.serialize()), Signal.Group.class);
- group.quitGroup();
+ try {
+ group.quitGroup();
+ } catch (Signal.Error.GroupNotFound e) {
+ throw new GroupNotFoundException(groupId);
+ } catch (Signal.Error.NotAGroupMember e) {
+ throw new NotAGroupMemberException(groupId, group.Get("org.asamk.Signal.Group", "Name"));
+ } catch (Signal.Error.LastGroupAdmin e) {
+ throw new LastGroupAdminException(groupId, group.Get("org.asamk.Signal.Group", "Name"));
+ }
return new SendGroupMessageResults(0, List.of());
}
@Override
public Pair<GroupId, SendGroupMessageResults> createGroup(
- final String name, final Set<RecipientIdentifier.Single> members, final File avatarFile
+ final String name, final Set<RecipientIdentifier.Single> members, final String avatarFile
) throws IOException, AttachmentInvalidException {
final var newGroupId = signal.createGroup(emptyIfNull(name),
members.stream().map(RecipientIdentifier.Single::getIdentifier).toList(),
- avatarFile == null ? "" : avatarFile.getPath());
+ avatarFile == null ? "" : avatarFile);
return new Pair<>(GroupId.unknownVersion(newGroupId), new SendGroupMessageResults(0, List.of()));
}
if (updateGroup.getAvatarFile() != null) {
group.Set("org.asamk.Signal.Group",
"Avatar",
- updateGroup.getAvatarFile() == null ? "" : updateGroup.getAvatarFile().getPath());
+ updateGroup.getAvatarFile() == null ? "" : updateGroup.getAvatarFile());
}
if (updateGroup.getExpirationTimer() != null) {
group.Set("org.asamk.Signal.Group", "MessageExpirationTimer", updateGroup.getExpirationTimer());
Optional.empty(),
List.of(),
List.of(),
+ List.of(),
List.of())),
Optional.empty(),
Optional.empty(),
Optional.empty(),
List.of(),
List.of(),
+ List.of(),
List.of())),
Optional.empty())),
Optional.empty(),