X-Git-Url: http://git.linex4red.de/pub/Android/ownCloud.git/blobdiff_plain/d1257b34c035ccbe7971ddde3cea2a1bf7d66410..fc40765890415abe9f2569a44adcbe88412ea1ba:/src/com/owncloud/android/ui/preview/PreviewTextFragment.java diff --git a/src/com/owncloud/android/ui/preview/PreviewTextFragment.java b/src/com/owncloud/android/ui/preview/PreviewTextFragment.java index e9479a35..6595bf72 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,18 @@ 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 unsupportedTypes = new LinkedList(); + unsupportedTypes.add("text/richtext"); + unsupportedTypes.add("text/rtf"); + unsupportedTypes.add("text/vnd.abc"); + unsupportedTypes.add("text/vnd.fmi.flexstor"); + unsupportedTypes.add("text/vnd.rn-realtext"); + unsupportedTypes.add("text/vnd.wap.wml"); + unsupportedTypes.add("text/vnd.wap.wmlscript"); + return (file != null && file.isDown() && file.isText() && + !unsupportedTypes.contains(file.getMimetype()) && + !unsupportedTypes.contains(file.getMimeTypeFromName()) + ); } /**