Refactoring and clean-up of fragment for media previews
[pub/Android/ownCloud.git] / src / com / owncloud / android / ui / activity / FileDisplayActivity.java
index bff3869..57667aa 100644 (file)
@@ -90,9 +90,9 @@ import com.owncloud.android.ui.dialog.SslValidatorDialog;
 import com.owncloud.android.ui.dialog.SslValidatorDialog.OnSslValidatorListener;\r
 import com.owncloud.android.ui.fragment.FileDetailFragment;\r
 import com.owncloud.android.ui.fragment.FileFragment;\r
-import com.owncloud.android.ui.fragment.FilePreviewFragment;\r
 import com.owncloud.android.ui.fragment.OCFileListFragment;\r
 import com.owncloud.android.ui.preview.PreviewImageActivity;\r
+import com.owncloud.android.ui.preview.PreviewMediaFragment;\r
 \r
 import com.owncloud.android.R;\r
 import eu.alefzero.webdav.WebdavClient;\r
@@ -302,9 +302,9 @@ public class FileDisplayActivity extends SherlockFragmentActivity implements
         if (mDualPane && getSupportFragmentManager().findFragmentByTag(FileDetailFragment.FTAG) == null) {\r
             FragmentTransaction transaction = getSupportFragmentManager().beginTransaction();\r
             if (mCurrentFile != null) {\r
-                if (FilePreviewFragment.canBePreviewed(mCurrentFile)) {\r
+                if (PreviewMediaFragment.canBePreviewed(mCurrentFile)) {\r
                     if (mCurrentFile.isDown()) {\r
-                        transaction.replace(R.id.file_details_container, new FilePreviewFragment(mCurrentFile, AccountUtils.getCurrentOwnCloudAccount(this)), FileDetailFragment.FTAG);\r
+                        transaction.replace(R.id.file_details_container, new PreviewMediaFragment(mCurrentFile, AccountUtils.getCurrentOwnCloudAccount(this)), FileDetailFragment.FTAG);\r
                     } else {\r
                         transaction.replace(R.id.file_details_container, new FileDetailFragment(mCurrentFile, AccountUtils.getCurrentOwnCloudAccount(this)), FileDetailFragment.FTAG);\r
                         mWaitingToPreview = mCurrentFile;\r
@@ -528,7 +528,7 @@ public class FileDisplayActivity extends SherlockFragmentActivity implements
         if (mDualPane) {\r
             // Resets the FileDetailsFragment on Tablets so that it always displays\r
             Fragment fileFragment = getSupportFragmentManager().findFragmentByTag(FileDetailFragment.FTAG);\r
-            if (fileFragment != null && (fileFragment instanceof FilePreviewFragment || !((FileDetailFragment) fileFragment).isEmpty())) {\r
+            if (fileFragment != null && (fileFragment instanceof PreviewMediaFragment || !((FileDetailFragment) fileFragment).isEmpty())) {\r
                 FragmentTransaction transaction = getSupportFragmentManager().beginTransaction();\r
                 transaction.replace(R.id.file_details_container, new FileDetailFragment(null, null), FileDetailFragment.FTAG); // empty FileDetailFragment                \r
                 transaction.commit();\r
@@ -1039,7 +1039,7 @@ public class FileDisplayActivity extends SherlockFragmentActivity implements
         if (mDualPane) {\r
             // Resets the FileDetailsFragment on Tablets so that it always displays\r
             Fragment fileFragment = getSupportFragmentManager().findFragmentByTag(FileDetailFragment.FTAG);\r
-            if (fileFragment != null && (fileFragment instanceof FilePreviewFragment || !((FileDetailFragment) fileFragment).isEmpty())) {\r
+            if (fileFragment != null && (fileFragment instanceof PreviewMediaFragment || !((FileDetailFragment) fileFragment).isEmpty())) {\r
                 FragmentTransaction transaction = getSupportFragmentManager().beginTransaction();\r
                 transaction.replace(R.id.file_details_container, new FileDetailFragment(null, null), FileDetailFragment.FTAG); // empty FileDetailFragment                \r
                 transaction.commit();\r
@@ -1054,10 +1054,14 @@ public class FileDisplayActivity extends SherlockFragmentActivity implements
     @Override\r
     public void onFileClick(OCFile file) {\r
 \r
-        if (file != null && FilePreviewFragment.canBePreviewed(file)) {\r
-            if (file.isDown()) {\r
-                // preview it\r
-                startPreview(file);\r
+        if (file != null && PreviewMediaFragment.canBePreviewed(file)) {\r
+            if (file.isImage()) {\r
+                // preview image - it handles the download, if needed\r
+                startPreviewImage(file);\r
+                \r
+            } else if (file.isDown()) {\r
+                // general preview\r
+                startOtherPreview(file);\r
                 \r
             } else {\r
                 // automatic download, preview on finish\r
@@ -1069,21 +1073,20 @@ public class FileDisplayActivity extends SherlockFragmentActivity implements
             startDetails(file);\r
         }\r
     }\r
+\r
+    private void startPreviewImage(OCFile file) {\r
+        Intent showDetailsIntent = new Intent(this, PreviewImageActivity.class);\r
+        showDetailsIntent.putExtra(FileDetailFragment.EXTRA_FILE, file);\r
+        showDetailsIntent.putExtra(FileDetailFragment.EXTRA_ACCOUNT, AccountUtils.getCurrentOwnCloudAccount(this));\r
+        startActivity(showDetailsIntent);\r
+    }\r
     \r
-    private void startPreview(OCFile file) {\r
-        if (mDualPane && \r
-                !file.isImage() // this is a trick to get a quick-to-implement 'full screen' preview for images in landscape\r
-                ) {\r
+    private void startOtherPreview(OCFile file) {\r
+        if (mDualPane) {\r
             FragmentTransaction transaction = getSupportFragmentManager().beginTransaction();\r
-            transaction.replace(R.id.file_details_container, new FilePreviewFragment(file, AccountUtils.getCurrentOwnCloudAccount(this)), FileDetailFragment.FTAG);\r
+            transaction.replace(R.id.file_details_container, new PreviewMediaFragment(file, AccountUtils.getCurrentOwnCloudAccount(this)), FileDetailFragment.FTAG);\r
             transaction.commit();\r
             \r
-        } else if (file.isImage()) {\r
-            Intent showDetailsIntent = new Intent(this, PreviewImageActivity.class);\r
-            showDetailsIntent.putExtra(FileDetailFragment.EXTRA_FILE, file);\r
-            showDetailsIntent.putExtra(FileDetailFragment.EXTRA_ACCOUNT, AccountUtils.getCurrentOwnCloudAccount(this));\r
-            startActivity(showDetailsIntent);\r
-            \r
         } else {\r
             Intent showDetailsIntent = new Intent(this, FileDetailActivity.class);\r
             showDetailsIntent.putExtra(FileDetailFragment.EXTRA_FILE, file);\r
@@ -1400,7 +1403,7 @@ public class FileDisplayActivity extends SherlockFragmentActivity implements
         if (success) {\r
             if (mWaitingToPreview != null) {\r
                 FragmentTransaction transaction = getSupportFragmentManager().beginTransaction();\r
-                transaction.replace(R.id.file_details_container, new FilePreviewFragment(file, AccountUtils.getCurrentOwnCloudAccount(this)), FileDetailFragment.FTAG);\r
+                transaction.replace(R.id.file_details_container, new PreviewMediaFragment(file, AccountUtils.getCurrentOwnCloudAccount(this)), FileDetailFragment.FTAG);\r
                 transaction.commit();\r
                 mWaitingToPreview = null;\r
             }\r