Merge pull request #1109 from owncloud/sync_full_folder
[pub/Android/ownCloud.git] / src / com / owncloud / android / ui / dialog / RemoveFileDialogFragment.java
index 9b0cc26..f8310a1 100644 (file)
@@ -1,7 +1,8 @@
-/* ownCloud Android client application
+/**
+ *   ownCloud Android client application
  *
  *   @author David A. Velasco
  *
  *   @author David A. Velasco
- *   Copyright (C) 2014 ownCloud Inc.
+ *   Copyright (C) 2015 ownCloud Inc.
  *
  *   This program is free software: you can redistribute it and/or modify
  *   it under the terms of the GNU General Public License version 2,
  *
  *   This program is free software: you can redistribute it and/or modify
  *   it under the terms of the GNU General Public License version 2,
@@ -24,7 +25,6 @@ package com.owncloud.android.ui.dialog;
  * 
  *  Triggers the removal according to the user response.
  */
  * 
  *  Triggers the removal according to the user response.
  */
-import java.util.Vector;
 
 import android.app.Dialog;
 import android.os.Bundle;
 
 import android.app.Dialog;
 import android.os.Bundle;
@@ -38,6 +38,8 @@ import com.owncloud.android.ui.dialog.ConfirmationDialogFragment.ConfirmationDia
 public class RemoveFileDialogFragment extends ConfirmationDialogFragment 
 implements ConfirmationDialogFragmentListener {
 
 public class RemoveFileDialogFragment extends ConfirmationDialogFragment 
 implements ConfirmationDialogFragmentListener {
 
+    private OCFile mTargetFile;
+
     private static final String ARG_TARGET_FILE = "TARGET_FILE";
 
     /**
     private static final String ARG_TARGET_FILE = "TARGET_FILE";
 
     /**
@@ -53,29 +55,26 @@ implements ConfirmationDialogFragmentListener {
         int messageStringId = R.string.confirmation_remove_alert;
         
         int posBtn = R.string.confirmation_remove_remote;
         int messageStringId = R.string.confirmation_remove_alert;
         
         int posBtn = R.string.confirmation_remove_remote;
-        int neuBtn = -1;
+        int negBtn = -1;
         if (file.isFolder()) {
             messageStringId = R.string.confirmation_remove_folder_alert;
             posBtn = R.string.confirmation_remove_remote_and_local;
         if (file.isFolder()) {
             messageStringId = R.string.confirmation_remove_folder_alert;
             posBtn = R.string.confirmation_remove_remote_and_local;
-            neuBtn = R.string.confirmation_remove_folder_local;
+            negBtn = R.string.confirmation_remove_local;
         } else if (file.isDown()) {
             posBtn = R.string.confirmation_remove_remote_and_local;
         } else if (file.isDown()) {
             posBtn = R.string.confirmation_remove_remote_and_local;
-            neuBtn = R.string.confirmation_remove_local;
+            negBtn = R.string.confirmation_remove_local;
         }
         
         }
         
-        
         args.putInt(ARG_CONF_RESOURCE_ID, messageStringId);
         args.putStringArray(ARG_CONF_ARGUMENTS, new String[]{file.getFileName()});
         args.putInt(ARG_POSITIVE_BTN_RES, posBtn);
         args.putInt(ARG_CONF_RESOURCE_ID, messageStringId);
         args.putStringArray(ARG_CONF_ARGUMENTS, new String[]{file.getFileName()});
         args.putInt(ARG_POSITIVE_BTN_RES, posBtn);
-        args.putInt(ARG_NEUTRAL_BTN_RES, neuBtn);
-        args.putInt(ARG_NEGATIVE_BTN_RES, R.string.common_cancel);
+        args.putInt(ARG_NEUTRAL_BTN_RES, R.string.common_no);
+        args.putInt(ARG_NEGATIVE_BTN_RES, negBtn);
         args.putParcelable(ARG_TARGET_FILE, file);
         frag.setArguments(args);
         
         return frag;
     }
         args.putParcelable(ARG_TARGET_FILE, file);
         frag.setArguments(args);
         
         return frag;
     }
-
-    private OCFile mTargetFile;
     
     @Override
     public Dialog onCreateDialog(Bundle savedInstanceState) {
     
     @Override
     public Dialog onCreateDialog(Bundle savedInstanceState) {
@@ -92,7 +91,7 @@ implements ConfirmationDialogFragmentListener {
      */
     @Override
     public void onConfirmation(String callerTag) {
      */
     @Override
     public void onConfirmation(String callerTag) {
-        ComponentsGetter cg = (ComponentsGetter)getSherlockActivity();
+        ComponentsGetter cg = (ComponentsGetter)getActivity();
         FileDataStorageManager storageManager = cg.getStorageManager();
         if (storageManager.getFileById(mTargetFile.getFileId()) != null) {
             cg.getFileOperationsHelper().removeFile(mTargetFile, false);
         FileDataStorageManager storageManager = cg.getStorageManager();
         if (storageManager.getFileById(mTargetFile.getFileId()) != null) {
             cg.getFileOperationsHelper().removeFile(mTargetFile, false);
@@ -103,41 +102,13 @@ implements ConfirmationDialogFragmentListener {
      * Performs the removal of the local copy of the target file
      */
     @Override
      * Performs the removal of the local copy of the target file
      */
     @Override
-    public void onNeutral(String callerTag) {
-        ComponentsGetter cg = (ComponentsGetter)getSherlockActivity();
+    public void onCancel(String callerTag) {
+        ComponentsGetter cg = (ComponentsGetter)getActivity();
         cg.getFileOperationsHelper().removeFile(mTargetFile, true);
         cg.getFileOperationsHelper().removeFile(mTargetFile, true);
-        
-        FileDataStorageManager storageManager = cg.getStorageManager();
-        
-        boolean containsKeepInSync = false;
-        if (mTargetFile.isFolder()) {
-            Vector<OCFile> files = storageManager.getFolderContent(mTargetFile);
-            for(OCFile file: files) {
-                containsKeepInSync = file.keepInSync() || containsKeepInSync;
-
-                if (containsKeepInSync)
-                    break;
-            }
-        }
-
-        // Remove etag for parent, if file is a keep_in_sync 
-        // or is a folder and contains keep_in_sync        
-        if (mTargetFile.keepInSync() || containsKeepInSync) {
-            OCFile folder = null;
-            if (mTargetFile.isFolder()) {
-                folder = mTargetFile;
-            } else {
-                folder = storageManager.getFileById(mTargetFile.getParentId());
-            }
-            
-           folder.setEtag("");
-           storageManager.saveFile(folder);
-        }
     }
 
     @Override
     }
 
     @Override
-    public void onCancel(String callerTag) {
+    public void onNeutral(String callerTag) {
         // nothing to do here
     }
         // nothing to do here
     }
-    
 }
\ No newline at end of file
 }
\ No newline at end of file