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

Use LDAP user ids when creating local files

This commit is contained in:
davigonz 2018-11-07 17:09:42 +01:00
parent 2c5ceeb555
commit f3e8374429
4 changed files with 11 additions and 8 deletions

View File

@ -189,7 +189,7 @@ public class AccountUtils {
} }
/** /**
* Get the user id corresponding OC account. * Get the user id corresponding to an OC account.
* @param account ownCloud account * @param account ownCloud account
* @return user id * @return user id
*/ */

View File

@ -24,6 +24,7 @@
package com.owncloud.android.lib.resources.files; package com.owncloud.android.lib.resources.files;
import com.owncloud.android.lib.common.OwnCloudClient; import com.owncloud.android.lib.common.OwnCloudClient;
import com.owncloud.android.lib.common.accounts.AccountUtils;
import com.owncloud.android.lib.common.http.HttpConstants; import com.owncloud.android.lib.common.http.HttpConstants;
import com.owncloud.android.lib.common.http.methods.webdav.DavUtils; import com.owncloud.android.lib.common.http.methods.webdav.DavUtils;
import com.owncloud.android.lib.common.http.methods.webdav.PropfindMethod; import com.owncloud.android.lib.common.http.methods.webdav.PropfindMethod;
@ -43,6 +44,7 @@ import static com.owncloud.android.lib.common.operations.RemoteOperationResult.R
* *
* @author David A. Velasco * @author David A. Velasco
* @author masensio * @author masensio
* @author David González Verdugo
*/ */
public class ReadRemoteFileOperation extends RemoteOperation<RemoteFile> { public class ReadRemoteFileOperation extends RemoteOperation<RemoteFile> {
@ -86,7 +88,7 @@ public class ReadRemoteFileOperation extends RemoteOperation<RemoteFile> {
if (status == HttpConstants.HTTP_MULTI_STATUS if (status == HttpConstants.HTTP_MULTI_STATUS
|| status == HttpConstants.HTTP_OK) { || status == HttpConstants.HTTP_OK) {
final RemoteFile file = new RemoteFile(propfind.getRoot(), client.getCredentials().getUsername()); final RemoteFile file = new RemoteFile(propfind.getRoot(), AccountUtils.getUserId(mAccount, mContext));
result = new RemoteOperationResult<>(OK); result = new RemoteOperationResult<>(OK);
result.setData(file); result.setData(file);

View File

@ -25,6 +25,7 @@
package com.owncloud.android.lib.resources.files; package com.owncloud.android.lib.resources.files;
import com.owncloud.android.lib.common.OwnCloudClient; import com.owncloud.android.lib.common.OwnCloudClient;
import com.owncloud.android.lib.common.accounts.AccountUtils;
import com.owncloud.android.lib.common.http.HttpConstants; import com.owncloud.android.lib.common.http.HttpConstants;
import com.owncloud.android.lib.common.http.methods.webdav.DavConstants; import com.owncloud.android.lib.common.http.methods.webdav.DavConstants;
import com.owncloud.android.lib.common.http.methods.webdav.DavUtils; import com.owncloud.android.lib.common.http.methods.webdav.DavUtils;
@ -88,12 +89,12 @@ public class ReadRemoteFolderOperation extends RemoteOperation<ArrayList<RemoteF
// parse data from remote folder // parse data from remote folder
mFolderAndFiles.add( mFolderAndFiles.add(
new RemoteFile(propfindMethod.getRoot(), client.getCredentials().getUsername()) new RemoteFile(propfindMethod.getRoot(), AccountUtils.getUserId(mAccount, mContext))
); );
// loop to update every child // loop to update every child
for (Response resource : propfindMethod.getMembers()) { for (Response resource : propfindMethod.getMembers()) {
RemoteFile file = new RemoteFile(resource, client.getCredentials().getUsername()); RemoteFile file = new RemoteFile(resource, AccountUtils.getUserId(mAccount, mContext));
mFolderAndFiles.add(file); mFolderAndFiles.add(file);
} }

View File

@ -193,8 +193,8 @@ public class RemoteFile implements Parcelable, Serializable {
mPrivateLink = null; mPrivateLink = null;
} }
public RemoteFile(final Response davResource, String userName) { public RemoteFile(final Response davResource, String userId) {
this(getRemotePathFromUrl(davResource.getHref(), userName)); this(getRemotePathFromUrl(davResource.getHref(), userId));
final List<Property> properties = davResource.getProperties(); final List<Property> properties = davResource.getProperties();
for(Property property : properties) { for(Property property : properties) {
@ -227,8 +227,8 @@ public class RemoteFile implements Parcelable, Serializable {
} }
private static String getRemotePathFromUrl(HttpUrl url, String displayName) { private static String getRemotePathFromUrl(HttpUrl url, String userId) {
final String davPath = WEBDAV_FILES_PATH_4_0 + displayName; final String davPath = WEBDAV_FILES_PATH_4_0 + userId;
final String pathToOc = url.encodedPath().split(davPath)[0]; final String pathToOc = url.encodedPath().split(davPath)[0];
return Uri.decode(url.encodedPath()).replace(pathToOc + davPath, ""); return Uri.decode(url.encodedPath()).replace(pathToOc + davPath, "");
} }