Fixed restart of cancelled download
[pub/Android/ownCloud.git] / src / com / owncloud / android / ui / activity / FileDisplayActivity.java
index ab0232d..4ba06d1 100644 (file)
@@ -79,9 +79,8 @@ import com.owncloud.android.operations.SynchronizeFileOperation;
 import com.owncloud.android.operations.SynchronizeFolderOperation;
 import com.owncloud.android.operations.UnshareLinkOperation;
 import com.owncloud.android.syncadapter.FileSyncAdapter;
-import com.owncloud.android.ui.dialog.EditNameDialog;
+import com.owncloud.android.ui.dialog.CreateFolderDialogFragment;
 import com.owncloud.android.ui.dialog.SslUntrustedCertDialog;
-import com.owncloud.android.ui.dialog.EditNameDialog.EditNameDialogListener;
 import com.owncloud.android.ui.dialog.SslUntrustedCertDialog.OnSslUntrustedCertListener;
 import com.owncloud.android.ui.fragment.FileDetailFragment;
 import com.owncloud.android.ui.fragment.FileFragment;
@@ -102,8 +101,7 @@ import com.owncloud.android.utils.Log_OC;
  */
 
 public class FileDisplayActivity extends HookActivity implements
-FileFragment.ContainerActivity, OnNavigationListener, 
-OnSslUntrustedCertListener, EditNameDialogListener {
+FileFragment.ContainerActivity, OnNavigationListener, OnSslUntrustedCertListener {
 
     private ArrayAdapter<String> mDirectories;
 
@@ -453,7 +451,8 @@ OnSslUntrustedCertListener, EditNameDialogListener {
         boolean retval = true;
         switch (item.getItemId()) {
         case R.id.action_create_dir: {
-            EditNameDialog dialog = EditNameDialog.newInstance(getString(R.string.uploader_info_dirname), "", -1, -1, this);
+            CreateFolderDialogFragment dialog = 
+                    CreateFolderDialogFragment.newInstance(getCurrentDir());
             dialog.show(getSupportFragmentManager(), "createdirdialog");
             break;
         }
@@ -709,6 +708,9 @@ OnSslUntrustedCertListener, EditNameDialogListener {
             unregisterReceiver(mDownloadFinishReceiver);
             mDownloadFinishReceiver = null;
         }
+        
+        dismissLoadingDialog();
+        
         Log_OC.d(TAG, "onPause() end");
     }
 
@@ -1428,27 +1430,17 @@ OnSslUntrustedCertListener, EditNameDialogListener {
      */
     @Override
     public void onTransferStateChanged(OCFile file, boolean downloading, boolean uploading) {
+        refreshListOfFilesFragment();
         FileFragment details = getSecondFragment();
         if (details != null && details instanceof FileDetailFragment && file.equals(details.getFile()) ) {
             if (downloading || uploading) {
                 ((FileDetailFragment)details).updateFileDetails(file, getAccount());
             } else {
-                ((FileDetailFragment)details).updateFileDetails(false, true);
-            }
-        }
-    }
-
-
-    public void onDismiss(EditNameDialog dialog) {
-        if (dialog.getResult()) {
-            String newDirectoryName = dialog.getNewFilename().trim();
-            Log_OC.d(TAG, "'create directory' dialog dismissed with new name " + newDirectoryName);
-            if (newDirectoryName.length() > 0) {
-                String path = getCurrentDir().getRemotePath();
-
-                // Create directory
-                path += newDirectoryName + OCFile.PATH_SEPARATOR;
-                getFileOperationsHelper().createFolder(path, false);
+                if (!file.fileExists()) {
+                    cleanSecondFragment();
+                } else {
+                    ((FileDetailFragment)details).updateFileDetails(false, true);
+                }
             }
         }
     }
@@ -1584,22 +1576,16 @@ OnSslUntrustedCertListener, EditNameDialogListener {
 
 
     public void cancelTransference(OCFile file) {
-        Account account = getAccount();
-        if (mDownloaderBinder != null && mDownloaderBinder.isDownloading(account, file)) {
-            mDownloaderBinder.cancel(account, file);
-            refreshListOfFilesFragment();
-            onTransferStateChanged(file, false, false);
-
-        } else if (mUploaderBinder != null && mUploaderBinder.isUploading(account, file)) {
-            mUploaderBinder.cancel(account, file);
-            refreshListOfFilesFragment();
-            if (!file.fileExists()) {
-                cleanSecondFragment();
-                
-            } else {
-                onTransferStateChanged(file, false, false);
-            }
+        getFileOperationsHelper().cancelTransference(file);
+        if (mWaitingToPreview != null && 
+                mWaitingToPreview.getRemotePath().equals(file.getRemotePath())) {
+            mWaitingToPreview = null;
+        }
+        if (mWaitingToSend != null &&
+                mWaitingToSend.getRemotePath().equals(file.getRemotePath())) {
+            mWaitingToSend = null;
         }
+        onTransferStateChanged(file, false, false);
     }
     
 }