import android.accounts.Account;
import android.os.AsyncTask;
import android.os.Bundle;
+import android.support.v4.app.Fragment;
+import android.support.v4.app.FragmentManager;
+import android.support.v4.app.FragmentTransaction;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
-import android.widget.ProgressBar;
import android.widget.ScrollView;
import android.widget.TextView;
import com.owncloud.android.lib.common.utils.Log_OC;
import com.owncloud.android.ui.activity.FileDisplayActivity;
import com.owncloud.android.ui.dialog.ConfirmationDialogFragment;
+import com.owncloud.android.ui.dialog.LoadingDialog;
import com.owncloud.android.ui.dialog.RemoveFileDialogFragment;
import com.owncloud.android.ui.fragment.FileFragment;
private Account mAccount;
private TextView mTextPreview;
- private ProgressBar mProgressBar;
- private ScrollView mScrollView;
/**
* Creates an empty fragment for previews.
View ret = inflater.inflate(R.layout.text_file_preview, container, false);
- mScrollView = (ScrollView) ret.findViewById(R.id.text_scrollview);
mTextPreview = (TextView) ret.findViewById(R.id.text_preview);
- mProgressBar = (ProgressBar) ret.findViewById(R.id.progress_bar);
return ret;
}
public void onStart() {
super.onStart();
Log_OC.e(TAG, "onStart");
-
- loadAndShowTextPreview(getFile().getStoragePath(), mTextPreview);
}
- private void loadAndShowTextPreview(String location, TextView textView) {
- new TextLoadAsyncTask().execute(location, textView);
+ private void loadAndShowTextPreview() {
+ new TextLoadAsyncTask().execute(getFile().getStoragePath(), mTextPreview);
}
/**
* Reads the file to preview and shows its contents. Too critical to be anonymous.
*/
private class TextLoadAsyncTask extends AsyncTask<Object, Void, StringWriter> {
- TextView mTextView;
+ private final String DIALOG_WAIT_TAG = "DIALOG_WAIT";
+ private TextView mTextView;
@Override
protected void onPreExecute() {
- mProgressBar.setVisibility(View.VISIBLE);
+ showLoadingDialog();
}
@Override
@Override
protected void onPostExecute(final StringWriter stringWriter) {
- super.onPostExecute(stringWriter);
- mProgressBar.setVisibility(View.GONE);
- mScrollView.setVisibility(View.VISIBLE);
mTextView.setText(new String(stringWriter.getBuffer()));
+ mTextView.setVisibility(View.VISIBLE);
+ dismissLoadingDialog();
+ }
+
+ /**
+ * 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);
+ }
+
+ /**
+ * Dismiss loading dialog
+ */
+ public void dismissLoadingDialog() {
+ Fragment frag = getActivity().getSupportFragmentManager().findFragmentByTag(DIALOG_WAIT_TAG);
+ if (frag != null) {
+ LoadingDialog loading = (LoadingDialog) frag;
+ loading.dismiss();
+ }
}
}
item.setVisible(false);
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);
+ item.setEnabled(false);
+ }
+
+ item = menu.findItem(R.id.action_sync_account);
+ if (item != null) {
+ item.setVisible(false);
+ item.setEnabled(false);
+ }
}
/**
/**
* Update the file of the fragment with file value
*
- * @param file
+ * @param file The new file to set
*/
public void updateFile(OCFile file) {
setFile(file);
public void onResume() {
super.onResume();
Log_OC.e(TAG, "onResume");
+
+ loadAndShowTextPreview();
}
@Override
* Finishes the preview
*/
private void finish() {
- getSherlockActivity().onBackPressed();
+ getActivity().runOnUiThread(new Runnable() {
+ @Override
+ public void run() {
+ getSherlockActivity().onBackPressed();
+ }
+ });
}
}