Merge pull request #500 from owncloud/refactor_update_filelist_from_database
[pub/Android/ownCloud.git] / src / com / owncloud / android / ui / activity / FileDisplayActivity.java
index 3984b08..b5e8ac0 100644 (file)
@@ -1,6 +1,6 @@
 /* ownCloud Android client application
  *   Copyright (C) 2011  Bartek Przybylski
- *   Copyright (C) 2012-2013 ownCloud Inc.
+ *   Copyright (C) 2012-2014 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,
@@ -696,7 +696,6 @@ FileFragment.ContainerActivity, OnNavigationListener, OnSslUntrustedCertListener
 
     @Override
     protected void onPause() {
-        super.onPause();
         Log_OC.e(TAG, "onPause() start");
         if (mSyncBroadcastReceiver != null) {
             unregisterReceiver(mSyncBroadcastReceiver);
@@ -712,9 +711,9 @@ FileFragment.ContainerActivity, OnNavigationListener, OnSslUntrustedCertListener
             mDownloadFinishReceiver = null;
         }
         
-        dismissLoadingDialog();
         
         Log_OC.d(TAG, "onPause() end");
+        super.onPause();
     }
 
 
@@ -1366,21 +1365,22 @@ FileFragment.ContainerActivity, OnNavigationListener, OnSslUntrustedCertListener
         OCFile renamedFile = operation.getFile();
         if (result.isSuccess()) {
             FileFragment details = getSecondFragment();
-            if (details != null) 
+            if (details != null) {
                 if (details instanceof FileDetailFragment && renamedFile.equals(details.getFile()) ) {
                     ((FileDetailFragment) details).updateFileDetails(renamedFile, getAccount());
                     showDetails(renamedFile);
-                    
-            } else if (details instanceof PreviewMediaFragment && renamedFile.equals(details.getFile())) {
-                ((PreviewMediaFragment) details).updateFile(renamedFile);
-                if (PreviewMediaFragment.canBePreviewed(renamedFile)) {
-                    int position = ((PreviewMediaFragment)details).getPosition();
-                    startMediaPreview(renamedFile, position, true);
-                } else {
-                    getFileOperationsHelper().openFile(renamedFile);
+
+                } else if (details instanceof PreviewMediaFragment && renamedFile.equals(details.getFile())) {
+                    ((PreviewMediaFragment) details).updateFile(renamedFile);
+                    if (PreviewMediaFragment.canBePreviewed(renamedFile)) {
+                        int position = ((PreviewMediaFragment)details).getPosition();
+                        startMediaPreview(renamedFile, position, true);
+                    } else {
+                        getFileOperationsHelper().openFile(renamedFile);
+                    }
                 }
             }
-
+            
             if (getStorageManager().getFileById(renamedFile.getParentId()).equals(getCurrentDir())) {
                 refreshListOfFilesFragment();
             }
@@ -1433,12 +1433,17 @@ FileFragment.ContainerActivity, OnNavigationListener, OnSslUntrustedCertListener
      */
     @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);
+                if (!file.fileExists()) {
+                    cleanSecondFragment();
+                } else {
+                    ((FileDetailFragment)details).updateFileDetails(false, true);
+                }
             }
         }
             
@@ -1576,22 +1581,16 @@ FileFragment.ContainerActivity, OnNavigationListener, OnSslUntrustedCertListener
 
 
     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);
     }
     
 }