When a plaintext share contains EXTRA_TEXT and a distinct EXTRA_SUBJECT, use EXTRA_SUBJECT as the content warning for the shared status (#1712)

This commit is contained in:
Levi Bard 2020-02-26 20:41:02 +01:00 committed by GitHub
parent 50730f7481
commit dd8abad8ca
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -207,15 +207,14 @@ class ComposeActivity : BaseActivity(),
if (action != null && action == Intent.ACTION_SEND) { if (action != null && action == Intent.ACTION_SEND) {
val subject = intent.getStringExtra(Intent.EXTRA_SUBJECT) val subject = intent.getStringExtra(Intent.EXTRA_SUBJECT)
val text = intent.getStringExtra(Intent.EXTRA_TEXT) val text = intent.getStringExtra(Intent.EXTRA_TEXT)
val shareBody = if (subject != null && text != null) { val shareBody = text ?: subject
if (subject != text && !text.contains(subject)) {
String.format("%s\n%s", subject, text)
} else {
text
}
} else text ?: subject
if (shareBody != null) { if (shareBody != null) {
if (!subject.isNullOrBlank() && subject !in shareBody) {
composeContentWarningField.setText(subject)
viewModel.showContentWarning.value = true
}
val start = composeEditField.selectionStart.coerceAtLeast(0) val start = composeEditField.selectionStart.coerceAtLeast(0)
val end = composeEditField.selectionEnd.coerceAtLeast(0) val end = composeEditField.selectionEnd.coerceAtLeast(0)
val left = min(start, end) val left = min(start, end)