Skip to content

Commit 4907264

Browse files
author
Rostyslav Yeromchenko
committed
Removed unnecessary mapping
1 parent 0559d2a commit 4907264

File tree

2 files changed

+17
-15
lines changed

2 files changed

+17
-15
lines changed

data/src/main/java/org/buffer/android/boilerplate/data/BufferooDataRepository.kt

Lines changed: 13 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -15,34 +15,37 @@ import javax.inject.Inject
1515
* data sources
1616
*/
1717
class BufferooDataRepository @Inject constructor(private val factory: BufferooDataStoreFactory,
18-
private val bufferooMapper: BufferooMapper):
18+
private val bufferooMapper: BufferooMapper) :
1919
BufferooRepository {
2020

2121
override fun clearBufferoos(): Completable {
2222
return factory.retrieveCacheDataStore().clearBufferoos()
2323
}
2424

2525
override fun saveBufferoos(bufferoos: List<Bufferoo>): Completable {
26-
val bufferooEntities = mutableListOf<BufferooEntity>()
27-
bufferoos.map { bufferooEntities.add(bufferooMapper.mapToEntity(it)) }
28-
return factory.retrieveCacheDataStore().saveBufferoos(bufferooEntities)
26+
val bufferooEntities = bufferoos.map { bufferooMapper.mapToEntity(it) }
27+
return saveBufferooEntities(bufferooEntities)
28+
}
29+
30+
private fun saveBufferooEntities(bufferoos: List<BufferooEntity>): Completable {
31+
return factory.retrieveCacheDataStore().saveBufferoos(bufferoos)
2932
}
3033

3134
override fun getBufferoos(): Single<List<Bufferoo>> {
3235
val dataStore = factory.retrieveDataStore()
3336
return dataStore.getBufferoos()
34-
.flatMap {
35-
val bufferoos = mutableListOf<Bufferoo>()
36-
it.map { bufferoos.add(bufferooMapper.mapFromEntity(it)) }
37-
Single.just(bufferoos)
38-
}
3937
.flatMap {
4038
if (dataStore is BufferooRemoteDataStore) {
41-
saveBufferoos(it).toSingle { it }
39+
saveBufferooEntities(it).toSingle { it }
4240
} else {
4341
Single.just(it)
4442
}
4543
}
44+
.map { list ->
45+
list.map { listItem ->
46+
bufferooMapper.mapFromEntity(listItem)
47+
}
48+
}
4649
}
4750

4851
}

remote/src/main/java/org/buffer/android/boilerplate/remote/BufferooRemoteImpl.kt

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -12,19 +12,18 @@ import javax.inject.Inject
1212
* operations in which data store implementation layers can carry out.
1313
*/
1414
class BufferooRemoteImpl @Inject constructor(private val bufferooService: BufferooService,
15-
private val entityMapper: BufferooEntityMapper):
15+
private val entityMapper: BufferooEntityMapper) :
1616
BufferooRemote {
1717

1818
/**
1919
* Retrieve a list of [BufferooEntity] instances from the [BufferooService].
2020
*/
2121
override fun getBufferoos(): Single<List<BufferooEntity>> {
2222
return bufferooService.getBufferoos()
23-
.map { it.team }
2423
.map {
25-
val entities = mutableListOf<BufferooEntity>()
26-
it.forEach { entities.add(entityMapper.mapFromRemote(it)) }
27-
entities
24+
it.team.map { listItem ->
25+
entityMapper.mapFromRemote(listItem)
26+
}
2827
}
2928
}
3029

0 commit comments

Comments
 (0)