From 4d935920d0abcafea414da17a341b9726ab04ee0 Mon Sep 17 00:00:00 2001 From: Andy Scherzinger Date: Sat, 23 Jul 2022 16:35:51 +0200 Subject: [PATCH] Migrate RemoteFileBrowser and UnifiedSearch classes to room Signed-off-by: Andy Scherzinger --- .../talk/dagger/modules/RepositoryModule.kt | 5 ++--- .../activities/RemoteFileBrowserActivity.kt | 6 +++--- .../adapters/RemoteFileBrowserItemsAdapter.kt | 8 ++++---- .../RemoteFileBrowserItemsListViewHolder.kt | 4 ++-- .../adapters/RemoteFileBrowserItemsViewHolder.kt | 4 ++-- .../unifiedsearch/UnifiedSearchRepositoryImpl.kt | 16 ++++++++-------- 6 files changed, 21 insertions(+), 22 deletions(-) diff --git a/app/src/main/java/com/nextcloud/talk/dagger/modules/RepositoryModule.kt b/app/src/main/java/com/nextcloud/talk/dagger/modules/RepositoryModule.kt index 47e3747b3..0594ae4f8 100644 --- a/app/src/main/java/com/nextcloud/talk/dagger/modules/RepositoryModule.kt +++ b/app/src/main/java/com/nextcloud/talk/dagger/modules/RepositoryModule.kt @@ -37,7 +37,6 @@ import com.nextcloud.talk.repositories.unifiedsearch.UnifiedSearchRepository import com.nextcloud.talk.repositories.unifiedsearch.UnifiedSearchRepositoryImpl import com.nextcloud.talk.shareditems.repositories.SharedItemsRepository import com.nextcloud.talk.shareditems.repositories.SharedItemsRepositoryImpl -import com.nextcloud.talk.utils.database.user.CurrentUserProvider import com.nextcloud.talk.utils.database.user.CurrentUserProviderNew import dagger.Module import dagger.Provides @@ -51,7 +50,7 @@ class RepositoryModule { } @Provides - fun provideUnifiedSearchRepository(ncApi: NcApi, userProvider: CurrentUserProvider): UnifiedSearchRepository { + fun provideUnifiedSearchRepository(ncApi: NcApi, userProvider: CurrentUserProviderNew): UnifiedSearchRepository { return UnifiedSearchRepositoryImpl(ncApi, userProvider) } @@ -61,7 +60,7 @@ class RepositoryModule { } @Provides - fun provideRemoteFileBrowserItemsRepository(okHttpClient: OkHttpClient, userProvider: CurrentUserProvider): + fun provideRemoteFileBrowserItemsRepository(okHttpClient: OkHttpClient, userProvider: CurrentUserProviderNew): RemoteFileBrowserItemsRepository { return RemoteFileBrowserItemsRepositoryImpl(okHttpClient, userProvider) } diff --git a/app/src/main/java/com/nextcloud/talk/remotefilebrowser/activities/RemoteFileBrowserActivity.kt b/app/src/main/java/com/nextcloud/talk/remotefilebrowser/activities/RemoteFileBrowserActivity.kt index 3e3caf29e..75f87bf93 100644 --- a/app/src/main/java/com/nextcloud/talk/remotefilebrowser/activities/RemoteFileBrowserActivity.kt +++ b/app/src/main/java/com/nextcloud/talk/remotefilebrowser/activities/RemoteFileBrowserActivity.kt @@ -47,7 +47,7 @@ import com.nextcloud.talk.ui.dialog.SortingOrderDialogFragment import com.nextcloud.talk.utils.DisplayUtils import com.nextcloud.talk.utils.FileSortOrder import com.nextcloud.talk.utils.bundle.BundleKeys.KEY_MIME_TYPE_FILTER -import com.nextcloud.talk.utils.database.user.CurrentUserProvider +import com.nextcloud.talk.utils.database.user.CurrentUserProviderNew import javax.inject.Inject @AutoInjector(NextcloudTalkApplication::class) @@ -57,7 +57,7 @@ class RemoteFileBrowserActivity : AppCompatActivity(), SelectionInterface, Swipe lateinit var viewModelFactory: ViewModelProvider.Factory @Inject - lateinit var currentUserProvider: CurrentUserProvider + lateinit var currentUserProvider: CurrentUserProviderNew private lateinit var binding: ActivityRemoteFileBrowserBinding private lateinit var viewModel: RemoteFileBrowserItemsViewModel @@ -158,7 +158,7 @@ class RemoteFileBrowserActivity : AppCompatActivity(), SelectionInterface, Swipe val adapter = RemoteFileBrowserItemsAdapter( showGrid = showGrid, mimeTypeSelectionFilter = mimeTypeSelectionFilter, - userEntity = currentUserProvider.currentUser!!, + user = currentUserProvider.currentUser.blockingGet(), selectionInterface = this, onItemClicked = viewModel::onItemClicked ) diff --git a/app/src/main/java/com/nextcloud/talk/remotefilebrowser/adapters/RemoteFileBrowserItemsAdapter.kt b/app/src/main/java/com/nextcloud/talk/remotefilebrowser/adapters/RemoteFileBrowserItemsAdapter.kt index 2d6020394..5a146cb11 100644 --- a/app/src/main/java/com/nextcloud/talk/remotefilebrowser/adapters/RemoteFileBrowserItemsAdapter.kt +++ b/app/src/main/java/com/nextcloud/talk/remotefilebrowser/adapters/RemoteFileBrowserItemsAdapter.kt @@ -24,15 +24,15 @@ import android.annotation.SuppressLint import android.view.LayoutInflater import android.view.ViewGroup import androidx.recyclerview.widget.RecyclerView +import com.nextcloud.talk.data.user.model.User import com.nextcloud.talk.databinding.RvItemBrowserFileBinding -import com.nextcloud.talk.models.database.UserEntity import com.nextcloud.talk.remotefilebrowser.SelectionInterface import com.nextcloud.talk.remotefilebrowser.model.RemoteFileBrowserItem class RemoteFileBrowserItemsAdapter( private val showGrid: Boolean = false, private val mimeTypeSelectionFilter: String? = null, - private val userEntity: UserEntity, + private val user: User, private val selectionInterface: SelectionInterface, private val onItemClicked: (RemoteFileBrowserItem) -> Unit ) : RecyclerView.Adapter() { @@ -49,7 +49,7 @@ class RemoteFileBrowserItemsAdapter( false ), mimeTypeSelectionFilter, - userEntity, + user, selectionInterface ) { onItemClicked(items[it]) @@ -62,7 +62,7 @@ class RemoteFileBrowserItemsAdapter( false ), mimeTypeSelectionFilter, - userEntity, + user, selectionInterface ) { onItemClicked(items[it]) diff --git a/app/src/main/java/com/nextcloud/talk/remotefilebrowser/adapters/RemoteFileBrowserItemsListViewHolder.kt b/app/src/main/java/com/nextcloud/talk/remotefilebrowser/adapters/RemoteFileBrowserItemsListViewHolder.kt index 95a25aae0..22ad32704 100644 --- a/app/src/main/java/com/nextcloud/talk/remotefilebrowser/adapters/RemoteFileBrowserItemsListViewHolder.kt +++ b/app/src/main/java/com/nextcloud/talk/remotefilebrowser/adapters/RemoteFileBrowserItemsListViewHolder.kt @@ -29,8 +29,8 @@ import com.facebook.drawee.interfaces.DraweeController import com.facebook.drawee.view.SimpleDraweeView import com.nextcloud.talk.R import com.nextcloud.talk.application.NextcloudTalkApplication +import com.nextcloud.talk.data.user.model.User import com.nextcloud.talk.databinding.RvItemBrowserFileBinding -import com.nextcloud.talk.models.database.UserEntity import com.nextcloud.talk.remotefilebrowser.SelectionInterface import com.nextcloud.talk.remotefilebrowser.model.RemoteFileBrowserItem import com.nextcloud.talk.utils.ApiUtils @@ -43,7 +43,7 @@ import com.nextcloud.talk.utils.Mimetype.FOLDER class RemoteFileBrowserItemsListViewHolder( override val binding: RvItemBrowserFileBinding, mimeTypeSelectionFilter: String?, - currentUser: UserEntity, + currentUser: User, selectionInterface: SelectionInterface, onItemClicked: (Int) -> Unit ) : RemoteFileBrowserItemsViewHolder(binding, mimeTypeSelectionFilter, currentUser, selectionInterface) { diff --git a/app/src/main/java/com/nextcloud/talk/remotefilebrowser/adapters/RemoteFileBrowserItemsViewHolder.kt b/app/src/main/java/com/nextcloud/talk/remotefilebrowser/adapters/RemoteFileBrowserItemsViewHolder.kt index 71f343eb9..fa76dcccb 100644 --- a/app/src/main/java/com/nextcloud/talk/remotefilebrowser/adapters/RemoteFileBrowserItemsViewHolder.kt +++ b/app/src/main/java/com/nextcloud/talk/remotefilebrowser/adapters/RemoteFileBrowserItemsViewHolder.kt @@ -25,7 +25,7 @@ import androidx.core.content.ContextCompat import androidx.recyclerview.widget.RecyclerView import androidx.viewbinding.ViewBinding import com.facebook.drawee.view.SimpleDraweeView -import com.nextcloud.talk.models.database.UserEntity +import com.nextcloud.talk.data.user.model.User import com.nextcloud.talk.remotefilebrowser.SelectionInterface import com.nextcloud.talk.remotefilebrowser.model.RemoteFileBrowserItem import com.nextcloud.talk.utils.DrawableUtils @@ -33,7 +33,7 @@ import com.nextcloud.talk.utils.DrawableUtils abstract class RemoteFileBrowserItemsViewHolder( open val binding: ViewBinding, val mimeTypeSelectionFilter: String? = null, - val currentUser: UserEntity, + val currentUser: User, val selectionInterface: SelectionInterface, ) : RecyclerView.ViewHolder(binding.root) { diff --git a/app/src/main/java/com/nextcloud/talk/repositories/unifiedsearch/UnifiedSearchRepositoryImpl.kt b/app/src/main/java/com/nextcloud/talk/repositories/unifiedsearch/UnifiedSearchRepositoryImpl.kt index 39623b3a2..2083418ec 100644 --- a/app/src/main/java/com/nextcloud/talk/repositories/unifiedsearch/UnifiedSearchRepositoryImpl.kt +++ b/app/src/main/java/com/nextcloud/talk/repositories/unifiedsearch/UnifiedSearchRepositoryImpl.kt @@ -22,22 +22,22 @@ package com.nextcloud.talk.repositories.unifiedsearch import com.nextcloud.talk.api.NcApi -import com.nextcloud.talk.models.database.UserEntity +import com.nextcloud.talk.data.user.model.User import com.nextcloud.talk.models.domain.SearchMessageEntry import com.nextcloud.talk.models.json.unifiedsearch.UnifiedSearchEntry import com.nextcloud.talk.models.json.unifiedsearch.UnifiedSearchResponseData import com.nextcloud.talk.utils.ApiUtils -import com.nextcloud.talk.utils.database.user.CurrentUserProvider +import com.nextcloud.talk.utils.database.user.CurrentUserProviderNew import io.reactivex.Observable -class UnifiedSearchRepositoryImpl(private val api: NcApi, private val userProvider: CurrentUserProvider) : +class UnifiedSearchRepositoryImpl(private val api: NcApi, private val userProvider: CurrentUserProviderNew) : UnifiedSearchRepository { - private val userEntity: UserEntity - get() = userProvider.currentUser!! + private val user: User + get() = userProvider.currentUser.blockingGet() private val credentials: String - get() = ApiUtils.getCredentials(userEntity.username, userEntity.token) + get() = ApiUtils.getCredentials(user.username, user.token) override fun searchMessages( searchTerm: String, @@ -46,7 +46,7 @@ class UnifiedSearchRepositoryImpl(private val api: NcApi, private val userProvid ): Observable> { val apiObservable = api.performUnifiedSearch( credentials, - ApiUtils.getUrlForUnifiedSearch(userEntity.baseUrl, PROVIDER_TALK_MESSAGE), + ApiUtils.getUrlForUnifiedSearch(user.baseUrl!!, PROVIDER_TALK_MESSAGE), searchTerm, null, limit, @@ -63,7 +63,7 @@ class UnifiedSearchRepositoryImpl(private val api: NcApi, private val userProvid ): Observable> { val apiObservable = api.performUnifiedSearch( credentials, - ApiUtils.getUrlForUnifiedSearch(userEntity.baseUrl, PROVIDER_TALK_MESSAGE_CURRENT), + ApiUtils.getUrlForUnifiedSearch(user.baseUrl!!, PROVIDER_TALK_MESSAGE_CURRENT), searchTerm, fromUrlForRoom(roomToken), limit,