Bläddra i källkod

Recovered wait dialog for move and delete operations

Conflicts:
	src/com/owncloud/android/files/FileOperationsHelper.java
David A. Velasco 8 år sedan
förälder
incheckning
dc44e8c28c

+ 27 - 22
src/com/owncloud/android/files/FileOperationsHelper.java

@@ -401,7 +401,7 @@ public class FileOperationsHelper {
     /**
      * @return 'True' if the server supports the Search Users API
      */
-    public boolean isSearchUsersSupportedSupported() {
+    public boolean isSearchUserSupportedSupported() {
         if (mFileActivity.getAccount() != null) {
             OwnCloudVersion serverVersion = AccountUtils.getServerVersion(mFileActivity.getAccount());
             return (serverVersion != null && serverVersion.isSearchUsersSupported());
@@ -494,22 +494,29 @@ public class FileOperationsHelper {
         service.putExtra(OperationsService.EXTRA_NEWNAME, newFilename);
         mWaitingForOpId = mFileActivity.getOperationsServiceBinder().queueNewOperation(service);
         
-        mFileActivity.showLoadingDialog(mFileActivity.getApplicationContext().
-                getString(R.string.wait_a_moment));
+        mFileActivity.showLoadingDialog(mFileActivity.getString(R.string.wait_a_moment));
     }
 
 
-    public void removeFile(OCFile file, boolean onlyLocalCopy) {
-        // RemoveFile
-        Intent service = new Intent(mFileActivity, OperationsService.class);
-        service.setAction(OperationsService.ACTION_REMOVE);
-        service.putExtra(OperationsService.EXTRA_ACCOUNT, mFileActivity.getAccount());
-        service.putExtra(OperationsService.EXTRA_REMOTE_PATH, file.getRemotePath());
-        service.putExtra(OperationsService.EXTRA_REMOVE_ONLY_LOCAL, onlyLocalCopy);
-        mWaitingForOpId =  mFileActivity.getOperationsServiceBinder().queueNewOperation(service);
+    /**
+     * Start operations to delete one or several files
+     *
+     * @param files             Files to delete
+     * @param onlyLocalCopy     When 'true' only local copy of the files is removed; otherwise files are also deleted
+     *                          in the server.
+     */
+    public void removeFiles(Collection<OCFile> files, boolean onlyLocalCopy) {
+        for (OCFile file : files) {
+            // RemoveFile
+            Intent service = new Intent(mFileActivity, OperationsService.class);
+            service.setAction(OperationsService.ACTION_REMOVE);
+            service.putExtra(OperationsService.EXTRA_ACCOUNT, mFileActivity.getAccount());
+            service.putExtra(OperationsService.EXTRA_REMOTE_PATH, file.getRemotePath());
+            service.putExtra(OperationsService.EXTRA_REMOVE_ONLY_LOCAL, onlyLocalCopy);
+            mWaitingForOpId = mFileActivity.getOperationsServiceBinder().queueNewOperation(service);
+        }
         
-        mFileActivity.showLoadingDialog(mFileActivity.getApplicationContext().
-                getString(R.string.wait_a_moment));
+        mFileActivity.showLoadingDialog(mFileActivity.getString(R.string.wait_a_moment));
     }
 
 
@@ -522,8 +529,7 @@ public class FileOperationsHelper {
         service.putExtra(OperationsService.EXTRA_CREATE_FULL_PATH, createFullPath);
         mWaitingForOpId =  mFileActivity.getOperationsServiceBinder().queueNewOperation(service);
         
-        mFileActivity.showLoadingDialog(mFileActivity.getApplicationContext().
-                getString(R.string.wait_a_moment));
+        mFileActivity.showLoadingDialog(mFileActivity.getString(R.string.wait_a_moment));
     }
 
     /**
@@ -552,7 +558,7 @@ public class FileOperationsHelper {
     }
 
     /**
-     * Start operations to move on or several files
+     * Start operations to move one or several files
      *
      * @param files            Files to move
      * @param targetFolder     Folder where the files while be moved into
@@ -566,12 +572,13 @@ public class FileOperationsHelper {
             service.putExtra(OperationsService.EXTRA_ACCOUNT, mFileActivity.getAccount());
             mWaitingForOpId = mFileActivity.getOperationsServiceBinder().queueNewOperation(service);
         }
+        mFileActivity.showLoadingDialog(mFileActivity.getString(R.string.wait_a_moment));
     }
 
     /**
-     * Start copy file operation
+     * Start operations to copy one or several files
      *
-     * @param files            Files to move
+     * @param files            Files to copy
      * @param targetFolder     Folder where the files while be copied into
      */
     public void copyFiles(Collection<OCFile> files, OCFile targetFolder) {
@@ -583,9 +590,7 @@ public class FileOperationsHelper {
             service.putExtra(OperationsService.EXTRA_ACCOUNT, mFileActivity.getAccount());
             mWaitingForOpId = mFileActivity.getOperationsServiceBinder().queueNewOperation(service);
         }
-
-        mFileActivity.showLoadingDialog(mFileActivity.getApplicationContext().
-                getString(R.string.wait_a_moment));
+        mFileActivity.showLoadingDialog(mFileActivity.getString(R.string.wait_a_moment));
     }
 
     public long getOpIdWaitingFor() {
@@ -621,7 +626,7 @@ public class FileOperationsHelper {
         mWaitingForOpId = mFileActivity.getOperationsServiceBinder().queueNewOperation(service);
 
         mFileActivity.showLoadingDialog(
-            mFileActivity.getApplicationContext().getString(R.string.wait_checking_credentials)
+            mFileActivity.getString(R.string.wait_checking_credentials)
         );
     }
 }

+ 2 - 10
src/com/owncloud/android/ui/dialog/RemoveFilesDialogFragment.java

@@ -30,7 +30,6 @@ import android.app.Dialog;
 import android.os.Bundle;
 
 import com.owncloud.android.R;
-import com.owncloud.android.datamodel.FileDataStorageManager;
 import com.owncloud.android.datamodel.OCFile;
 import com.owncloud.android.ui.activity.ComponentsGetter;
 import com.owncloud.android.ui.dialog.ConfirmationDialogFragment.ConfirmationDialogFragmentListener;
@@ -127,12 +126,7 @@ implements ConfirmationDialogFragmentListener {
     @Override
     public void onConfirmation(String callerTag) {
         ComponentsGetter cg = (ComponentsGetter) getActivity();
-        FileDataStorageManager storageManager = cg.getStorageManager();
-        for (OCFile targetFile : mTargetFiles) {
-            if (storageManager.getFileById(targetFile.getFileId()) != null) {
-                cg.getFileOperationsHelper().removeFile(targetFile, false);
-            }
-        }
+        cg.getFileOperationsHelper().removeFiles(mTargetFiles, false);
     }
     
     /**
@@ -141,9 +135,7 @@ implements ConfirmationDialogFragmentListener {
     @Override
     public void onCancel(String callerTag) {
         ComponentsGetter cg = (ComponentsGetter) getActivity();
-        for (OCFile targetFile : mTargetFiles) {
-            cg.getFileOperationsHelper().removeFile(targetFile, true);
-        }
+        cg.getFileOperationsHelper().removeFiles(mTargetFiles, true);
     }
 
     @Override