Rename interface NotificationDrawerManager to NotificationCleaner since it actually contains only method to remove notifications.

This commit is contained in:
Benoit Marty 2024-07-16 11:24:41 +02:00
parent 83051d7231
commit 6ea629a4d2
9 changed files with 49 additions and 49 deletions

View file

@ -20,7 +20,7 @@ import com.squareup.anvil.annotations.ContributesTo
import dagger.Binds
import dagger.Module
import io.element.android.libraries.di.AppScope
import io.element.android.libraries.push.api.notifications.NotificationDrawerManager
import io.element.android.libraries.push.api.notifications.NotificationCleaner
import io.element.android.libraries.push.impl.notifications.DefaultNotificationDrawerManager
@Module
@ -29,5 +29,5 @@ abstract class PushBindsModule {
@Binds
abstract fun bindNotificationDrawerManager(
defaultNotificationDrawerManager: DefaultNotificationDrawerManager
): NotificationDrawerManager
): NotificationCleaner
}

View file

@ -30,7 +30,7 @@ import io.element.android.libraries.matrix.api.core.SessionId
import io.element.android.libraries.matrix.api.core.ThreadId
import io.element.android.libraries.matrix.api.user.MatrixUser
import io.element.android.libraries.matrix.ui.media.ImageLoaderHolder
import io.element.android.libraries.push.api.notifications.NotificationDrawerManager
import io.element.android.libraries.push.api.notifications.NotificationCleaner
import io.element.android.libraries.push.api.notifications.NotificationIdProvider
import io.element.android.libraries.push.impl.notifications.model.NotifiableEvent
import io.element.android.libraries.push.impl.notifications.model.shouldIgnoreEventInRoom
@ -59,7 +59,7 @@ class DefaultNotificationDrawerManager @Inject constructor(
private val matrixClientProvider: MatrixClientProvider,
private val imageLoaderHolder: ImageLoaderHolder,
private val activeNotificationsProvider: ActiveNotificationsProvider,
) : NotificationDrawerManager {
) : NotificationCleaner {
private var appNavigationStateObserver: Job? = null
// TODO EAx add a setting per user for this

View file

@ -28,7 +28,7 @@ import io.element.android.libraries.matrix.api.room.MatrixRoom
import io.element.android.libraries.matrix.api.room.isDm
import io.element.android.libraries.matrix.api.timeline.ReceiptType
import io.element.android.libraries.preferences.api.store.SessionPreferencesStoreFactory
import io.element.android.libraries.push.api.notifications.NotificationDrawerManager
import io.element.android.libraries.push.api.notifications.NotificationCleaner
import io.element.android.libraries.push.impl.R
import io.element.android.libraries.push.impl.notifications.model.NotifiableMessageEvent
import io.element.android.libraries.push.impl.push.OnNotifiableEventReceived
@ -47,7 +47,7 @@ class NotificationBroadcastReceiverHandler @Inject constructor(
private val appCoroutineScope: CoroutineScope,
private val matrixClientProvider: MatrixClientProvider,
private val sessionPreferencesStore: SessionPreferencesStoreFactory,
private val notificationDrawerManager: NotificationDrawerManager,
private val notificationCleaner: NotificationCleaner,
private val actionIds: NotificationActionIds,
private val systemClock: SystemClock,
private val onNotifiableEventReceived: OnNotifiableEventReceived,
@ -66,26 +66,26 @@ class NotificationBroadcastReceiverHandler @Inject constructor(
handleSmartReply(sessionId, roomId, threadId, intent)
}
actionIds.dismissRoom -> if (roomId != null) {
notificationDrawerManager.clearMessagesForRoom(sessionId, roomId)
notificationCleaner.clearMessagesForRoom(sessionId, roomId)
}
actionIds.dismissSummary ->
notificationDrawerManager.clearAllMessagesEvents(sessionId)
notificationCleaner.clearAllMessagesEvents(sessionId)
actionIds.dismissInvite -> if (roomId != null) {
notificationDrawerManager.clearMembershipNotificationForRoom(sessionId, roomId)
notificationCleaner.clearMembershipNotificationForRoom(sessionId, roomId)
}
actionIds.dismissEvent -> if (eventId != null) {
notificationDrawerManager.clearEvent(sessionId, eventId)
notificationCleaner.clearEvent(sessionId, eventId)
}
actionIds.markRoomRead -> if (roomId != null) {
notificationDrawerManager.clearMessagesForRoom(sessionId, roomId)
notificationCleaner.clearMessagesForRoom(sessionId, roomId)
handleMarkAsRead(sessionId, roomId)
}
actionIds.join -> if (roomId != null) {
notificationDrawerManager.clearMembershipNotificationForRoom(sessionId, roomId)
notificationCleaner.clearMembershipNotificationForRoom(sessionId, roomId)
handleJoinRoom(sessionId, roomId)
}
actionIds.reject -> if (roomId != null) {
notificationDrawerManager.clearMembershipNotificationForRoom(sessionId, roomId)
notificationCleaner.clearMembershipNotificationForRoom(sessionId, roomId)
handleRejectRoom(sessionId, roomId)
}
}

View file

@ -40,11 +40,11 @@ import io.element.android.libraries.preferences.api.store.SessionPreferencesStor
import io.element.android.libraries.preferences.api.store.SessionPreferencesStoreFactory
import io.element.android.libraries.preferences.test.FakeSessionPreferencesStoreFactory
import io.element.android.libraries.preferences.test.InMemorySessionPreferencesStore
import io.element.android.libraries.push.api.notifications.NotificationDrawerManager
import io.element.android.libraries.push.api.notifications.NotificationCleaner
import io.element.android.libraries.push.impl.notifications.model.NotifiableEvent
import io.element.android.libraries.push.impl.push.FakeOnNotifiableEventReceived
import io.element.android.libraries.push.impl.push.OnNotifiableEventReceived
import io.element.android.libraries.push.test.notifications.FakeNotificationDrawerManager
import io.element.android.libraries.push.test.notifications.FakeNotificationCleaner
import io.element.android.services.toolbox.api.strings.StringProvider
import io.element.android.services.toolbox.api.systemclock.SystemClock
import io.element.android.services.toolbox.test.strings.FakeStringProvider
@ -90,11 +90,11 @@ class NotificationBroadcastReceiverHandlerTest {
@Test
fun `Test dismiss room`() = runTest {
val clearMessagesForRoomLambda = lambdaRecorder<SessionId, RoomId, Unit> { _, _ -> }
val notificationDrawerManager = FakeNotificationDrawerManager(
val fakeNotificationCleaner = FakeNotificationCleaner(
clearMessagesForRoomLambda = clearMessagesForRoomLambda,
)
val sut = createNotificationBroadcastReceiverHandler(
notificationDrawerManager = notificationDrawerManager
notificationCleaner = fakeNotificationCleaner
)
sut.onReceive(
createIntent(
@ -111,11 +111,11 @@ class NotificationBroadcastReceiverHandlerTest {
@Test
fun `Test dismiss summary`() = runTest {
val clearAllMessagesEventsLambda = lambdaRecorder<SessionId, Unit> { _ -> }
val notificationDrawerManager = FakeNotificationDrawerManager(
val fakeNotificationCleaner = FakeNotificationCleaner(
clearAllMessagesEventsLambda = clearAllMessagesEventsLambda,
)
val sut = createNotificationBroadcastReceiverHandler(
notificationDrawerManager = notificationDrawerManager
notificationCleaner = fakeNotificationCleaner
)
sut.onReceive(
createIntent(
@ -140,11 +140,11 @@ class NotificationBroadcastReceiverHandlerTest {
@Test
fun `Test dismiss Invite`() = runTest {
val clearMembershipNotificationForRoomLambda = lambdaRecorder<SessionId, RoomId, Unit> { _, _ -> }
val notificationDrawerManager = FakeNotificationDrawerManager(
val fakeNotificationCleaner = FakeNotificationCleaner(
clearMembershipNotificationForRoomLambda = clearMembershipNotificationForRoomLambda,
)
val sut = createNotificationBroadcastReceiverHandler(
notificationDrawerManager = notificationDrawerManager
notificationCleaner = fakeNotificationCleaner
)
sut.onReceive(
createIntent(
@ -170,11 +170,11 @@ class NotificationBroadcastReceiverHandlerTest {
@Test
fun `Test dismiss Event`() = runTest {
val clearEventLambda = lambdaRecorder<SessionId, EventId, Unit> { _, _ -> }
val notificationDrawerManager = FakeNotificationDrawerManager(
val fakeNotificationCleaner = FakeNotificationCleaner(
clearEventLambda = clearEventLambda,
)
val sut = createNotificationBroadcastReceiverHandler(
notificationDrawerManager = notificationDrawerManager
notificationCleaner = fakeNotificationCleaner
)
sut.onReceive(
createIntent(
@ -227,13 +227,13 @@ class NotificationBroadcastReceiverHandlerTest {
)
val clearMessagesForRoomLambda = lambdaRecorder<SessionId, RoomId, Unit> { _, _ -> }
val matrixRoom = FakeMatrixRoom()
val notificationDrawerManager = FakeNotificationDrawerManager(
val fakeNotificationCleaner = FakeNotificationCleaner(
clearMessagesForRoomLambda = clearMessagesForRoomLambda,
)
val sut = createNotificationBroadcastReceiverHandler(
sessionPreferencesStore = sessionPreferencesStore,
matrixRoom = matrixRoom,
notificationDrawerManager = notificationDrawerManager
notificationCleaner = fakeNotificationCleaner
)
sut.onReceive(
createIntent(
@ -262,12 +262,12 @@ class NotificationBroadcastReceiverHandlerTest {
fun `Test join room`() = runTest {
val joinRoom = lambdaRecorder<RoomId, Result<Unit>> { _ -> Result.success(Unit) }
val clearMembershipNotificationForRoomLambda = lambdaRecorder<SessionId, RoomId, Unit> { _, _ -> }
val notificationDrawerManager = FakeNotificationDrawerManager(
val fakeNotificationCleaner = FakeNotificationCleaner(
clearMembershipNotificationForRoomLambda = clearMembershipNotificationForRoomLambda,
)
val sut = createNotificationBroadcastReceiverHandler(
joinRoom = joinRoom,
notificationDrawerManager = notificationDrawerManager,
notificationCleaner = fakeNotificationCleaner,
)
sut.onReceive(
createIntent(
@ -301,12 +301,12 @@ class NotificationBroadcastReceiverHandlerTest {
leaveRoomLambda = leaveRoom
}
val clearMembershipNotificationForRoomLambda = lambdaRecorder<SessionId, RoomId, Unit> { _, _ -> }
val notificationDrawerManager = FakeNotificationDrawerManager(
val fakeNotificationCleaner = FakeNotificationCleaner(
clearMembershipNotificationForRoomLambda = clearMembershipNotificationForRoomLambda,
)
val sut = createNotificationBroadcastReceiverHandler(
matrixRoom = matrixRoom,
notificationDrawerManager = notificationDrawerManager
notificationCleaner = fakeNotificationCleaner
)
sut.onReceive(
createIntent(
@ -447,7 +447,7 @@ class NotificationBroadcastReceiverHandlerTest {
joinRoomLambda = joinRoom
},
sessionPreferencesStore: SessionPreferencesStoreFactory = FakeSessionPreferencesStoreFactory(),
notificationDrawerManager: NotificationDrawerManager = FakeNotificationDrawerManager(),
notificationCleaner: NotificationCleaner = FakeNotificationCleaner(),
systemClock: SystemClock = FakeSystemClock(),
onNotifiableEventReceived: OnNotifiableEventReceived = FakeOnNotifiableEventReceived(),
stringProvider: StringProvider = FakeStringProvider(),
@ -463,7 +463,7 @@ class NotificationBroadcastReceiverHandlerTest {
}
},
sessionPreferencesStore = sessionPreferencesStore,
notificationDrawerManager = notificationDrawerManager,
notificationCleaner = notificationCleaner,
actionIds = actionIds,
systemClock = systemClock,
onNotifiableEventReceived = onNotifiableEventReceived,