Small tweaks

This commit is contained in:
Paul Schaub 2020-07-13 22:16:13 +02:00
parent 102f6d9ab1
commit 98c5b7ba61
Signed by: vanitasvitae
GPG Key ID: 62BEE9264BF17311
6 changed files with 19 additions and 10 deletions

View File

@ -34,7 +34,7 @@
app:layout_constraintStart_toStartOf="parent"
tools:listitem="@layout/view_message_text_in" />
<fragment
<androidx.fragment.app.FragmentContainerView
android:id="@+id/fragment_compose"
android:name="org.mercury_im.messenger.android.ui.chat.ChatInputFragment"
android:layout_width="match_parent"

View File

@ -14,6 +14,7 @@ import org.mercury_im.messenger.entity.message.Message;
import java.util.ArrayList;
import java.util.List;
import java.util.UUID;
import javax.inject.Inject;
@ -142,12 +143,18 @@ public class RxMessageRepository
@Override
public Single<Message> upsertMessage(DirectChat chat, Message message) {
return null;
return Single.just(message)
.map(messageMapping::toModel)
.flatMap(data()::upsert)
.map(messageMapping::toEntity);
}
@Override
public Single<Message> upsertMessage(GroupChat chat, Message message) {
return null;
return Single.just(message)
.map(messageMapping::toModel)
.flatMap(data()::upsert)
.map(messageMapping::toEntity);
}
@Override

View File

@ -4,6 +4,7 @@ import org.bouncycastle.openpgp.PGPException;
import org.jivesoftware.smack.SmackException;
import org.jivesoftware.smack.XMPPException;
import org.jivesoftware.smack.chat2.ChatManager;
import org.jivesoftware.smack.packet.MessageBuilder;
import org.jivesoftware.smack.roster.Roster;
import org.jivesoftware.smack.roster.RosterEntry;
import org.jivesoftware.smackx.ox.OpenPgpContact;
@ -18,9 +19,13 @@ import org.mercury_im.messenger.core.exception.ContactAlreadyAddedException;
import org.mercury_im.messenger.core.xmpp.MercuryConnection;
import org.mercury_im.messenger.core.xmpp.MercuryConnectionManager;
import org.mercury_im.messenger.entity.contact.Peer;
import org.mercury_im.messenger.entity.message.Message;
import org.mercury_im.messenger.entity.message.MessageDeliveryState;
import org.mercury_im.messenger.entity.message.MessageDirection;
import org.pgpainless.key.OpenPgpV4Fingerprint;
import java.io.IOException;
import java.util.Date;
import java.util.UUID;
import java.util.logging.Level;
import java.util.logging.Logger;
@ -126,11 +131,6 @@ public class Messenger {
MercuryConnection connection = getConnection(contact.getAccount().getId());
OpenPgpManager oxManager = OpenPgpManager.getInstanceFor(connection.getConnection());
OXInstantMessagingManager oximManager = OXInstantMessagingManager.getInstanceFor(connection.getConnection());
OpenPgpContact oxContact = oxManager.getOpenPgpContact(contact.getJid());
for (OpenPgpV4Fingerprint fingerprint : oxContact.getUndecidedFingerprints()) {
oxContact.trust(fingerprint);
}
oxContact.getAnnouncedPublicKeys();
oximManager.sendOxMessage(oxManager.getOpenPgpContact(contact.getJid()), body);
}

View File

@ -5,6 +5,7 @@ import org.mercury_im.messenger.entity.chat.GroupChat;
import org.mercury_im.messenger.entity.message.Message;
import java.util.List;
import java.util.UUID;
import io.reactivex.Completable;
import io.reactivex.Observable;

View File

@ -7,6 +7,7 @@ import org.mercury_im.messenger.core.data.repository.DirectChatRepository;
import org.mercury_im.messenger.core.data.repository.MessageRepository;
import org.mercury_im.messenger.core.data.repository.PeerRepository;
import org.mercury_im.messenger.core.data.repository.Repositories;
import org.mercury_im.messenger.core.store.message.MercuryMessageStore;
import org.mercury_im.messenger.core.util.Optional;
import org.mercury_im.messenger.core.viewmodel.MercuryViewModel;
import org.mercury_im.messenger.entity.chat.DirectChat;
@ -36,7 +37,7 @@ public class ChatViewModel implements MercuryViewModel {
@Getter
private BehaviorSubject<Optional<Peer>> peer = BehaviorSubject.create();
Single<DirectChat> directChat;
private Single<DirectChat> directChat;
@Getter
private BehaviorSubject<DirectChat> chat = BehaviorSubject.create();

View File

@ -32,7 +32,7 @@ public class Peer {
if (name != null && !name.trim().isEmpty()) {
return name;
}
return address.substring(0, address.indexOf('@'));
return getJid().getLocalpart().asUnescapedString();
}
public EntityBareJid getJid() {