mirror of
https://github.com/nextcloud/talk-android
synced 2025-06-19 19:49:33 +01:00
Migrate RemoteFileBrowser and UnifiedSearch classes to room
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
This commit is contained in:
parent
1a20bd3a3b
commit
4d935920d0
@ -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)
|
||||
}
|
||||
|
@ -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
|
||||
)
|
||||
|
@ -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])
|
||||
|
@ -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) {
|
||||
|
@ -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) {
|
||||
|
||||
|
@ -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,
|
||||
|
Loading…
Reference in New Issue
Block a user