From d4a0659483e8ee12ada1616639be5d52df0e69e5 Mon Sep 17 00:00:00 2001 From: Onuray Sahin Date: Wed, 30 Sep 2020 10:58:32 +0300 Subject: [PATCH] Init room in constructor. --- .../room/detail/search/SearchViewModel.kt | 29 +++++++++++-------- 1 file changed, 17 insertions(+), 12 deletions(-) diff --git a/vector/src/main/java/im/vector/app/features/home/room/detail/search/SearchViewModel.kt b/vector/src/main/java/im/vector/app/features/home/room/detail/search/SearchViewModel.kt index 9786560d19..62fb9c8ae9 100644 --- a/vector/src/main/java/im/vector/app/features/home/room/detail/search/SearchViewModel.kt +++ b/vector/src/main/java/im/vector/app/features/home/room/detail/search/SearchViewModel.kt @@ -29,6 +29,7 @@ import im.vector.app.core.extensions.exhaustive import im.vector.app.core.platform.VectorViewModel import kotlinx.coroutines.launch import org.matrix.android.sdk.api.session.Session +import org.matrix.android.sdk.api.session.room.Room import org.matrix.android.sdk.api.session.search.SearchResult import org.matrix.android.sdk.internal.util.awaitCallback @@ -37,6 +38,12 @@ class SearchViewModel @AssistedInject constructor( private val session: Session ) : VectorViewModel(initialState) { + private var room: Room? = null + + init { + room = initialState.roomId?.let { session.getRoom(it) } + } + @AssistedInject.Factory interface Factory { fun create(initialState: SearchViewState): SearchViewModel @@ -94,18 +101,16 @@ class SearchViewModel @AssistedInject constructor( viewModelScope.launch { try { val result = awaitCallback { - session - .getRoom(state.roomId) - ?.search( - searchTerm = state.searchTerm, - nextBatch = state.searchResult?.nextBatch, - orderByRecent = true, - beforeLimit = 0, - afterLimit = 0, - includeProfile = true, - limit = 20, - callback = it - ) + room?.search( + searchTerm = state.searchTerm, + nextBatch = state.searchResult?.nextBatch, + orderByRecent = true, + beforeLimit = 0, + afterLimit = 0, + includeProfile = true, + limit = 20, + callback = it + ) } onSearchResultSuccess(result, isNextBatch) } catch (failure: Throwable) {