Use default SmsManager when subId is -1

This commit is contained in:
Moez Bhatti
2018-06-07 14:36:54 -04:00
parent 85f8376f8d
commit 125f6fd2b1
2 changed files with 4 additions and 8 deletions
@@ -26,7 +26,6 @@ import android.telephony.SmsManager
import dagger.android.AndroidInjection
import interactor.MarkFailed
import interactor.MarkSent
import timber.log.Timber
import javax.inject.Inject
class SmsSentReceiver : BroadcastReceiver() {
@@ -49,14 +48,9 @@ class SmsSentReceiver : BroadcastReceiver() {
SmsManager.RESULT_ERROR_NO_SERVICE,
SmsManager.RESULT_ERROR_NULL_PDU,
SmsManager.RESULT_ERROR_RADIO_OFF -> {
Timber.w(SmsFailedException(resultCode, intent.getIntExtra("errorCode", -1)))
val pendingResult = goAsync()
markFailed.execute(MarkFailed.Params(id, resultCode)) { pendingResult.finish() }
}
}
}
}
private class SmsFailedException(resultCode: Int, errorCode: Int)
: Exception("Message failed to send with resultCode: $resultCode and errorCode: $errorCode")
}
@@ -413,7 +413,9 @@ class MessageRepositoryImpl @Inject constructor(
}
override fun sendSms(message: Message) {
val smsManager = SmsManager.getSmsManagerForSubscriptionId(message.subId)
val smsManager = message.subId.takeIf { it != -1 }
?.let(SmsManager::getSmsManagerForSubscriptionId)
?: SmsManager.getDefault()
val parts = smsManager.divideMessage(if (prefs.unicode.get()) StripAccents.stripAccents(message.body) else message.body)
?: arrayListOf()