немного изменения медиатора
This commit is contained in:
parent
4bf7ebb6bf
commit
c8f8b59672
17
.idea/deploymentTargetDropDown.xml
Normal file
17
.idea/deploymentTargetDropDown.xml
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project version="4">
|
||||||
|
<component name="deploymentTargetDropDown">
|
||||||
|
<runningDeviceTargetSelectedWithDropDown>
|
||||||
|
<Target>
|
||||||
|
<type value="RUNNING_DEVICE_TARGET" />
|
||||||
|
<deviceKey>
|
||||||
|
<Key>
|
||||||
|
<type value="SERIAL_NUMBER" />
|
||||||
|
<value value="KFRSEQ6DTWWWQOE6" />
|
||||||
|
</Key>
|
||||||
|
</deviceKey>
|
||||||
|
</Target>
|
||||||
|
</runningDeviceTargetSelectedWithDropDown>
|
||||||
|
<timeTargetWasSelectedWithDropDown value="2023-12-24T13:45:26.698560500Z" />
|
||||||
|
</component>
|
||||||
|
</project>
|
@ -55,9 +55,6 @@ class CinemaRemoteMediator(
|
|||||||
|
|
||||||
try {
|
try {
|
||||||
val cinemas = service.getCinemas(page, state.config.pageSize).map { it.toCinema() }
|
val cinemas = service.getCinemas(page, state.config.pageSize).map { it.toCinema() }
|
||||||
val sessionsFromCinemas = cinemas.flatMap { cinema ->
|
|
||||||
service.getCinemaWithSessions(cinema.uid).toSessions()
|
|
||||||
}
|
|
||||||
val endOfPaginationReached = cinemas.isEmpty()
|
val endOfPaginationReached = cinemas.isEmpty()
|
||||||
database.withTransaction {
|
database.withTransaction {
|
||||||
if (loadType == LoadType.REFRESH) {
|
if (loadType == LoadType.REFRESH) {
|
||||||
@ -77,7 +74,6 @@ class CinemaRemoteMediator(
|
|||||||
}
|
}
|
||||||
dbRemoteKeyRepository.createRemoteKeys(keys)
|
dbRemoteKeyRepository.createRemoteKeys(keys)
|
||||||
dbCinemaRepository.insertCinemas(cinemas)
|
dbCinemaRepository.insertCinemas(cinemas)
|
||||||
dbSessionRepository.insertSessions(sessionsFromCinemas)
|
|
||||||
}
|
}
|
||||||
return MediatorResult.Success(endOfPaginationReached = endOfPaginationReached)
|
return MediatorResult.Success(endOfPaginationReached = endOfPaginationReached)
|
||||||
} catch (exception: IOException) {
|
} catch (exception: IOException) {
|
||||||
|
@ -5,11 +5,13 @@ import androidx.paging.Pager
|
|||||||
import androidx.paging.PagingConfig
|
import androidx.paging.PagingConfig
|
||||||
import androidx.paging.PagingData
|
import androidx.paging.PagingData
|
||||||
import com.example.myapplication.api.MyServerService
|
import com.example.myapplication.api.MyServerService
|
||||||
|
import com.example.myapplication.api.session.toSessionFromCinema
|
||||||
import com.example.myapplication.database.AppContainer
|
import com.example.myapplication.database.AppContainer
|
||||||
import com.example.myapplication.database.AppDatabase
|
import com.example.myapplication.database.AppDatabase
|
||||||
import com.example.myapplication.database.entities.model.Cinema
|
import com.example.myapplication.database.entities.model.Cinema
|
||||||
import com.example.myapplication.database.entities.model.CinemaWithSessions
|
import com.example.myapplication.database.entities.model.CinemaWithSessions
|
||||||
import com.example.myapplication.database.entities.model.SessionFromCinema
|
import com.example.myapplication.database.entities.model.SessionFromCinema
|
||||||
|
import com.example.myapplication.database.entities.model.toSession
|
||||||
import com.example.myapplication.database.entities.repository.CinemaRepository
|
import com.example.myapplication.database.entities.repository.CinemaRepository
|
||||||
import com.example.myapplication.database.entities.repository.OfflineCinemaRepository
|
import com.example.myapplication.database.entities.repository.OfflineCinemaRepository
|
||||||
import com.example.myapplication.database.entities.repository.OfflineSessionRepository
|
import com.example.myapplication.database.entities.repository.OfflineSessionRepository
|
||||||
@ -65,6 +67,9 @@ class RestCinemaRepository(
|
|||||||
uid
|
uid
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
dbSessionRepository.insertSessions(cinemaWithSessions.sessions.map {
|
||||||
|
it.toSessionFromCinema().toSession()
|
||||||
|
})
|
||||||
return CinemaWithSessions(cinemaWithSessions.toCinema(), sessions)
|
return CinemaWithSessions(cinemaWithSessions.toCinema(), sessions)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user