diff --git a/library/src/androidTest/java/com/owncloud/android/lib/resources/users/CheckRemoteWipeRemoteOperationIT.kt b/library/src/androidTest/java/com/owncloud/android/lib/resources/users/CheckRemoteWipeRemoteOperationIT.kt index d8ddcd77c..990670808 100644 --- a/library/src/androidTest/java/com/owncloud/android/lib/resources/users/CheckRemoteWipeRemoteOperationIT.kt +++ b/library/src/androidTest/java/com/owncloud/android/lib/resources/users/CheckRemoteWipeRemoteOperationIT.kt @@ -1,8 +1,8 @@ /* * Nextcloud Android Library * - * SPDX-FileCopyrightText: 2020-2024 Nextcloud GmbH and Nextcloud contributors - * SPDX-FileCopyrightText: 2023 Tobias Kaminsky + * SPDX-FileCopyrightText: 2020-2025 Nextcloud GmbH and Nextcloud contributors + * SPDX-FileCopyrightText: 2025 Tobias Kaminsky * SPDX-License-Identifier: MIT */ @@ -11,9 +11,8 @@ package com.owncloud.android.lib.resources.users import android.text.TextUtils import com.nextcloud.android.lib.resources.users.GenerateAppPasswordRemoteOperation import com.owncloud.android.AbstractIT -import com.owncloud.android.lib.common.OwnCloudBasicCredentials -import org.junit.Assert.assertFalse -import org.junit.Assert.assertTrue +import junit.framework.TestCase.assertFalse +import junit.framework.TestCase.assertTrue import org.junit.Test class CheckRemoteWipeRemoteOperationIT : AbstractIT() { @@ -25,14 +24,7 @@ class CheckRemoteWipeRemoteOperationIT : AbstractIT() { val appPassword = appTokenResult.resultData assertFalse(TextUtils.isEmpty(appPassword)) - client.credentials = - OwnCloudBasicCredentials( - client.credentials.username, - appPassword, - true - ) - - val wipeResult = CheckRemoteWipeRemoteOperation().execute(client) + val wipeResult = CheckRemoteWipeRemoteOperation(appPassword).execute(nextcloudClient) // device should not be wiped assertFalse(wipeResult.isSuccess) diff --git a/library/src/main/java/com/owncloud/android/lib/resources/users/CheckRemoteWipeRemoteOperation.java b/library/src/main/java/com/owncloud/android/lib/resources/users/CheckRemoteWipeRemoteOperation.java index 527a127cb..7f55bad52 100644 --- a/library/src/main/java/com/owncloud/android/lib/resources/users/CheckRemoteWipeRemoteOperation.java +++ b/library/src/main/java/com/owncloud/android/lib/resources/users/CheckRemoteWipeRemoteOperation.java @@ -7,74 +7,74 @@ */ package com.owncloud.android.lib.resources.users; -import com.nextcloud.common.SessionTimeOut; -import com.nextcloud.common.SessionTimeOutKt; -import com.owncloud.android.lib.common.OwnCloudClient; +import com.google.gson.Gson; +import com.nextcloud.common.NextcloudClient; +import com.nextcloud.operations.PostMethod; import com.owncloud.android.lib.common.operations.RemoteOperation; import com.owncloud.android.lib.common.operations.RemoteOperationResult; import com.owncloud.android.lib.common.utils.Log_OC; import org.apache.commons.httpclient.HttpStatus; -import org.apache.commons.httpclient.methods.Utf8PostMethod; import org.json.JSONObject; +import java.util.HashMap; + +import okhttp3.MediaType; +import okhttp3.RequestBody; + /** * Remote operation performing check if app token is scheduled for remote wipe */ -public class CheckRemoteWipeRemoteOperation extends RemoteOperation { +public class CheckRemoteWipeRemoteOperation extends RemoteOperation { private static final String TAG = CheckRemoteWipeRemoteOperation.class.getSimpleName(); private static final String REMOTE_WIPE_URL = "/index.php/core/wipe/check"; // JSON node names private static final String WIPE = "wipe"; - private final SessionTimeOut sessionTimeOut; - public CheckRemoteWipeRemoteOperation() { - this(SessionTimeOutKt.getDefaultSessionTimeOut()); - } + private final String authToken; - public CheckRemoteWipeRemoteOperation(SessionTimeOut sessionTimeOut) { - this.sessionTimeOut = sessionTimeOut; + public CheckRemoteWipeRemoteOperation(String authToken) { + this.authToken = authToken; } /** * @param client Client object */ @Override - protected RemoteOperationResult run(OwnCloudClient client) { - Utf8PostMethod postMethod = null; - RemoteOperationResult result; + public RemoteOperationResult run(NextcloudClient client) { + PostMethod postMethod = null; + RemoteOperationResult result; try { - postMethod = new Utf8PostMethod(client.getBaseUri() + REMOTE_WIPE_URL + JSON_FORMAT); + HashMap map = new HashMap<>(); + map.put(REMOTE_WIPE_TOKEN, authToken); + + String jsonString = new Gson().toJson(map); + + RequestBody requestBody = RequestBody.create(MediaType.parse("application/json"), jsonString); + postMethod = new PostMethod(client.getBaseUri() + REMOTE_WIPE_URL + JSON_FORMAT, true, requestBody); postMethod.addRequestHeader(CONTENT_TYPE, FORM_URLENCODED); - postMethod.setParameter(REMOTE_WIPE_TOKEN, client.getCredentials().getAuthToken()); - int status = client.executeMethod(postMethod, sessionTimeOut.getReadTimeOut(), sessionTimeOut.getConnectionTimeOut()); + int status = client.execute(postMethod); if (HttpStatus.SC_OK == status) { String response = postMethod.getResponseBodyAsString(); JSONObject json = new JSONObject(response); - if (json.getBoolean(WIPE)) { - result = new RemoteOperationResult<>(true, postMethod); - } else { - result = new RemoteOperationResult<>(false, postMethod); - } + result = new RemoteOperationResult<>(json.getBoolean(WIPE), postMethod); } else { result = new RemoteOperationResult<>(false, postMethod); } - - client.exhaustResponse(postMethod.getResponseBodyAsStream()); } catch (Exception e) { result = new RemoteOperationResult<>(e); Log_OC.e(TAG, - "Getting remote wipe status failed: " + result.getLogMessage(), - result.getException()); + "Getting remote wipe status failed: " + result.getLogMessage(client.getContext()), + result.getException()); } finally { if (postMethod != null) { postMethod.releaseConnection();