1
0
mirror of https://github.com/owncloud/android-library.git synced 2025-06-07 16:06:08 +00:00

Use the same ownCloudClient across the whole login process

This commit is contained in:
Abel García de Prada 2020-11-19 19:05:48 +01:00
parent 18b271665d
commit 0fc3f7668d
2 changed files with 16 additions and 13 deletions

View File

@ -23,11 +23,12 @@
*/
package com.owncloud.android.lib.resources.status.services
import com.owncloud.android.lib.common.OwnCloudClient
import com.owncloud.android.lib.common.operations.RemoteOperationResult
import com.owncloud.android.lib.resources.status.OwnCloudVersion
interface ServerInfoService {
fun checkPathExistence(path: String, isUserLogged: Boolean): RemoteOperationResult<Boolean>
fun checkPathExistence(path: String, isUserLogged: Boolean, client: OwnCloudClient): RemoteOperationResult<Boolean>
fun getRemoteStatus(path: String): RemoteOperationResult<OwnCloudVersion>
fun getRemoteStatus(path: String, client: OwnCloudClient): RemoteOperationResult<OwnCloudVersion>
}

View File

@ -19,26 +19,28 @@
package com.owncloud.android.lib.resources.status.services.implementation
import android.net.Uri
import com.owncloud.android.lib.common.OwnCloudClient
import com.owncloud.android.lib.common.authentication.OwnCloudCredentialsFactory.getAnonymousCredentials
import com.owncloud.android.lib.common.operations.RemoteOperationResult
import com.owncloud.android.lib.resources.status.services.ServerInfoService
import com.owncloud.android.lib.resources.files.CheckPathExistenceRemoteOperation
import com.owncloud.android.lib.resources.status.GetRemoteStatusOperation
import com.owncloud.android.lib.resources.status.OwnCloudVersion
import com.owncloud.android.lib.resources.status.services.ServerInfoService
class OCServerInfoService : ServerInfoService {
override fun checkPathExistence(path: String, isUserLogged: Boolean): RemoteOperationResult<Boolean> =
override fun checkPathExistence(
path: String,
isUserLogged: Boolean,
client: OwnCloudClient
): RemoteOperationResult<Boolean> =
CheckPathExistenceRemoteOperation(
remotePath = path,
isUserLogged = true
).execute(createClientFromPath(path))
).execute(client)
override fun getRemoteStatus(path: String): RemoteOperationResult<OwnCloudVersion> =
GetRemoteStatusOperation().execute(createClientFromPath(path))
private fun createClientFromPath(path: String): OwnCloudClient {
return OwnCloudClient(Uri.parse(path)).apply { credentials = getAnonymousCredentials() }
}
override fun getRemoteStatus(
path: String,
client: OwnCloudClient
): RemoteOperationResult<OwnCloudVersion> =
GetRemoteStatusOperation().execute(client)
}