diff --git a/owncloudComLibrary/src/main/java/com/owncloud/android/lib/resources/shares/CreateRemoteShareOperation.kt b/owncloudComLibrary/src/main/java/com/owncloud/android/lib/resources/shares/CreateRemoteShareOperation.kt index 0f946bcd..1f043cd1 100644 --- a/owncloudComLibrary/src/main/java/com/owncloud/android/lib/resources/shares/CreateRemoteShareOperation.kt +++ b/owncloudComLibrary/src/main/java/com/owncloud/android/lib/resources/shares/CreateRemoteShareOperation.kt @@ -126,10 +126,18 @@ class CreateRemoteShareOperation( Timber.d("Successful response: $response") result.data = parseResponse(response!!) Timber.d("*** Creating new remote share operation completed ") - return result + + val emptyShare = result.data.shares.first() + + return if (retrieveShareDetails) { + // retrieve more info - PUT only returns the index of the new share + GetRemoteShareOperation(emptyShare.id).execute(client) + } else { + result + } } - private fun createFormBodyBuilder(): FormBody { + private fun createFormBody(): FormBody { val formBodyBuilder = FormBody.Builder() .add(PARAM_PATH, remoteFilePath) @@ -164,7 +172,7 @@ class CreateRemoteShareOperation( override fun run(client: OwnCloudClient): RemoteOperationResult { val requestUri = buildRequestUri(client.baseUri) - val postMethod = PostMethod(URL(requestUri.toString()), createFormBodyBuilder()).apply { + val postMethod = PostMethod(URL(requestUri.toString()), createFormBody()).apply { setRequestHeader(HttpConstants.CONTENT_TYPE_HEADER, HttpConstants.CONTENT_TYPE_URLENCODED_UTF8) addRequestHeader(OCS_API_HEADER, OCS_API_HEADER_VALUE) } diff --git a/owncloudComLibrary/src/main/java/com/owncloud/android/lib/resources/shares/UpdateRemoteShareOperation.kt b/owncloudComLibrary/src/main/java/com/owncloud/android/lib/resources/shares/UpdateRemoteShareOperation.kt index f18a3be3..73c331ad 100644 --- a/owncloudComLibrary/src/main/java/com/owncloud/android/lib/resources/shares/UpdateRemoteShareOperation.kt +++ b/owncloudComLibrary/src/main/java/com/owncloud/android/lib/resources/shares/UpdateRemoteShareOperation.kt @@ -161,11 +161,11 @@ class UpdateRemoteShareOperation // Parameters to update if (name != null) { - formBodyBuilder.add(PARAM_NAME, name!!) + formBodyBuilder.add(PARAM_NAME, name.orEmpty()) } if (password != null) { - formBodyBuilder.add(PARAM_PASSWORD, password!!) + formBodyBuilder.add(PARAM_PASSWORD, password.orEmpty()) } if (expirationDateInMillis < INITIAL_EXPIRATION_DATE_IN_MILLIS) {