aboutsummaryrefslogtreecommitdiffstats
path: root/src/main/java/de/thedevstack/conversationsplus/services/filetransfer/http/delete/DeleteTokenReceived.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/de/thedevstack/conversationsplus/services/filetransfer/http/delete/DeleteTokenReceived.java')
-rw-r--r--src/main/java/de/thedevstack/conversationsplus/services/filetransfer/http/delete/DeleteTokenReceived.java97
1 files changed, 0 insertions, 97 deletions
diff --git a/src/main/java/de/thedevstack/conversationsplus/services/filetransfer/http/delete/DeleteTokenReceived.java b/src/main/java/de/thedevstack/conversationsplus/services/filetransfer/http/delete/DeleteTokenReceived.java
deleted file mode 100644
index d61a5c6a..00000000
--- a/src/main/java/de/thedevstack/conversationsplus/services/filetransfer/http/delete/DeleteTokenReceived.java
+++ /dev/null
@@ -1,97 +0,0 @@
-package de.thedevstack.conversationsplus.services.filetransfer.http.delete;
-
-import android.widget.Toast;
-
-import org.json.JSONException;
-import org.json.JSONObject;
-
-import java.io.IOException;
-
-import de.thedevstack.android.logcat.Logging;
-import de.thedevstack.conversationsplus.R;
-import de.thedevstack.conversationsplus.entities.Account;
-import de.thedevstack.conversationsplus.enums.FileStatus;
-import de.thedevstack.conversationsplus.http.HttpClient;
-import de.thedevstack.conversationsplus.utils.MessageUtil;
-import de.thedevstack.conversationsplus.utils.ui.ConversationsPlusToast;
-import de.thedevstack.conversationsplus.xmpp.OnIqPacketReceived;
-import de.thedevstack.conversationsplus.xmpp.exceptions.ServiceUnavailableException;
-import de.thedevstack.conversationsplus.xmpp.exceptions.XmppException;
-import de.thedevstack.conversationsplus.xmpp.filetransfer.http.delete.DeleteSlotPacketParser;
-import de.thedevstack.conversationsplus.xmpp.stanzas.IqPacket;
-import okhttp3.Call;
-import okhttp3.Callback;
-import okhttp3.OkHttpClient;
-import okhttp3.Request;
-import okhttp3.Response;
-
-/**
- *
- */
-public class DeleteTokenReceived implements OnIqPacketReceived {
- private static final String HEADER_NAME_DELETE_TOKEN = "X-FILETRANSFER-HTTP-DELETE-TOKEN";
- private final DeleteRemoteFile remoteFile;
-
- public DeleteTokenReceived(DeleteRemoteFile remoteFile) {
- this.remoteFile = remoteFile;
- }
-
- @Override
- public void onIqPacketReceived(Account account, IqPacket packet) {
- try {
- String url = this.remoteFile.getPath();
- String deleteToken = DeleteSlotPacketParser.parseDeleteToken(packet);
- Logging.d("filetransfer.http.delete", "Got delete token '" + deleteToken + "' for remote file '" + remoteFile.getPath() + "'");
- OkHttpClient client = HttpClient.getOkHttpClient(true);
- Request request = new Request.Builder()
- .url(url)
- .addHeader(HEADER_NAME_DELETE_TOKEN, deleteToken)
- .delete()
- .build();
- client.newCall(request).enqueue(new Callback() {
- @Override
- public void onFailure(Call call, IOException e) {
- Logging.e("filetransfer.http.delete", "Error while connecting to '" + call.request().url() + "': " + e.getMessage());
- MessageUtil.setAndSaveFileStatus(remoteFile.getMessage(), FileStatus.DELETE_FAILED);
- }
-
- @Override
- public void onResponse(Call call, Response response) throws IOException {
- if (response.isSuccessful()) {
- MessageUtil.setAndSaveFileStatus(remoteFile.getMessage(), FileStatus.DELETED);
- Logging.i("filetransfer.http.delete", "Remote file successfully deleted '" + remoteFile.getPath() + "'");
- } else {
- String detailedMessage = response.body().string();
- FileStatus fileStatus = FileStatus.DELETE_FAILED;
- switch (response.code()) {
- case 403:
- case 500:
- try {
- JSONObject jsonObject = new JSONObject(detailedMessage);
- detailedMessage = jsonObject.getString("msg");
- } catch (JSONException e) {
- Logging.e("filetransfer.http.delete", "Failed to get error message from expected json response: " + detailedMessage);
- }
- break;
- case 404:
- fileStatus = FileStatus.DELETED;
- Logging.i("filetransfer.http.delete", "Failed to delete file - it was already deleted.");
- break;
- }
- Logging.e("filetransfer.http.delete", "Could not delete remote file '" + remoteFile.getPath() + "'. Response Code: " + response.code() + ", details: " + detailedMessage);
- MessageUtil.setAndSaveFileStatus(remoteFile.getMessage(), fileStatus);
- }
- }
- });
-
- } catch (XmppException e) {
- Logging.e("filetransfer.http.delete", "Error while trying to get the delete token: " + e.getMessage());
- int messageResId = R.string.cplus_remote_file_delete_failed;
- if (e instanceof ServiceUnavailableException) {
- messageResId = R.string.cplus_remote_file_delete_service_unavailable;
- }
- ConversationsPlusToast.makeErrorToast(messageResId, Toast.LENGTH_LONG);
- MessageUtil.setAndSaveFileStatus(remoteFile.getMessage(), FileStatus.DELETE_FAILED);
- }
- }
-}