mirror of
https://github.com/openflocon/Flocon.git
synced 2026-04-30 19:39:33 +00:00
feat: [DEEPLINK] add history (#248)
Co-authored-by: Florent Champigny <florent@bere.al>
This commit is contained in:
parent
05045ef0b4
commit
e52f5c1687
21 changed files with 332 additions and 24 deletions
|
|
@ -9,4 +9,21 @@ interface DeeplinkLocalDataSource {
|
|||
suspend fun update(deviceIdAndPackageNameDomainModel: DeviceIdAndPackageNameDomainModel, deeplinks: List<DeeplinkDomainModel>)
|
||||
|
||||
fun observe(deviceIdAndPackageNameDomainModel: DeviceIdAndPackageNameDomainModel): Flow<List<DeeplinkDomainModel>>
|
||||
|
||||
fun observeHistory(deviceIdAndPackageNameDomainModel: DeviceIdAndPackageNameDomainModel): Flow<List<DeeplinkDomainModel>>
|
||||
|
||||
suspend fun addToHistory(
|
||||
deviceIdAndPackageName: DeviceIdAndPackageNameDomainModel,
|
||||
item: DeeplinkDomainModel
|
||||
)
|
||||
|
||||
suspend fun removeFromHistory(
|
||||
deviceIdAndPackageName: DeviceIdAndPackageNameDomainModel,
|
||||
deeplinkId: Long,
|
||||
)
|
||||
|
||||
suspend fun getDeeplinkById(
|
||||
deeplinkId: Long,
|
||||
deviceIdAndPackageName: DeviceIdAndPackageNameDomainModel
|
||||
): DeeplinkDomainModel?
|
||||
}
|
||||
|
|
|
|||
|
|
@ -11,6 +11,7 @@ import io.github.openflocon.domain.messages.models.FloconIncomingMessageDomainMo
|
|||
import io.github.openflocon.domain.messages.repository.MessagesReceiverRepository
|
||||
import kotlinx.coroutines.flow.Flow
|
||||
import kotlinx.coroutines.flow.flowOn
|
||||
import kotlinx.coroutines.withContext
|
||||
|
||||
class DeeplinkRepositoryImpl(
|
||||
private val localDeeplinkDataSource: DeeplinkLocalDataSource,
|
||||
|
|
@ -46,4 +47,40 @@ class DeeplinkRepositoryImpl(
|
|||
|
||||
override fun observe(deviceIdAndPackageName: DeviceIdAndPackageNameDomainModel): Flow<List<DeeplinkDomainModel>> = localDeeplinkDataSource.observe(deviceIdAndPackageName)
|
||||
.flowOn(dispatcherProvider.data)
|
||||
|
||||
override suspend fun getDeeplinkById(
|
||||
deeplinkId: Long,
|
||||
deviceIdAndPackageName: DeviceIdAndPackageNameDomainModel
|
||||
): DeeplinkDomainModel? {
|
||||
return withContext(dispatcherProvider.data) {
|
||||
localDeeplinkDataSource.getDeeplinkById(deeplinkId, deviceIdAndPackageName)
|
||||
}
|
||||
}
|
||||
|
||||
override fun observeHistory(deviceIdAndPackageName: DeviceIdAndPackageNameDomainModel): Flow<List<DeeplinkDomainModel>> = localDeeplinkDataSource.observeHistory(deviceIdAndPackageName)
|
||||
.flowOn(dispatcherProvider.data)
|
||||
|
||||
override suspend fun addToHistory(
|
||||
item: DeeplinkDomainModel,
|
||||
deviceIdAndPackageName: DeviceIdAndPackageNameDomainModel
|
||||
) {
|
||||
withContext(dispatcherProvider.data) {
|
||||
localDeeplinkDataSource.addToHistory(
|
||||
deviceIdAndPackageName = deviceIdAndPackageName,
|
||||
item = item,
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
override suspend fun removeFromHistory(
|
||||
deeplinkId: Long,
|
||||
deviceIdAndPackageName: DeviceIdAndPackageNameDomainModel
|
||||
) {
|
||||
withContext(dispatcherProvider.data) {
|
||||
localDeeplinkDataSource.removeFromHistory(
|
||||
deviceIdAndPackageName = deviceIdAndPackageName,
|
||||
deeplinkId = deeplinkId
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue