From 4db125037a18107b68f7bed9f44cda53969941b2 Mon Sep 17 00:00:00 2001 From: moezbhatti Date: Wed, 29 May 2019 18:09:35 -0400 Subject: [PATCH] Refactor ExternalBlockingManager to BlockingClient --- .../ShouldIAnswerBlockingClient.kt} | 6 +++--- .../BlockingClient.kt} | 4 ++-- .../src/main/java/com/moez/QKSMS/interactor/ReceiveMms.kt | 6 +++--- .../src/main/java/com/moez/QKSMS/interactor/ReceiveSms.kt | 6 +++--- .../java/com/moez/QKSMS/feature/blocked/BlockedViewModel.kt | 1 - .../src/main/java/com/moez/QKSMS/injection/AppModule.kt | 6 +++--- 6 files changed, 14 insertions(+), 15 deletions(-) rename data/src/main/java/com/moez/QKSMS/{manager/ExternalBlockingManagerImpl.kt => blocking/ShouldIAnswerBlockingClient.kt} (97%) rename domain/src/main/java/com/moez/QKSMS/{manager/ExternalBlockingManager.kt => blocking/BlockingClient.kt} (93%) diff --git a/data/src/main/java/com/moez/QKSMS/manager/ExternalBlockingManagerImpl.kt b/data/src/main/java/com/moez/QKSMS/blocking/ShouldIAnswerBlockingClient.kt similarity index 97% rename from data/src/main/java/com/moez/QKSMS/manager/ExternalBlockingManagerImpl.kt rename to data/src/main/java/com/moez/QKSMS/blocking/ShouldIAnswerBlockingClient.kt index 2b8e238d..a427a2b5 100644 --- a/data/src/main/java/com/moez/QKSMS/manager/ExternalBlockingManagerImpl.kt +++ b/data/src/main/java/com/moez/QKSMS/blocking/ShouldIAnswerBlockingClient.kt @@ -16,7 +16,7 @@ * You should have received a copy of the GNU General Public License * along with QKSMS. If not, see . */ -package com.moez.QKSMS.manager +package com.moez.QKSMS.blocking import android.content.ComponentName import android.content.Context @@ -35,10 +35,10 @@ import io.reactivex.subjects.SingleSubject import timber.log.Timber import javax.inject.Inject -class ExternalBlockingManagerImpl @Inject constructor( +class ShouldIAnswerBlockingClient @Inject constructor( private val context: Context, private val prefs: Preferences -) : ExternalBlockingManager { +) : BlockingClient { companion object { const val RATING_UNKNOWN = 0 diff --git a/domain/src/main/java/com/moez/QKSMS/manager/ExternalBlockingManager.kt b/domain/src/main/java/com/moez/QKSMS/blocking/BlockingClient.kt similarity index 93% rename from domain/src/main/java/com/moez/QKSMS/manager/ExternalBlockingManager.kt rename to domain/src/main/java/com/moez/QKSMS/blocking/BlockingClient.kt index 21cdbe50..fc29e0a8 100644 --- a/domain/src/main/java/com/moez/QKSMS/manager/ExternalBlockingManager.kt +++ b/domain/src/main/java/com/moez/QKSMS/blocking/BlockingClient.kt @@ -16,11 +16,11 @@ * You should have received a copy of the GNU General Public License * along with QKSMS. If not, see . */ -package com.moez.QKSMS.manager +package com.moez.QKSMS.blocking import io.reactivex.Single -interface ExternalBlockingManager { +interface BlockingClient { /** * Return a Single which emits whether or not the given [address] should be blocked diff --git a/domain/src/main/java/com/moez/QKSMS/interactor/ReceiveMms.kt b/domain/src/main/java/com/moez/QKSMS/interactor/ReceiveMms.kt index bf540dfe..a635f7c5 100644 --- a/domain/src/main/java/com/moez/QKSMS/interactor/ReceiveMms.kt +++ b/domain/src/main/java/com/moez/QKSMS/interactor/ReceiveMms.kt @@ -19,9 +19,9 @@ package com.moez.QKSMS.interactor import android.net.Uri +import com.moez.QKSMS.blocking.BlockingClient import com.moez.QKSMS.extensions.mapNotNull import com.moez.QKSMS.manager.ActiveConversationManager -import com.moez.QKSMS.manager.ExternalBlockingManager import com.moez.QKSMS.manager.NotificationManager import com.moez.QKSMS.repository.ConversationRepository import com.moez.QKSMS.repository.MessageRepository @@ -32,7 +32,7 @@ import javax.inject.Inject class ReceiveMms @Inject constructor( private val activeConversationManager: ActiveConversationManager, private val conversationRepo: ConversationRepository, - private val externalBlockingManager: ExternalBlockingManager, + private val blockingClient: BlockingClient, private val syncManager: SyncRepository, private val messageRepo: MessageRepository, private val notificationManager: NotificationManager, @@ -54,7 +54,7 @@ class ReceiveMms @Inject constructor( // to check if it should be blocked after we've pulled it into realm. If it // turns out that it should be blocked, then delete it // TODO Don't store blocked messages in the first place - !externalBlockingManager.shouldBlock(message.address).blockingGet().also { blocked -> + !blockingClient.shouldBlock(message.address).blockingGet().also { blocked -> if (blocked) messageRepo.deleteMessages(message.id) } } diff --git a/domain/src/main/java/com/moez/QKSMS/interactor/ReceiveSms.kt b/domain/src/main/java/com/moez/QKSMS/interactor/ReceiveSms.kt index aaa6052e..b706f8a8 100644 --- a/domain/src/main/java/com/moez/QKSMS/interactor/ReceiveSms.kt +++ b/domain/src/main/java/com/moez/QKSMS/interactor/ReceiveSms.kt @@ -19,8 +19,8 @@ package com.moez.QKSMS.interactor import android.telephony.SmsMessage +import com.moez.QKSMS.blocking.BlockingClient import com.moez.QKSMS.extensions.mapNotNull -import com.moez.QKSMS.manager.ExternalBlockingManager import com.moez.QKSMS.manager.NotificationManager import com.moez.QKSMS.manager.ShortcutManager import com.moez.QKSMS.repository.ConversationRepository @@ -30,7 +30,7 @@ import javax.inject.Inject class ReceiveSms @Inject constructor( private val conversationRepo: ConversationRepository, - private val externalBlockingManager: ExternalBlockingManager, + private val blockingClient: BlockingClient, private val messageRepo: MessageRepository, private val notificationManager: NotificationManager, private val updateBadge: UpdateBadge, @@ -45,7 +45,7 @@ class ReceiveSms @Inject constructor( .filter { // Don't continue if the sender is blocked val address = it.messages[0].displayOriginatingAddress - !externalBlockingManager.shouldBlock(address).blockingGet() + !blockingClient.shouldBlock(address).blockingGet() } .map { val messages = it.messages diff --git a/presentation/src/main/java/com/moez/QKSMS/feature/blocked/BlockedViewModel.kt b/presentation/src/main/java/com/moez/QKSMS/feature/blocked/BlockedViewModel.kt index 584b62de..fc22e1c2 100644 --- a/presentation/src/main/java/com/moez/QKSMS/feature/blocked/BlockedViewModel.kt +++ b/presentation/src/main/java/com/moez/QKSMS/feature/blocked/BlockedViewModel.kt @@ -73,7 +73,6 @@ class BlockedViewModel @Inject constructor( "org.mistergroup.shouldianswerpersonal", "org.mistergroup.muzutozvednout") .any(context::isInstalled) - } .map { installed -> if (!installed) { diff --git a/presentation/src/main/java/com/moez/QKSMS/injection/AppModule.kt b/presentation/src/main/java/com/moez/QKSMS/injection/AppModule.kt index 53be9b25..089d3b0f 100644 --- a/presentation/src/main/java/com/moez/QKSMS/injection/AppModule.kt +++ b/presentation/src/main/java/com/moez/QKSMS/injection/AppModule.kt @@ -25,6 +25,8 @@ import android.content.Context import android.preference.PreferenceManager import androidx.lifecycle.ViewModelProvider import com.f2prateek.rx.preferences2.RxSharedPreferences +import com.moez.QKSMS.blocking.BlockingClient +import com.moez.QKSMS.blocking.ShouldIAnswerBlockingClient import com.moez.QKSMS.common.ViewModelFactory import com.moez.QKSMS.common.util.NotificationManagerImpl import com.moez.QKSMS.common.util.ShortcutManagerImpl @@ -40,8 +42,6 @@ import com.moez.QKSMS.manager.AnalyticsManager import com.moez.QKSMS.manager.AnalyticsManagerImpl import com.moez.QKSMS.manager.ChangelogManager import com.moez.QKSMS.manager.ChangelogManagerImpl -import com.moez.QKSMS.manager.ExternalBlockingManager -import com.moez.QKSMS.manager.ExternalBlockingManagerImpl import com.moez.QKSMS.manager.KeyManager import com.moez.QKSMS.manager.KeyManagerImpl import com.moez.QKSMS.manager.NotificationManager @@ -129,7 +129,7 @@ class AppModule(private var application: Application) { fun provideAnalyticsManager(manager: AnalyticsManagerImpl): AnalyticsManager = manager @Provides - fun externalBlockingManager(manager: ExternalBlockingManagerImpl): ExternalBlockingManager = manager + fun externalBlockingManager(manager: ShouldIAnswerBlockingClient): BlockingClient = manager @Provides fun changelogManager(manager: ChangelogManagerImpl): ChangelogManager = manager