feat(manager): conversation preview (wip)

- add messaging bridge
- refactor export chat messages
This commit is contained in:
rhunk
2023-10-14 18:56:16 +02:00
parent 2b0e4ad09a
commit 3e9c97c18c
13 changed files with 486 additions and 80 deletions

View File

@ -7,6 +7,7 @@ import me.rhunk.snapenhance.bridge.scripting.IScripting;
import me.rhunk.snapenhance.bridge.e2ee.E2eeInterface;
import me.rhunk.snapenhance.bridge.MessageLoggerInterface;
import me.rhunk.snapenhance.bridge.ConfigStateListener;
import me.rhunk.snapenhance.bridge.snapclient.MessagingBridge;
interface BridgeInterface {
/**
@ -80,6 +81,8 @@ interface BridgeInterface {
MessageLoggerInterface getMessageLogger();
void registerMessagingBridge(MessagingBridge bridge);
void openSettingsOverlay();
void closeSettingsOverlay();

View File

@ -0,0 +1,16 @@
package me.rhunk.snapenhance.bridge.snapclient;
import java.util.List;
import me.rhunk.snapenhance.bridge.snapclient.types.Message;
interface MessagingBridge {
@nullable Message fetchMessage(String conversationId, String clientMessageId);
@nullable Message fetchMessageByServerId(String conversationId, String serverMessageId);
@nullable List<Message> fetchConversationWithMessagesPaginated(String conversationId, int limit, long beforeMessageId);
@nullable String updateMessage(String conversationId, String clientMessageId, String messageUpdate);
@nullable String getOneToOneConversationId(String userId);
}

View File

@ -0,0 +1,11 @@
package me.rhunk.snapenhance.bridge.snapclient.types;
parcelable Message {
String conversationId;
String senderId;
int contentType;
long clientMessageId;
long serverMessageId;
byte[] content;
List<String> mediaReferences;
}