Skip to content

Commit 74a1d28

Browse files
committed
Removed unused updateEmailPostsFrequency
1 parent d2fb29f commit 74a1d28

File tree

1 file changed

+16
-33
lines changed

1 file changed

+16
-33
lines changed

WordPress/src/main/java/org/wordpress/android/ui/reader/subscription/ReaderBlogSubscriptionUseCase.kt

Lines changed: 16 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
package org.wordpress.android.ui.reader.subscription
22

33
import kotlinx.coroutines.CoroutineDispatcher
4+
import kotlinx.coroutines.flow.MutableSharedFlow
5+
import kotlinx.coroutines.flow.first
46
import kotlinx.coroutines.withContext
57
import org.greenrobot.eventbus.Subscribe
68
import org.greenrobot.eventbus.ThreadMode
@@ -11,23 +13,18 @@ import org.wordpress.android.fluxc.store.AccountStore
1113
import org.wordpress.android.fluxc.store.AccountStore.AddOrDeleteSubscriptionPayload
1214
import org.wordpress.android.fluxc.store.AccountStore.AddOrDeleteSubscriptionPayload.SubscriptionAction
1315
import org.wordpress.android.fluxc.store.AccountStore.OnSubscriptionUpdated
14-
import org.wordpress.android.fluxc.store.AccountStore.UpdateSubscriptionPayload
15-
import org.wordpress.android.fluxc.store.AccountStore.UpdateSubscriptionPayload.SubscriptionFrequency
1616
import org.wordpress.android.modules.BG_THREAD
1717
import org.wordpress.android.util.NetworkUtilsWrapper
1818
import javax.inject.Inject
1919
import javax.inject.Named
20-
import kotlin.coroutines.Continuation
21-
import kotlin.coroutines.resume
22-
import kotlin.coroutines.suspendCoroutine
2320

2421
class ReaderBlogSubscriptionUseCase @Inject constructor(
2522
private val dispatcher: Dispatcher,
2623
private val accountStore: AccountStore,
2724
private val networkUtilsWrapper: NetworkUtilsWrapper,
2825
@Named(BG_THREAD) private val bgDispatcher: CoroutineDispatcher
2926
) {
30-
private var updateContinuation: Continuation<UpdateResult>? = null
27+
private val updateResultFlow = MutableSharedFlow<UpdateResult>(extraBufferCapacity = 1)
3128

3229
init {
3330
dispatcher.register(this)
@@ -45,43 +42,30 @@ class ReaderBlogSubscriptionUseCase @Inject constructor(
4542
if (!networkUtilsWrapper.isNetworkAvailable()) {
4643
return UpdateResult.NoNetwork
4744
}
48-
return suspendCoroutine { continuation ->
49-
updateContinuation = continuation
50-
val action = if (enable) SubscriptionAction.NEW else SubscriptionAction.DELETE
51-
val payload = AddOrDeleteSubscriptionPayload(blogId.toString(), action)
52-
dispatcher.dispatch(AccountActionBuilder.newUpdateSubscriptionNotificationPostAction(payload))
53-
}
45+
val action = if (enable) SubscriptionAction.NEW else SubscriptionAction.DELETE
46+
val payload = AddOrDeleteSubscriptionPayload(blogId.toString(), action)
47+
dispatcher.dispatch(AccountActionBuilder.newUpdateSubscriptionNotificationPostAction(payload))
48+
return updateResultFlow.first()
5449
}
5550

5651
suspend fun updateEmailPosts(blogId: Long, enable: Boolean): UpdateResult {
5752
if (!networkUtilsWrapper.isNetworkAvailable()) {
5853
return UpdateResult.NoNetwork
5954
}
60-
return suspendCoroutine { continuation ->
61-
updateContinuation = continuation
62-
val action = if (enable) SubscriptionAction.NEW else SubscriptionAction.DELETE
63-
val payload = AddOrDeleteSubscriptionPayload(blogId.toString(), action)
64-
dispatcher.dispatch(AccountActionBuilder.newUpdateSubscriptionEmailPostAction(payload))
65-
}
55+
val action = if (enable) SubscriptionAction.NEW else SubscriptionAction.DELETE
56+
val payload = AddOrDeleteSubscriptionPayload(blogId.toString(), action)
57+
dispatcher.dispatch(AccountActionBuilder.newUpdateSubscriptionEmailPostAction(payload))
58+
return updateResultFlow.first()
6659
}
6760

68-
suspend fun updateEmailPostsFrequency(blogId: Long, frequency: SubscriptionFrequency): UpdateResult =
69-
suspendCoroutine { continuation ->
70-
updateContinuation = continuation
71-
val payload = UpdateSubscriptionPayload(blogId.toString(), frequency)
72-
dispatcher.dispatch(AccountActionBuilder.newUpdateSubscriptionEmailPostFrequencyAction(payload))
73-
}
74-
7561
suspend fun updateEmailComments(blogId: Long, enable: Boolean): UpdateResult {
7662
if (!networkUtilsWrapper.isNetworkAvailable()) {
7763
return UpdateResult.NoNetwork
7864
}
79-
return suspendCoroutine { continuation ->
80-
updateContinuation = continuation
81-
val action = if (enable) SubscriptionAction.NEW else SubscriptionAction.DELETE
82-
val payload = AddOrDeleteSubscriptionPayload(blogId.toString(), action)
83-
dispatcher.dispatch(AccountActionBuilder.newUpdateSubscriptionEmailCommentAction(payload))
84-
}
65+
val action = if (enable) SubscriptionAction.NEW else SubscriptionAction.DELETE
66+
val payload = AddOrDeleteSubscriptionPayload(blogId.toString(), action)
67+
dispatcher.dispatch(AccountActionBuilder.newUpdateSubscriptionEmailCommentAction(payload))
68+
return updateResultFlow.first()
8569
}
8670

8771
fun refreshSubscriptions() {
@@ -96,8 +80,7 @@ class ReaderBlogSubscriptionUseCase @Inject constructor(
9680
} else {
9781
UpdateResult.Success
9882
}
99-
updateContinuation?.resume(result)
100-
updateContinuation = null
83+
updateResultFlow.tryEmit(result)
10184

10285
// Refresh subscriptions after successful update
10386
if (!event.isError) {

0 commit comments

Comments
 (0)