X-Git-Url: http://git.linex4red.de/pub/Android/ownCloud.git/blobdiff_plain/4a5718a445194b6f9bbb4b992dd1e8f2b3a23c59..49e8dafac05eef53cabbff8f3efbe312b8d5b80b:/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 d0a678c8..1be63998 100644 --- a/src/com/owncloud/android/ui/preview/PreviewTextFragment.java +++ b/src/com/owncloud/android/ui/preview/PreviewTextFragment.java @@ -3,10 +3,12 @@ package com.owncloud.android.ui.preview; 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; @@ -19,6 +21,7 @@ import com.owncloud.android.files.FileMenuFilter; 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; @@ -35,8 +38,6 @@ public class PreviewTextFragment extends FileFragment { private Account mAccount; private TextView mTextPreview; - private ProgressBar mProgressBar; - private ScrollView mScrollView; /** * Creates an empty fragment for previews. @@ -64,9 +65,7 @@ public class PreviewTextFragment extends FileFragment { 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; } @@ -118,23 +117,22 @@ public class PreviewTextFragment extends FileFragment { 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 { - TextView mTextView; + private final String DIALOG_WAIT_TAG = "DIALOG_WAIT"; + private TextView mTextView; @Override protected void onPreExecute() { - mProgressBar.setVisibility(View.VISIBLE); + showLoadingDialog(); } @Override @@ -177,10 +175,31 @@ public class PreviewTextFragment extends FileFragment { @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(); + } } } @@ -230,6 +249,30 @@ public class PreviewTextFragment extends FileFragment { 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); + } } /** @@ -276,7 +319,7 @@ public class PreviewTextFragment extends FileFragment { /** * 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); @@ -300,6 +343,8 @@ public class PreviewTextFragment extends FileFragment { public void onResume() { super.onResume(); Log_OC.e(TAG, "onResume"); + + loadAndShowTextPreview(); } @Override @@ -336,6 +381,11 @@ public class PreviewTextFragment extends FileFragment { * Finishes the preview */ private void finish() { - getSherlockActivity().onBackPressed(); + getActivity().runOnUiThread(new Runnable() { + @Override + public void run() { + getSherlockActivity().onBackPressed(); + } + }); } }