mirror of
https://github.com/oxen-io/session-android.git
synced 2024-12-24 16:57:50 +00:00
Make long text attachments contain the entire message.
Instead of just containing the 'overflow', long text attachments now contain the entire body in full.
This commit is contained in:
parent
03aa9e9712
commit
003fa1b059
@ -1968,20 +1968,20 @@ public class ConversationActivity extends PassphraseRequiredActionBarActivity
|
|||||||
|
|
||||||
private Pair<String, Optional<Slide>> getSplitMessage(String rawText, int maxPrimaryMessageSize) {
|
private Pair<String, Optional<Slide>> getSplitMessage(String rawText, int maxPrimaryMessageSize) {
|
||||||
String bodyText = rawText;
|
String bodyText = rawText;
|
||||||
Optional<Slide> extraText = Optional.absent();
|
Optional<Slide> textSlide = Optional.absent();
|
||||||
|
|
||||||
if (bodyText.length() > maxPrimaryMessageSize) {
|
if (bodyText.length() > maxPrimaryMessageSize) {
|
||||||
bodyText = rawText.substring(0, maxPrimaryMessageSize);
|
bodyText = rawText.substring(0, maxPrimaryMessageSize);
|
||||||
|
|
||||||
byte[] extraData = rawText.substring(maxPrimaryMessageSize).getBytes();
|
byte[] textData = rawText.getBytes();
|
||||||
Uri textUri = MemoryBlobProvider.getInstance().createUri(extraData);
|
Uri textUri = MemoryBlobProvider.getInstance().createUri(textData);
|
||||||
String timestamp = new SimpleDateFormat("yyyy-MM-dd-HHmmss", Locale.US).format(new Date());
|
String timestamp = new SimpleDateFormat("yyyy-MM-dd-HHmmss", Locale.US).format(new Date());
|
||||||
String filename = String.format("signal-%s.txt", timestamp);
|
String filename = String.format("signal-%s.txt", timestamp);
|
||||||
|
|
||||||
extraText = Optional.of(new TextSlide(this, textUri, filename, extraData.length));
|
textSlide = Optional.of(new TextSlide(this, textUri, filename, textData.length));
|
||||||
}
|
}
|
||||||
|
|
||||||
return new Pair<>(bodyText, extraText);
|
return new Pair<>(bodyText, textSlide);
|
||||||
}
|
}
|
||||||
|
|
||||||
private MediaConstraints getCurrentMediaConstraints() {
|
private MediaConstraints getCurrentMediaConstraints() {
|
||||||
|
@ -564,8 +564,8 @@ public class ConversationFragment extends Fragment
|
|||||||
|
|
||||||
if (mediaMessage.getSlideDeck().getTextSlide() != null && mediaMessage.getSlideDeck().getTextSlide().getUri() != null) {
|
if (mediaMessage.getSlideDeck().getTextSlide() != null && mediaMessage.getSlideDeck().getTextSlide().getUri() != null) {
|
||||||
try (InputStream stream = PartAuthority.getAttachmentStream(requireContext(), mediaMessage.getSlideDeck().getTextSlide().getUri())) {
|
try (InputStream stream = PartAuthority.getAttachmentStream(requireContext(), mediaMessage.getSlideDeck().getTextSlide().getUri())) {
|
||||||
String extraText = Util.readFullyAsString(stream);
|
String fullBody = Util.readFullyAsString(stream);
|
||||||
composeIntent.putExtra(Intent.EXTRA_TEXT, message.getDisplayBody().toString() + extraText);
|
composeIntent.putExtra(Intent.EXTRA_TEXT, fullBody);
|
||||||
} catch (IOException e) {
|
} catch (IOException e) {
|
||||||
Log.w(TAG, "Failed to read long message text when forwarding.");
|
Log.w(TAG, "Failed to read long message text when forwarding.");
|
||||||
}
|
}
|
||||||
|
@ -1,5 +1,7 @@
|
|||||||
package org.thoughtcrime.securesms.longmessage;
|
package org.thoughtcrime.securesms.longmessage;
|
||||||
|
|
||||||
|
import android.text.TextUtils;
|
||||||
|
|
||||||
import org.thoughtcrime.securesms.database.model.MessageRecord;
|
import org.thoughtcrime.securesms.database.model.MessageRecord;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -9,11 +11,11 @@ import org.thoughtcrime.securesms.database.model.MessageRecord;
|
|||||||
class LongMessage {
|
class LongMessage {
|
||||||
|
|
||||||
private final MessageRecord messageRecord;
|
private final MessageRecord messageRecord;
|
||||||
private final String extraBody;
|
private final String fullBody;
|
||||||
|
|
||||||
LongMessage(MessageRecord messageRecord, String extraBody) {
|
LongMessage(MessageRecord messageRecord, String fullBody) {
|
||||||
this.messageRecord = messageRecord;
|
this.messageRecord = messageRecord;
|
||||||
this.extraBody = extraBody;
|
this.fullBody = fullBody;
|
||||||
}
|
}
|
||||||
|
|
||||||
MessageRecord getMessageRecord() {
|
MessageRecord getMessageRecord() {
|
||||||
@ -21,6 +23,6 @@ class LongMessage {
|
|||||||
}
|
}
|
||||||
|
|
||||||
String getFullBody() {
|
String getFullBody() {
|
||||||
return messageRecord.getBody() + extraBody;
|
return !TextUtils.isEmpty(fullBody) ? fullBody : messageRecord.getBody();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user