Skip to content

Commit 879c740

Browse files
committed
fix code analytics, get rid of List<Pair<String, String>> use JsonObject
Signed-off-by: alperozturk <alper_ozturk@proton.me>
1 parent b5945bd commit 879c740

1 file changed

Lines changed: 11 additions & 24 deletions

File tree

library/src/main/java/com/owncloud/android/lib/resources/shares/UpdateShareRemoteOperation.java

Lines changed: 11 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,8 @@
1111
package com.owncloud.android.lib.resources.shares;
1212

1313
import android.net.Uri;
14-
import android.util.Pair;
1514

15+
import com.google.gson.JsonObject;
1616
import com.owncloud.android.lib.common.OwnCloudClient;
1717
import com.owncloud.android.lib.common.operations.RemoteOperation;
1818
import com.owncloud.android.lib.common.operations.RemoteOperationResult;
@@ -25,7 +25,6 @@
2525
import java.net.URLEncoder;
2626
import java.text.DateFormat;
2727
import java.text.SimpleDateFormat;
28-
import java.util.ArrayList;
2928
import java.util.Calendar;
3029
import java.util.List;
3130
import java.util.Locale;
@@ -47,7 +46,7 @@ public class UpdateShareRemoteOperation extends RemoteOperation {
4746
private static final String PARAM_HIDE_DOWNLOAD = "hideDownload";
4847
private static final String PARAM_LABEL = "label";
4948
private static final String FORMAT_EXPIRATION_DATE = "yyyy-MM-dd";
50-
private static final String ENTITY_CONTENT_TYPE = "application/x-www-form-urlencoded";
49+
private static final String ENTITY_CONTENT_TYPE = "application/json";
5150
private static final String ENTITY_CHARSET = "UTF-8";
5251

5352

@@ -146,39 +145,39 @@ protected RemoteOperationResult<List<OCShare>> run(OwnCloudClient client) {
146145
RemoteOperationResult<List<OCShare>> result;
147146

148147
/// prepare array of parameters to update
149-
List<Pair<String, String>> parametersToUpdate = new ArrayList<>();
148+
JsonObject params = new JsonObject();
150149
if (password != null) {
151-
parametersToUpdate.add(new Pair<>(PARAM_PASSWORD, password));
150+
params.addProperty(PARAM_PASSWORD, password);
152151
}
153152

154153
if (expirationDateInMillis < 0) {
155154
// clear expiration date
156-
parametersToUpdate.add(new Pair<>(PARAM_EXPIRATION_DATE, ""));
155+
params.addProperty(PARAM_EXPIRATION_DATE, "");
157156
} else if (expirationDateInMillis > 0) {
158157
// set expiration date
159158
DateFormat dateFormat = new SimpleDateFormat(FORMAT_EXPIRATION_DATE, Locale.US);
160159
Calendar expirationDate = Calendar.getInstance();
161160
expirationDate.setTimeInMillis(expirationDateInMillis);
162161
String formattedExpirationDate = dateFormat.format(expirationDate.getTime());
163-
parametersToUpdate.add(new Pair<>(PARAM_EXPIRATION_DATE, formattedExpirationDate));
162+
params.addProperty(PARAM_EXPIRATION_DATE, formattedExpirationDate);
164163
}
165164

166165
if (permissions > 0) {
167-
parametersToUpdate.add(new Pair<>(PARAM_PERMISSIONS, Integer.toString(permissions)));
166+
params.addProperty(PARAM_PERMISSIONS, Integer.toString(permissions));
168167
}
169168

170169
if (hideFileDownload != null) {
171-
parametersToUpdate.add(new Pair<>(PARAM_HIDE_DOWNLOAD, Boolean.toString(hideFileDownload)));
170+
params.addProperty(PARAM_HIDE_DOWNLOAD, Boolean.toString(hideFileDownload));
172171
}
173172

174173
PutMethod put = null;
175174
try {
176175
if (note != null) {
177-
parametersToUpdate.add(new Pair<>(PARAM_NOTE, URLEncoder.encode(note, ENTITY_CHARSET)));
176+
params.addProperty(PARAM_NOTE, URLEncoder.encode(note, ENTITY_CHARSET));
178177
}
179178

180179
if (label != null) {
181-
parametersToUpdate.add(new Pair<>(PARAM_LABEL, URLEncoder.encode(label, ENTITY_CHARSET)));
180+
params.addProperty(PARAM_LABEL, URLEncoder.encode(label, ENTITY_CHARSET));
182181
}
183182

184183
Uri requestUri = client.getBaseUri();
@@ -187,22 +186,10 @@ protected RemoteOperationResult<List<OCShare>> run(OwnCloudClient client) {
187186
uriBuilder.appendEncodedPath(Long.toString(remoteId));
188187
String uriString = uriBuilder.build().toString();
189188

190-
StringBuilder bodyBuilder = new StringBuilder();
191-
for (int i = 0; i < parametersToUpdate.size(); i++) {
192-
Pair<String, String> param = parametersToUpdate.get(i);
193-
bodyBuilder.append(param.first)
194-
.append("=")
195-
.append(param.second);
196-
197-
if (i < parametersToUpdate.size() - 1) {
198-
bodyBuilder.append("&");
199-
}
200-
}
201-
202189
put = new PutMethod(uriString);
203190
put.addRequestHeader(OCS_API_HEADER, OCS_API_HEADER_VALUE);
204191
put.setRequestEntity(new StringRequestEntity(
205-
bodyBuilder.toString(),
192+
params.toString(),
206193
ENTITY_CONTENT_TYPE,
207194
ENTITY_CHARSET
208195
));

0 commit comments

Comments
 (0)