mirror of
https://github.com/oxen-io/session-android.git
synced 2024-12-26 01:37:43 +00:00
Implement group message sending
This commit is contained in:
parent
6144d6cad2
commit
a900c389bc
@ -2122,6 +2122,33 @@ public class ConversationActivity extends PassphraseRequiredActionBarActivity
|
|||||||
final int subscriptionId,
|
final int subscriptionId,
|
||||||
final boolean initiating)
|
final boolean initiating)
|
||||||
{
|
{
|
||||||
|
final SettableFuture<Void> future = new SettableFuture<>();
|
||||||
|
|
||||||
|
boolean isLokiPublicChat = isGroupConversation(); // TODO: Figure out a better way of determining this
|
||||||
|
if (isLokiPublicChat) {
|
||||||
|
String hexEncodedPublicKey = TextSecurePreferences.getLocalNumber(this);
|
||||||
|
String displayName = DatabaseFactory.getLokiAPIDatabase(this).getUserDisplayName();
|
||||||
|
if (displayName == null) displayName = "Anonymous";
|
||||||
|
long timestamp = new Date().getTime();
|
||||||
|
LokiGroupMessage message = new LokiGroupMessage(hexEncodedPublicKey, displayName, body, timestamp);
|
||||||
|
LokiGroupChatAPI.sendMessage(message, LokiGroupChatAPI.getPublicChatID()).success(new Function1<Unit, Unit>() {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Unit invoke(Unit unit) {
|
||||||
|
future.set(null);
|
||||||
|
return Unit.INSTANCE;
|
||||||
|
}
|
||||||
|
}).fail(new Function1<Exception, Unit>() {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Unit invoke(Exception e) {
|
||||||
|
future.setException(e);
|
||||||
|
return Unit.INSTANCE;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
return future;
|
||||||
|
}
|
||||||
|
|
||||||
if (!isDefaultSms && (!isSecureText || forceSms)) {
|
if (!isDefaultSms && (!isSecureText || forceSms)) {
|
||||||
showDefaultSmsPrompt();
|
showDefaultSmsPrompt();
|
||||||
return new SettableFuture<>(null);
|
return new SettableFuture<>(null);
|
||||||
@ -2138,7 +2165,6 @@ public class ConversationActivity extends PassphraseRequiredActionBarActivity
|
|||||||
|
|
||||||
OutgoingMediaMessage outgoingMessageCandidate = new OutgoingMediaMessage(recipient, slideDeck, body, System.currentTimeMillis(), subscriptionId, expiresIn, distributionType, inputPanel.getQuote().orNull(), contacts, previews);
|
OutgoingMediaMessage outgoingMessageCandidate = new OutgoingMediaMessage(recipient, slideDeck, body, System.currentTimeMillis(), subscriptionId, expiresIn, distributionType, inputPanel.getQuote().orNull(), contacts, previews);
|
||||||
|
|
||||||
final SettableFuture<Void> future = new SettableFuture<>();
|
|
||||||
final Context context = getApplicationContext();
|
final Context context = getApplicationContext();
|
||||||
|
|
||||||
final OutgoingMediaMessage outgoingMessage;
|
final OutgoingMediaMessage outgoingMessage;
|
||||||
@ -2186,6 +2212,29 @@ public class ConversationActivity extends PassphraseRequiredActionBarActivity
|
|||||||
private void sendTextMessage(final boolean forceSms, final long expiresIn, final int subscriptionId, final boolean initiatingConversation)
|
private void sendTextMessage(final boolean forceSms, final long expiresIn, final int subscriptionId, final boolean initiatingConversation)
|
||||||
throws InvalidMessageException
|
throws InvalidMessageException
|
||||||
{
|
{
|
||||||
|
boolean isLokiPublicChat = isGroupConversation(); // TODO: Figure out a better way of determining this
|
||||||
|
if (isLokiPublicChat) {
|
||||||
|
String hexEncodedPublicKey = TextSecurePreferences.getLocalNumber(this);
|
||||||
|
String displayName = DatabaseFactory.getLokiAPIDatabase(this).getUserDisplayName();
|
||||||
|
if (displayName == null) displayName = "Anonymous";
|
||||||
|
long timestamp = new Date().getTime();
|
||||||
|
LokiGroupMessage message = new LokiGroupMessage(hexEncodedPublicKey, displayName, getMessage(), timestamp);
|
||||||
|
LokiGroupChatAPI.sendMessage(message, LokiGroupChatAPI.getPublicChatID()).success(new Function1<Unit, Unit>() {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Unit invoke(Unit unit) {
|
||||||
|
return Unit.INSTANCE;
|
||||||
|
}
|
||||||
|
}).fail(new Function1<Exception, Unit>() {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Unit invoke(Exception e) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
if (!isDefaultSms && (!isSecureText || forceSms)) {
|
if (!isDefaultSms && (!isSecureText || forceSms)) {
|
||||||
showDefaultSmsPrompt();
|
showDefaultSmsPrompt();
|
||||||
return;
|
return;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user