mirror of
https://github.com/nextcloud/talk-android
synced 2025-06-20 12:09:45 +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.repositories.unifiedsearch.UnifiedSearchRepositoryImpl
|
||||||
import com.nextcloud.talk.shareditems.repositories.SharedItemsRepository
|
import com.nextcloud.talk.shareditems.repositories.SharedItemsRepository
|
||||||
import com.nextcloud.talk.shareditems.repositories.SharedItemsRepositoryImpl
|
import com.nextcloud.talk.shareditems.repositories.SharedItemsRepositoryImpl
|
||||||
import com.nextcloud.talk.utils.database.user.CurrentUserProvider
|
|
||||||
import com.nextcloud.talk.utils.database.user.CurrentUserProviderNew
|
import com.nextcloud.talk.utils.database.user.CurrentUserProviderNew
|
||||||
import dagger.Module
|
import dagger.Module
|
||||||
import dagger.Provides
|
import dagger.Provides
|
||||||
@ -51,7 +50,7 @@ class RepositoryModule {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Provides
|
@Provides
|
||||||
fun provideUnifiedSearchRepository(ncApi: NcApi, userProvider: CurrentUserProvider): UnifiedSearchRepository {
|
fun provideUnifiedSearchRepository(ncApi: NcApi, userProvider: CurrentUserProviderNew): UnifiedSearchRepository {
|
||||||
return UnifiedSearchRepositoryImpl(ncApi, userProvider)
|
return UnifiedSearchRepositoryImpl(ncApi, userProvider)
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -61,7 +60,7 @@ class RepositoryModule {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Provides
|
@Provides
|
||||||
fun provideRemoteFileBrowserItemsRepository(okHttpClient: OkHttpClient, userProvider: CurrentUserProvider):
|
fun provideRemoteFileBrowserItemsRepository(okHttpClient: OkHttpClient, userProvider: CurrentUserProviderNew):
|
||||||
RemoteFileBrowserItemsRepository {
|
RemoteFileBrowserItemsRepository {
|
||||||
return RemoteFileBrowserItemsRepositoryImpl(okHttpClient, userProvider)
|
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.DisplayUtils
|
||||||
import com.nextcloud.talk.utils.FileSortOrder
|
import com.nextcloud.talk.utils.FileSortOrder
|
||||||
import com.nextcloud.talk.utils.bundle.BundleKeys.KEY_MIME_TYPE_FILTER
|
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
|
import javax.inject.Inject
|
||||||
|
|
||||||
@AutoInjector(NextcloudTalkApplication::class)
|
@AutoInjector(NextcloudTalkApplication::class)
|
||||||
@ -57,7 +57,7 @@ class RemoteFileBrowserActivity : AppCompatActivity(), SelectionInterface, Swipe
|
|||||||
lateinit var viewModelFactory: ViewModelProvider.Factory
|
lateinit var viewModelFactory: ViewModelProvider.Factory
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
lateinit var currentUserProvider: CurrentUserProvider
|
lateinit var currentUserProvider: CurrentUserProviderNew
|
||||||
|
|
||||||
private lateinit var binding: ActivityRemoteFileBrowserBinding
|
private lateinit var binding: ActivityRemoteFileBrowserBinding
|
||||||
private lateinit var viewModel: RemoteFileBrowserItemsViewModel
|
private lateinit var viewModel: RemoteFileBrowserItemsViewModel
|
||||||
@ -158,7 +158,7 @@ class RemoteFileBrowserActivity : AppCompatActivity(), SelectionInterface, Swipe
|
|||||||
val adapter = RemoteFileBrowserItemsAdapter(
|
val adapter = RemoteFileBrowserItemsAdapter(
|
||||||
showGrid = showGrid,
|
showGrid = showGrid,
|
||||||
mimeTypeSelectionFilter = mimeTypeSelectionFilter,
|
mimeTypeSelectionFilter = mimeTypeSelectionFilter,
|
||||||
userEntity = currentUserProvider.currentUser!!,
|
user = currentUserProvider.currentUser.blockingGet(),
|
||||||
selectionInterface = this,
|
selectionInterface = this,
|
||||||
onItemClicked = viewModel::onItemClicked
|
onItemClicked = viewModel::onItemClicked
|
||||||
)
|
)
|
||||||
|
@ -24,15 +24,15 @@ import android.annotation.SuppressLint
|
|||||||
import android.view.LayoutInflater
|
import android.view.LayoutInflater
|
||||||
import android.view.ViewGroup
|
import android.view.ViewGroup
|
||||||
import androidx.recyclerview.widget.RecyclerView
|
import androidx.recyclerview.widget.RecyclerView
|
||||||
|
import com.nextcloud.talk.data.user.model.User
|
||||||
import com.nextcloud.talk.databinding.RvItemBrowserFileBinding
|
import com.nextcloud.talk.databinding.RvItemBrowserFileBinding
|
||||||
import com.nextcloud.talk.models.database.UserEntity
|
|
||||||
import com.nextcloud.talk.remotefilebrowser.SelectionInterface
|
import com.nextcloud.talk.remotefilebrowser.SelectionInterface
|
||||||
import com.nextcloud.talk.remotefilebrowser.model.RemoteFileBrowserItem
|
import com.nextcloud.talk.remotefilebrowser.model.RemoteFileBrowserItem
|
||||||
|
|
||||||
class RemoteFileBrowserItemsAdapter(
|
class RemoteFileBrowserItemsAdapter(
|
||||||
private val showGrid: Boolean = false,
|
private val showGrid: Boolean = false,
|
||||||
private val mimeTypeSelectionFilter: String? = null,
|
private val mimeTypeSelectionFilter: String? = null,
|
||||||
private val userEntity: UserEntity,
|
private val user: User,
|
||||||
private val selectionInterface: SelectionInterface,
|
private val selectionInterface: SelectionInterface,
|
||||||
private val onItemClicked: (RemoteFileBrowserItem) -> Unit
|
private val onItemClicked: (RemoteFileBrowserItem) -> Unit
|
||||||
) : RecyclerView.Adapter<RemoteFileBrowserItemsViewHolder>() {
|
) : RecyclerView.Adapter<RemoteFileBrowserItemsViewHolder>() {
|
||||||
@ -49,7 +49,7 @@ class RemoteFileBrowserItemsAdapter(
|
|||||||
false
|
false
|
||||||
),
|
),
|
||||||
mimeTypeSelectionFilter,
|
mimeTypeSelectionFilter,
|
||||||
userEntity,
|
user,
|
||||||
selectionInterface
|
selectionInterface
|
||||||
) {
|
) {
|
||||||
onItemClicked(items[it])
|
onItemClicked(items[it])
|
||||||
@ -62,7 +62,7 @@ class RemoteFileBrowserItemsAdapter(
|
|||||||
false
|
false
|
||||||
),
|
),
|
||||||
mimeTypeSelectionFilter,
|
mimeTypeSelectionFilter,
|
||||||
userEntity,
|
user,
|
||||||
selectionInterface
|
selectionInterface
|
||||||
) {
|
) {
|
||||||
onItemClicked(items[it])
|
onItemClicked(items[it])
|
||||||
|
@ -29,8 +29,8 @@ import com.facebook.drawee.interfaces.DraweeController
|
|||||||
import com.facebook.drawee.view.SimpleDraweeView
|
import com.facebook.drawee.view.SimpleDraweeView
|
||||||
import com.nextcloud.talk.R
|
import com.nextcloud.talk.R
|
||||||
import com.nextcloud.talk.application.NextcloudTalkApplication
|
import com.nextcloud.talk.application.NextcloudTalkApplication
|
||||||
|
import com.nextcloud.talk.data.user.model.User
|
||||||
import com.nextcloud.talk.databinding.RvItemBrowserFileBinding
|
import com.nextcloud.talk.databinding.RvItemBrowserFileBinding
|
||||||
import com.nextcloud.talk.models.database.UserEntity
|
|
||||||
import com.nextcloud.talk.remotefilebrowser.SelectionInterface
|
import com.nextcloud.talk.remotefilebrowser.SelectionInterface
|
||||||
import com.nextcloud.talk.remotefilebrowser.model.RemoteFileBrowserItem
|
import com.nextcloud.talk.remotefilebrowser.model.RemoteFileBrowserItem
|
||||||
import com.nextcloud.talk.utils.ApiUtils
|
import com.nextcloud.talk.utils.ApiUtils
|
||||||
@ -43,7 +43,7 @@ import com.nextcloud.talk.utils.Mimetype.FOLDER
|
|||||||
class RemoteFileBrowserItemsListViewHolder(
|
class RemoteFileBrowserItemsListViewHolder(
|
||||||
override val binding: RvItemBrowserFileBinding,
|
override val binding: RvItemBrowserFileBinding,
|
||||||
mimeTypeSelectionFilter: String?,
|
mimeTypeSelectionFilter: String?,
|
||||||
currentUser: UserEntity,
|
currentUser: User,
|
||||||
selectionInterface: SelectionInterface,
|
selectionInterface: SelectionInterface,
|
||||||
onItemClicked: (Int) -> Unit
|
onItemClicked: (Int) -> Unit
|
||||||
) : RemoteFileBrowserItemsViewHolder(binding, mimeTypeSelectionFilter, currentUser, selectionInterface) {
|
) : RemoteFileBrowserItemsViewHolder(binding, mimeTypeSelectionFilter, currentUser, selectionInterface) {
|
||||||
|
@ -25,7 +25,7 @@ import androidx.core.content.ContextCompat
|
|||||||
import androidx.recyclerview.widget.RecyclerView
|
import androidx.recyclerview.widget.RecyclerView
|
||||||
import androidx.viewbinding.ViewBinding
|
import androidx.viewbinding.ViewBinding
|
||||||
import com.facebook.drawee.view.SimpleDraweeView
|
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.SelectionInterface
|
||||||
import com.nextcloud.talk.remotefilebrowser.model.RemoteFileBrowserItem
|
import com.nextcloud.talk.remotefilebrowser.model.RemoteFileBrowserItem
|
||||||
import com.nextcloud.talk.utils.DrawableUtils
|
import com.nextcloud.talk.utils.DrawableUtils
|
||||||
@ -33,7 +33,7 @@ import com.nextcloud.talk.utils.DrawableUtils
|
|||||||
abstract class RemoteFileBrowserItemsViewHolder(
|
abstract class RemoteFileBrowserItemsViewHolder(
|
||||||
open val binding: ViewBinding,
|
open val binding: ViewBinding,
|
||||||
val mimeTypeSelectionFilter: String? = null,
|
val mimeTypeSelectionFilter: String? = null,
|
||||||
val currentUser: UserEntity,
|
val currentUser: User,
|
||||||
val selectionInterface: SelectionInterface,
|
val selectionInterface: SelectionInterface,
|
||||||
) : RecyclerView.ViewHolder(binding.root) {
|
) : RecyclerView.ViewHolder(binding.root) {
|
||||||
|
|
||||||
|
@ -22,22 +22,22 @@
|
|||||||
package com.nextcloud.talk.repositories.unifiedsearch
|
package com.nextcloud.talk.repositories.unifiedsearch
|
||||||
|
|
||||||
import com.nextcloud.talk.api.NcApi
|
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.domain.SearchMessageEntry
|
||||||
import com.nextcloud.talk.models.json.unifiedsearch.UnifiedSearchEntry
|
import com.nextcloud.talk.models.json.unifiedsearch.UnifiedSearchEntry
|
||||||
import com.nextcloud.talk.models.json.unifiedsearch.UnifiedSearchResponseData
|
import com.nextcloud.talk.models.json.unifiedsearch.UnifiedSearchResponseData
|
||||||
import com.nextcloud.talk.utils.ApiUtils
|
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
|
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 {
|
UnifiedSearchRepository {
|
||||||
|
|
||||||
private val userEntity: UserEntity
|
private val user: User
|
||||||
get() = userProvider.currentUser!!
|
get() = userProvider.currentUser.blockingGet()
|
||||||
|
|
||||||
private val credentials: String
|
private val credentials: String
|
||||||
get() = ApiUtils.getCredentials(userEntity.username, userEntity.token)
|
get() = ApiUtils.getCredentials(user.username, user.token)
|
||||||
|
|
||||||
override fun searchMessages(
|
override fun searchMessages(
|
||||||
searchTerm: String,
|
searchTerm: String,
|
||||||
@ -46,7 +46,7 @@ class UnifiedSearchRepositoryImpl(private val api: NcApi, private val userProvid
|
|||||||
): Observable<UnifiedSearchRepository.UnifiedSearchResults<SearchMessageEntry>> {
|
): Observable<UnifiedSearchRepository.UnifiedSearchResults<SearchMessageEntry>> {
|
||||||
val apiObservable = api.performUnifiedSearch(
|
val apiObservable = api.performUnifiedSearch(
|
||||||
credentials,
|
credentials,
|
||||||
ApiUtils.getUrlForUnifiedSearch(userEntity.baseUrl, PROVIDER_TALK_MESSAGE),
|
ApiUtils.getUrlForUnifiedSearch(user.baseUrl!!, PROVIDER_TALK_MESSAGE),
|
||||||
searchTerm,
|
searchTerm,
|
||||||
null,
|
null,
|
||||||
limit,
|
limit,
|
||||||
@ -63,7 +63,7 @@ class UnifiedSearchRepositoryImpl(private val api: NcApi, private val userProvid
|
|||||||
): Observable<UnifiedSearchRepository.UnifiedSearchResults<SearchMessageEntry>> {
|
): Observable<UnifiedSearchRepository.UnifiedSearchResults<SearchMessageEntry>> {
|
||||||
val apiObservable = api.performUnifiedSearch(
|
val apiObservable = api.performUnifiedSearch(
|
||||||
credentials,
|
credentials,
|
||||||
ApiUtils.getUrlForUnifiedSearch(userEntity.baseUrl, PROVIDER_TALK_MESSAGE_CURRENT),
|
ApiUtils.getUrlForUnifiedSearch(user.baseUrl!!, PROVIDER_TALK_MESSAGE_CURRENT),
|
||||||
searchTerm,
|
searchTerm,
|
||||||
fromUrlForRoom(roomToken),
|
fromUrlForRoom(roomToken),
|
||||||
limit,
|
limit,
|
||||||
|
Loading…
Reference in New Issue
Block a user