Add option to send long messages as MMS

Closes #1104
This commit is contained in:
Moez Bhatti
2019-12-28 01:00:56 -05:00
parent 2aa2f2ccc0
commit d1bbe2c3cd
8 changed files with 36 additions and 1 deletions
@@ -302,13 +302,20 @@ class MessageRepositoryImpl @Inject constructor(
else -> prefs.signature.get()
}
val smsManager = subId.takeIf { it != -1 }
?.let(SmsManagerFactory::createSmsManager)
?: SmsManager.getDefault()
// We only care about stripping SMS
val strippedBody = when (prefs.unicode.get()) {
true -> StripAccents.stripAccents(signedBody)
false -> signedBody
}
if (addresses.size == 1 && attachments.isEmpty()) { // SMS
val parts = smsManager.divideMessage(strippedBody).orEmpty()
val forceMms = prefs.longAsMms.get() && parts.size > 1
if (addresses.size == 1 && attachments.isEmpty() && !forceMms) { // SMS
if (delay > 0) { // With delay
val sendTime = System.currentTimeMillis() + delay
val message = insertSentSms(subId, threadId, addresses.first(), strippedBody, sendTime)