Moved recursive fetch to notify end-of-syncrhonization of a folder BEFORE its childre...
[pub/Android/ownCloud.git] / src / com / owncloud / android / ui / fragment / FileDetailFragment.java
index 10b44ad..007c294 100644 (file)
@@ -247,6 +247,7 @@ public class FileDetailFragment extends SherlockFragment implements
             case R.id.fdDownloadBtn: {\r
                 //if (FileDownloader.isDownloading(mAccount, mFile.getRemotePath())) {\r
                 FileDownloaderBinder downloaderBinder = mContainerActivity.getFileDownloaderBinder();\r
+                FileUploaderBinder uploaderBinder = mContainerActivity.getFileUploaderBinder();\r
                 if (downloaderBinder != null && downloaderBinder.isDownloading(mAccount, mFile)) {\r
                     downloaderBinder.cancel(mAccount, mFile);\r
                     if (mFile.isDown()) {\r
@@ -254,6 +255,26 @@ public class FileDetailFragment extends SherlockFragment implements
                     } else {\r
                         setButtonsForRemote();\r
                     }\r
+\r
+                } else if (uploaderBinder != null && uploaderBinder.isUploading(mAccount, mFile)) {\r
+                    uploaderBinder.cancel(mAccount, mFile);\r
+                    if (!mFile.fileExists()) {\r
+                        // TODO make something better\r
+                        if (getActivity() instanceof FileDisplayActivity) {\r
+                            // double pane\r
+                            FragmentTransaction transaction = getActivity().getSupportFragmentManager().beginTransaction();\r
+                            transaction.replace(R.id.file_details_container, new FileDetailFragment(null, null), FTAG); // empty FileDetailFragment\r
+                            transaction.commit();\r
+                            mContainerActivity.onFileStateChanged();\r
+                        } else {\r
+                            getActivity().finish();\r
+                        }\r
+                        \r
+                    } else if (mFile.isDown()) {\r
+                        setButtonsForDown();\r
+                    } else {\r
+                        setButtonsForRemote();\r
+                    }\r
                     \r
                 } else {\r
                     Intent i = new Intent(getActivity(), FileDownloader.class);\r
@@ -534,6 +555,7 @@ public class FileDetailFragment extends SherlockFragment implements
             ((Button) getView().findViewById(R.id.fdOpenBtn)).setEnabled(false);\r
             ((Button) getView().findViewById(R.id.fdRenameBtn)).setEnabled(false);\r
             ((Button) getView().findViewById(R.id.fdRemoveBtn)).setEnabled(false);\r
+            getView().findViewById(R.id.fdKeepInSync).setEnabled(false);\r
         }\r
     }\r
     \r
@@ -549,6 +571,7 @@ public class FileDetailFragment extends SherlockFragment implements
             ((Button) getView().findViewById(R.id.fdOpenBtn)).setEnabled(true);\r
             ((Button) getView().findViewById(R.id.fdRenameBtn)).setEnabled(true);\r
             ((Button) getView().findViewById(R.id.fdRemoveBtn)).setEnabled(true);\r
+            getView().findViewById(R.id.fdKeepInSync).setEnabled(true);\r
         }\r
     }\r
 \r
@@ -563,6 +586,7 @@ public class FileDetailFragment extends SherlockFragment implements
             ((Button) getView().findViewById(R.id.fdOpenBtn)).setEnabled(false);\r
             ((Button) getView().findViewById(R.id.fdRenameBtn)).setEnabled(true);\r
             ((Button) getView().findViewById(R.id.fdRemoveBtn)).setEnabled(true);\r
+            getView().findViewById(R.id.fdKeepInSync).setEnabled(true);\r
         }\r
     }\r
     \r