import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentTransaction;
import android.view.LayoutInflater;
+import android.view.Menu;
+import android.view.MenuInflater;
+import android.view.MenuItem;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;
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 {
@Override
public void onSaveInstanceState(Bundle outState) {
super.onSaveInstanceState(outState);
- outState.putParcelable(PreviewImageFragment.EXTRA_FILE, getFile());
- outState.putParcelable(PreviewImageFragment.EXTRA_ACCOUNT, mAccount);
+ outState.putParcelable(PreviewTextFragment.EXTRA_FILE, getFile());
+ outState.putParcelable(PreviewTextFragment.EXTRA_ACCOUNT, mAccount);
}
@Override
* 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);
+ }
+
}
/**
getFile(),
mContainerActivity.getStorageManager().getAccount(),
mContainerActivity,
- getSherlockActivity()
+ getActivity()
);
mf.filter(menu);
}
item.setEnabled(false);
}
- item = menu.findItem(R.id.action_settings);
- if (item != null) {
- item.setVisible(false);
- item.setEnabled(false);
- }
-
- item = menu.findItem(R.id.action_logger);
- if (item != null) {
- item.setVisible(false);
- item.setEnabled(false);
- }
-
item = menu.findItem(R.id.action_sync_file);
if (item != null) {
item.setVisible(false);
mContainerActivity.getFileOperationsHelper().shareFileWithLink(getFile());
return true;
}
+ case R.id.action_share_with_users: {
+ mContainerActivity.getFileOperationsHelper().showShareFile(getFile());
+ return true;
+ }
case R.id.action_unshare_file: {
mContainerActivity.getFileOperationsHelper().unshareFileWithLink(getFile());
return true;
* @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<String> unsupportedTypes = new LinkedList<String>();
+ 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())
+ );
}
/**
getActivity().runOnUiThread(new Runnable() {
@Override
public void run() {
- getSherlockActivity().onBackPressed();
+ getActivity().onBackPressed();
}
});
}