Migrate RemoteFileBrowser and UnifiedSearch classes to room

Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
This commit is contained in:
Andy Scherzinger 2022-07-23 16:35:51 +02:00
parent 1a20bd3a3b
commit 4d935920d0
No known key found for this signature in database
GPG Key ID: 6CADC7E3523C308B
6 changed files with 21 additions and 22 deletions

View File

@ -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)
}

View File

@ -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
)

View File

@ -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<RemoteFileBrowserItemsViewHolder>() {
@ -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])

View File

@ -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) {

View File

@ -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) {

View File

@ -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<UnifiedSearchRepository.UnifiedSearchResults<SearchMessageEntry>> {
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<UnifiedSearchRepository.UnifiedSearchResults<SearchMessageEntry>> {
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,