From c2bcf56925fa77d7411ec32bc7bb703986aafa36 Mon Sep 17 00:00:00 2001 From: moezbhatti Date: Sun, 29 Sep 2019 21:12:50 -0400 Subject: [PATCH] Add ability to copy text from scheduled message Fixed #1477 --- .../QKSMS/feature/scheduled/ScheduledViewModel.kt | 14 +++++++++++++- presentation/src/main/res/values/strings.xml | 1 + 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/presentation/src/main/java/com/moez/QKSMS/feature/scheduled/ScheduledViewModel.kt b/presentation/src/main/java/com/moez/QKSMS/feature/scheduled/ScheduledViewModel.kt index 529c21a6..76d28f50 100644 --- a/presentation/src/main/java/com/moez/QKSMS/feature/scheduled/ScheduledViewModel.kt +++ b/presentation/src/main/java/com/moez/QKSMS/feature/scheduled/ScheduledViewModel.kt @@ -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() diff --git a/presentation/src/main/res/values/strings.xml b/presentation/src/main/res/values/strings.xml index 1008930b..779f1b9b 100644 --- a/presentation/src/main/res/values/strings.xml +++ b/presentation/src/main/res/values/strings.xml @@ -194,6 +194,7 @@ Scheduled message Send now + Copy text Delete