Add ability to copy text from scheduled message

Fixed #1477
This commit is contained in:
moezbhatti
2019-09-29 21:12:50 -04:00
parent e422537345
commit c2bcf56925
2 changed files with 14 additions and 1 deletions
@@ -18,10 +18,15 @@
*/
package com.moez.QKSMS.feature.scheduled
import android.content.Context
import com.moez.QKSMS.R
import com.moez.QKSMS.common.Navigator
import com.moez.QKSMS.common.base.QkViewModel
import com.moez.QKSMS.common.util.BillingManager
import com.moez.QKSMS.common.util.ClipboardUtils
import com.moez.QKSMS.common.util.extensions.makeToast
import com.moez.QKSMS.interactor.SendScheduledMessage
import com.moez.QKSMS.repository.MessageRepository
import com.moez.QKSMS.repository.ScheduledMessageRepository
import com.uber.autodispose.android.lifecycle.scope
import com.uber.autodispose.autoDisposable
@@ -31,6 +36,8 @@ import javax.inject.Inject
class ScheduledViewModel @Inject constructor(
billingManager: BillingManager,
private val context: Context,
private val messageRepo: MessageRepository,
private val navigator: Navigator,
private val scheduledMessageRepo: ScheduledMessageRepository,
private val sendScheduledMessage: SendScheduledMessage
@@ -54,8 +61,13 @@ class ScheduledViewModel @Inject constructor(
.withLatestFrom(view.messageClickIntent) { itemId, messageId ->
when (itemId) {
0 -> sendScheduledMessage.execute(messageId)
1 -> scheduledMessageRepo.deleteScheduledMessage(messageId)
1 -> scheduledMessageRepo.getScheduledMessage(messageId)?.let { message ->
ClipboardUtils.copy(context, message.body)
context.makeToast(R.string.toast_copied)
}
2 -> scheduledMessageRepo.deleteScheduledMessage(messageId)
}
Unit
}
.autoDisposable(view.scope())
.subscribe()
@@ -194,6 +194,7 @@
<string name="scheduled_options_title">Scheduled message</string>
<string-array name="scheduled_options">
<item>Send now</item>
<item>Copy text</item>
<item>Delete</item>
</string-array>