diff --git a/core/src/main/java/org/futo/circles/core/room/CoreSpacesTreeBuilder.kt b/core/src/main/java/org/futo/circles/core/room/CoreSpacesTreeBuilder.kt index 1cb6b3b4109f3e65e463049c0c74e0d502fa10cf..b20e24c077214eea90f3e36cee81a3be1c9b19fc 100644 --- a/core/src/main/java/org/futo/circles/core/room/CoreSpacesTreeBuilder.kt +++ b/core/src/main/java/org/futo/circles/core/room/CoreSpacesTreeBuilder.kt @@ -21,7 +21,8 @@ import javax.inject.Inject class CoreSpacesTreeBuilder @Inject constructor( @ApplicationContext private val context: Context, - private val createRoomDataSource: CreateRoomDataSource + private val createRoomDataSource: CreateRoomDataSource, + private val userAccountDataDataSource: UserAccountDataDataSource ) { val loadingLiveData = MutableLiveData<LoadingData>() @@ -37,10 +38,13 @@ class CoreSpacesTreeBuilder @Inject constructor( suspend fun createCoreSpacesTree() { loadingLiveData.postValue(LoadingData(messageId = R.string.configuring_workspace)) - coreSpaces.forEach { - createRoomDataSource.createRoom(it) + val configMap = mutableMapOf<String, String>() + coreSpaces.forEach { room -> + val roomId = createRoomDataSource.createRoom(room) + room.accountDataKey?.let { configMap.put(it, roomId) } delay(CREATE_ROOM_DELAY) } + userAccountDataDataSource.saveSpacesTreeConfig(configMap) createRoomDataSource.createRoom(Gallery(), context.getString(R.string.photos)) loadingLiveData.postValue(LoadingData(isLoading = false)) }