Loading data/src/main/java/com/moez/QKSMS/repository/MessageRepositoryImpl.kt +8 −1 Original line number Diff line number Diff line Loading @@ -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) Loading domain/src/main/java/com/moez/QKSMS/util/Preferences.kt +1 −0 Original line number Diff line number Diff line Loading @@ -109,6 +109,7 @@ class Preferences @Inject constructor( val signature = rxPrefs.getString("signature", "") val unicode = rxPrefs.getBoolean("unicode", false) val mobileOnly = rxPrefs.getBoolean("mobileOnly", false) val longAsMms = rxPrefs.getBoolean("longAsMms", false) val mmsSize = rxPrefs.getInteger("mmsSize", 300) val logging = rxPrefs.getBoolean("logging", false) Loading presentation/src/main/java/com/moez/QKSMS/feature/settings/SettingsController.kt +1 −0 Original line number Diff line number Diff line Loading @@ -168,6 +168,7 @@ class SettingsController : QkController<SettingsView, SettingsState, SettingsPre unicode.checkbox.isChecked = state.stripUnicodeEnabled mobileOnly.checkbox.isChecked = state.mobileOnly longAsMms.checkbox.isChecked = state.longAsMms mmsSize.summary = state.maxMmsSizeSummary mmsSizeDialog.adapter.selectedItem = state.maxMmsSizeId Loading presentation/src/main/java/com/moez/QKSMS/feature/settings/SettingsPresenter.kt +5 −0 Original line number Diff line number Diff line Loading @@ -112,6 +112,9 @@ class SettingsPresenter @Inject constructor( disposables += prefs.mobileOnly.asObservable() .subscribe { enabled -> newState { copy(mobileOnly = enabled) } } disposables += prefs.longAsMms.asObservable() .subscribe { enabled -> newState { copy(longAsMms = enabled) } } val mmsSizeLabels = context.resources.getStringArray(R.array.mms_sizes) val mmsSizeIds = context.resources.getIntArray(R.array.mms_sizes_ids) disposables += prefs.mmsSize.asObservable() Loading Loading @@ -175,6 +178,8 @@ class SettingsPresenter @Inject constructor( R.id.mobileOnly -> prefs.mobileOnly.set(!prefs.mobileOnly.get()) R.id.longAsMms -> prefs.longAsMms.set(!prefs.longAsMms.get()) R.id.mmsSize -> view.showMmsSizePicker() R.id.sync -> syncMessages.execute(Unit) Loading presentation/src/main/java/com/moez/QKSMS/feature/settings/SettingsState.kt +1 −0 Original line number Diff line number Diff line Loading @@ -41,6 +41,7 @@ data class SettingsState( val splitSmsEnabled: Boolean = false, val stripUnicodeEnabled: Boolean = false, val mobileOnly: Boolean = false, val longAsMms: Boolean = false, val maxMmsSizeSummary: String = "100KB", val maxMmsSizeId: Int = 100, val syncProgress: SyncRepository.SyncProgress = SyncRepository.SyncProgress.Idle Loading Loading
data/src/main/java/com/moez/QKSMS/repository/MessageRepositoryImpl.kt +8 −1 Original line number Diff line number Diff line Loading @@ -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) Loading
domain/src/main/java/com/moez/QKSMS/util/Preferences.kt +1 −0 Original line number Diff line number Diff line Loading @@ -109,6 +109,7 @@ class Preferences @Inject constructor( val signature = rxPrefs.getString("signature", "") val unicode = rxPrefs.getBoolean("unicode", false) val mobileOnly = rxPrefs.getBoolean("mobileOnly", false) val longAsMms = rxPrefs.getBoolean("longAsMms", false) val mmsSize = rxPrefs.getInteger("mmsSize", 300) val logging = rxPrefs.getBoolean("logging", false) Loading
presentation/src/main/java/com/moez/QKSMS/feature/settings/SettingsController.kt +1 −0 Original line number Diff line number Diff line Loading @@ -168,6 +168,7 @@ class SettingsController : QkController<SettingsView, SettingsState, SettingsPre unicode.checkbox.isChecked = state.stripUnicodeEnabled mobileOnly.checkbox.isChecked = state.mobileOnly longAsMms.checkbox.isChecked = state.longAsMms mmsSize.summary = state.maxMmsSizeSummary mmsSizeDialog.adapter.selectedItem = state.maxMmsSizeId Loading
presentation/src/main/java/com/moez/QKSMS/feature/settings/SettingsPresenter.kt +5 −0 Original line number Diff line number Diff line Loading @@ -112,6 +112,9 @@ class SettingsPresenter @Inject constructor( disposables += prefs.mobileOnly.asObservable() .subscribe { enabled -> newState { copy(mobileOnly = enabled) } } disposables += prefs.longAsMms.asObservable() .subscribe { enabled -> newState { copy(longAsMms = enabled) } } val mmsSizeLabels = context.resources.getStringArray(R.array.mms_sizes) val mmsSizeIds = context.resources.getIntArray(R.array.mms_sizes_ids) disposables += prefs.mmsSize.asObservable() Loading Loading @@ -175,6 +178,8 @@ class SettingsPresenter @Inject constructor( R.id.mobileOnly -> prefs.mobileOnly.set(!prefs.mobileOnly.get()) R.id.longAsMms -> prefs.longAsMms.set(!prefs.longAsMms.get()) R.id.mmsSize -> view.showMmsSizePicker() R.id.sync -> syncMessages.execute(Unit) Loading
presentation/src/main/java/com/moez/QKSMS/feature/settings/SettingsState.kt +1 −0 Original line number Diff line number Diff line Loading @@ -41,6 +41,7 @@ data class SettingsState( val splitSmsEnabled: Boolean = false, val stripUnicodeEnabled: Boolean = false, val mobileOnly: Boolean = false, val longAsMms: Boolean = false, val maxMmsSizeSummary: String = "100KB", val maxMmsSizeId: Int = 100, val syncProgress: SyncRepository.SyncProgress = SyncRepository.SyncProgress.Idle Loading