From: masensio Date: Wed, 2 Sep 2015 11:29:14 +0000 (+0200) Subject: Merge branch 'text_file_preview_pr_707_with_develop' of github.com:owncloud/android... X-Git-Tag: oc-android-1.8~17^2~4 X-Git-Url: http://git.linex4red.de/pub/Android/ownCloud.git/commitdiff_plain/6b84d83b3544f8de4e56186f6ecbccd3d612702b?hp=a0707428ff3f82f28261afc1cdc3061b534f47e2 Merge branch 'text_file_preview_pr_707_with_develop' of github.com:owncloud/android into text_file_preview_pr_707_with_develop --- diff --git a/src/com/owncloud/android/datamodel/OCFile.java b/src/com/owncloud/android/datamodel/OCFile.java index 4baf1ea5..afd421d7 100644 --- a/src/com/owncloud/android/datamodel/OCFile.java +++ b/src/com/owncloud/android/datamodel/OCFile.java @@ -548,14 +548,6 @@ public class OCFile implements Parcelable, Comparable { getMimeTypeFromName().startsWith("image/")); } - /** - * @return 'True' if the file is simple text (e.g. not application-dependent, like .doc or .docx) - */ - public boolean isText() { - return ((mMimeType != null && mMimeType.startsWith("text/")) || - getMimeTypeFromName().startsWith("text/")); - } - public String getMimeTypeFromName() { String extension = ""; int pos = mRemotePath.lastIndexOf('.'); diff --git a/src/com/owncloud/android/ui/preview/PreviewTextFragment.java b/src/com/owncloud/android/ui/preview/PreviewTextFragment.java index e9479a35..4f4a65a6 100644 --- a/src/com/owncloud/android/ui/preview/PreviewTextFragment.java +++ b/src/com/owncloud/android/ui/preview/PreviewTextFragment.java @@ -29,6 +29,8 @@ import java.io.FileInputStream; import java.io.IOException; import java.io.StringWriter; import java.lang.ref.WeakReference; +import java.util.LinkedList; +import java.util.List; import java.util.Scanner; public class PreviewTextFragment extends FileFragment { @@ -202,11 +204,20 @@ public class PreviewTextFragment extends FileFragment { * Show loading dialog */ public void showLoadingDialog() { - // Construct dialog - LoadingDialog loading = new LoadingDialog(getResources().getString(R.string.wait_a_moment)); - FragmentManager fm = getActivity().getSupportFragmentManager(); - FragmentTransaction ft = fm.beginTransaction(); - loading.show(ft, DIALOG_WAIT_TAG); + // only once + Fragment frag = getActivity().getSupportFragmentManager().findFragmentByTag(DIALOG_WAIT_TAG); + LoadingDialog loading = null; + if (frag == null) { + // Construct dialog + loading = new LoadingDialog(getResources().getString(R.string.wait_a_moment)); + FragmentManager fm = getActivity().getSupportFragmentManager(); + FragmentTransaction ft = fm.beginTransaction(); + loading.show(ft, DIALOG_WAIT_TAG); + } else { + loading = (LoadingDialog) frag; + loading.setShowsDialog(true); + } + } /** @@ -380,7 +391,13 @@ public class PreviewTextFragment extends FileFragment { * @return 'True' if the file can be handled by the fragment. */ public static boolean canBePreviewed(OCFile file) { - return (file != null && file.isDown() && file.isText()); + final List supportedTypes = new LinkedList(); + supportedTypes.add("text/plain"); + supportedTypes.add("text/html"); + supportedTypes.add("text/css"); + supportedTypes.add("text/csv"); + + return (file != null && file.isDown() && supportedTypes.contains(file.getMimetype())); } /**