aboutsummaryrefslogtreecommitdiffstats
path: root/src/main/java/de/thedevstack/conversationsplus/ui/listeners/DeleteFileCallback.java
diff options
context:
space:
mode:
authorsteckbrief <steckbrief@chefmail.de>2016-08-23 11:34:14 +0200
committersteckbrief <steckbrief@chefmail.de>2016-08-23 11:34:14 +0200
commit14e28d1e9afc058526eba4a6096d582f4810ea84 (patch)
tree2a788de4cdb34570fe4f64e142e974ff9ee12756 /src/main/java/de/thedevstack/conversationsplus/ui/listeners/DeleteFileCallback.java
parentad096f4bfd220a106aab670105275397bfcbfd0e (diff)
Fixes FS#229: prompt for confirmation before deleting a file
Diffstat (limited to 'src/main/java/de/thedevstack/conversationsplus/ui/listeners/DeleteFileCallback.java')
-rw-r--r--src/main/java/de/thedevstack/conversationsplus/ui/listeners/DeleteFileCallback.java36
1 files changed, 36 insertions, 0 deletions
diff --git a/src/main/java/de/thedevstack/conversationsplus/ui/listeners/DeleteFileCallback.java b/src/main/java/de/thedevstack/conversationsplus/ui/listeners/DeleteFileCallback.java
new file mode 100644
index 00000000..3ff7f367
--- /dev/null
+++ b/src/main/java/de/thedevstack/conversationsplus/ui/listeners/DeleteFileCallback.java
@@ -0,0 +1,36 @@
+package de.thedevstack.conversationsplus.ui.listeners;
+
+import de.thedevstack.conversationsplus.entities.Message;
+import de.thedevstack.conversationsplus.entities.Transferable;
+import de.thedevstack.conversationsplus.entities.TransferablePlaceholder;
+import de.thedevstack.conversationsplus.persistance.FileBackend;
+import de.thedevstack.conversationsplus.utils.UiUpdateHelper;
+import de.thedevstack.conversationsplus.utils.XmppConnectionServiceAccessor;
+
+/**
+ * Created by steckbrief on 23.08.2016.
+ */
+public class DeleteFileCallback implements SimpleUserDecisionCallback {
+ private final Message message;
+
+ public DeleteFileCallback(Message message) {
+ this.message = message;
+ }
+
+ private void deleteFile() {
+ if (FileBackend.deleteFile(this.message, XmppConnectionServiceAccessor.xmppConnectionService)) {
+ this.message.setTransferable(new TransferablePlaceholder(Transferable.STATUS_DELETED));
+ UiUpdateHelper.updateConversationUi();
+ }
+ }
+
+ @Override
+ public void onYes() {
+ this.deleteFile();
+ }
+
+ @Override
+ public void onNo() {
+ // Nothing to do
+ }
+}