--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+ android:id="@+id/loadingLayout"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:orientation="horizontal" >
+
+ <ProgressBar
+ android:id="@+id/loadingBar"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_gravity="center_vertical"
+ android:layout_marginBottom="10dp"
+ android:layout_marginLeft="10dp"
+ android:layout_marginRight="5dp"
+ android:layout_marginTop="10dp" />
+
+ <TextView
+ android:id="@+id/loadingText"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_gravity="center_vertical"
+ android:layout_marginRight="20dp"
+ android:text="TextView" />
+
+</LinearLayout>
import android.preference.PreferenceManager;
import android.provider.MediaStore;
import android.support.v4.app.Fragment;
+import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentTransaction;
import android.util.Log;
import android.view.View;
import com.owncloud.android.operations.RemoteOperationResult.ResultCode;
import com.owncloud.android.syncadapter.FileSyncService;
import com.owncloud.android.ui.dialog.EditNameDialog;
+import com.owncloud.android.ui.dialog.LoadingDialog;
import com.owncloud.android.ui.dialog.SslValidatorDialog;
import com.owncloud.android.ui.dialog.EditNameDialog.EditNameDialogListener;
import com.owncloud.android.ui.dialog.SslValidatorDialog.OnSslValidatorListener;
private static final int DIALOG_CHOOSE_UPLOAD_SOURCE = 1;
private static final int DIALOG_SSL_VALIDATOR = 2;
private static final int DIALOG_CERT_NOT_SAVED = 3;
+
+ private static final String DIALOG_WAIT_TAG = "DIALOG_WAIT";
public static final String ACTION_DETAILS = "com.owncloud.android.ui.activity.action.DETAILS";
outState.putParcelable(FileDisplayActivity.KEY_WAITING_TO_PREVIEW, mWaitingToPreview);
Log_OC.d(TAG, "onSaveInstanceState() end");
}
+
+
@Override
protected void onResume() {
/**
+ * Show loading dialog
+ */
+ public void showLoadingDialog() {
+ // Construct dialog
+ LoadingDialog loading = new LoadingDialog(getResources().getString(R.string.wait_a_moment));
+ FragmentManager fm = getSupportFragmentManager();
+ FragmentTransaction ft = fm.beginTransaction();
+ loading.show(ft, DIALOG_WAIT_TAG);
+
+ }
+
+ /**
+ * Dismiss loading dialog
+ */
+ public void dismissLoadingDialog(){
+ Fragment frag = getSupportFragmentManager().findFragmentByTag(DIALOG_WAIT_TAG);
+ if (frag != null) {
+ LoadingDialog loading = (LoadingDialog) frag;
+ loading.dismiss();
+ }
+ }
+
+
+ /**
* Translates a content URI of an image to a physical path
* on the disk
* @param uri The URI to resolve
* @param result Result of the removal.
*/
private void onRemoveFileOperationFinish(RemoveFileOperation operation, RemoteOperationResult result) {
- dismissDialog(DIALOG_SHORT_WAIT);
+ dismissLoadingDialog();
if (result.isSuccess()) {
Toast msg = Toast.makeText(this, R.string.remove_success_msg, Toast.LENGTH_LONG);
msg.show();
*/
private void onCreateFolderOperationFinish(CreateFolderOperation operation, RemoteOperationResult result) {
if (result.isSuccess()) {
- dismissDialog(DIALOG_SHORT_WAIT);
+ dismissLoadingDialog();
refeshListOfFilesFragment();
} else {
- dismissDialog(DIALOG_SHORT_WAIT);
+ //dismissDialog(DIALOG_SHORT_WAIT);
+ dismissLoadingDialog();
try {
Toast msg = Toast.makeText(FileDisplayActivity.this, R.string.create_dir_fail_msg, Toast.LENGTH_LONG);
msg.show();
* @param result Result of the renaming.
*/
private void onRenameFileOperationFinish(RenameFileOperation operation, RemoteOperationResult result) {
- dismissDialog(DIALOG_SHORT_WAIT);
+ dismissLoadingDialog();
OCFile renamedFile = operation.getFile();
if (result.isSuccess()) {
if (mDualPane) {
private void onSynchronizeFileOperationFinish(SynchronizeFileOperation operation, RemoteOperationResult result) {
- dismissDialog(DIALOG_SHORT_WAIT);
+ dismissLoadingDialog();
OCFile syncedFile = operation.getLocalFile();
if (!result.isSuccess()) {
if (result.getCode() == ResultCode.SYNC_CONFLICT) {
mHandler,
FileDisplayActivity.this);
- showDialog(DIALOG_SHORT_WAIT);
+ showLoadingDialog();
}
}
}
--- /dev/null
+package com.owncloud.android.ui.dialog;
+
+import com.owncloud.android.R;
+
+import android.app.Dialog;
+import android.os.Bundle;
+import android.support.v4.app.DialogFragment;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+import android.view.Window;
+import android.widget.TextView;
+
+public class LoadingDialog extends DialogFragment {
+
+ private String mMessage;
+
+ public LoadingDialog() {
+ super();
+ }
+
+ @Override
+ public void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ setRetainInstance(true);
+ setCancelable(false);
+ }
+
+ public LoadingDialog(String message) {
+ this.mMessage = message;
+ }
+
+ @Override
+ public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
+ // Create a view by inflating desired layout
+ View v = inflater.inflate(R.layout.loading_dialog, container, false);
+
+ // set value
+ TextView tv = (TextView) v.findViewById(R.id.loadingText);
+ tv.setText(mMessage);
+
+ return v;
+ }
+
+ @Override
+ public Dialog onCreateDialog(Bundle savedInstanceState) {
+ Dialog dialog = super.onCreateDialog(savedInstanceState);
+ dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
+ return dialog;
+ }
+
+ @Override
+ public void onDestroyView() {
+ if (getDialog() != null && getRetainInstance())
+ getDialog().setDismissMessage(null);
+ super.onDestroyView();
+ }
+}
import android.content.IntentFilter;
import android.os.Bundle;
import android.os.Handler;
-import android.support.v4.app.FragmentTransaction;
import android.view.LayoutInflater;
import android.view.View;
import android.view.View.OnClickListener;
import com.actionbarsherlock.view.MenuItem;
import com.owncloud.android.DisplayUtils;
import com.owncloud.android.Log_OC;
+import com.owncloud.android.R;
import com.owncloud.android.datamodel.FileDataStorageManager;
import com.owncloud.android.datamodel.OCFile;
+import com.owncloud.android.files.services.FileDownloader.FileDownloaderBinder;
import com.owncloud.android.files.services.FileObserverService;
import com.owncloud.android.files.services.FileUploader;
-import com.owncloud.android.files.services.FileDownloader.FileDownloaderBinder;
import com.owncloud.android.files.services.FileUploader.FileUploaderBinder;
import com.owncloud.android.operations.OnRemoteOperationListener;
import com.owncloud.android.operations.RemoteOperation;
import com.owncloud.android.ui.dialog.EditNameDialog;
import com.owncloud.android.ui.dialog.EditNameDialog.EditNameDialogListener;
-import com.owncloud.android.R;
-
import eu.alefzero.webdav.OnDatatransferProgressListener;
/**
mLastRemoteOperation.execute(mAccount, getSherlockActivity(), this, mHandler, getSherlockActivity());
// update ui
- boolean inDisplayActivity = getActivity() instanceof FileDisplayActivity;
- getActivity().showDialog(FileDisplayActivity.DIALOG_SHORT_WAIT);
+ //boolean inDisplayActivity = getActivity() instanceof FileDisplayActivity;
+ ((FileDisplayActivity) getActivity()).showLoadingDialog();
}
}
mStorageManager);
mLastRemoteOperation.execute(mAccount, getSherlockActivity(), this, mHandler, getSherlockActivity());
- boolean inDisplayActivity = getActivity() instanceof FileDisplayActivity;
- getActivity().showDialog(FileDisplayActivity.DIALOG_SHORT_WAIT);
+ //boolean inDisplayActivity = getActivity() instanceof FileDisplayActivity;
+ ((FileDisplayActivity) getActivity()).showLoadingDialog();
}
}
}
newFilename,
new FileDataStorageManager(mAccount, getActivity().getContentResolver()));
mLastRemoteOperation.execute(mAccount, getSherlockActivity(), this, mHandler, getSherlockActivity());
- boolean inDisplayActivity = getActivity() instanceof FileDisplayActivity;
- getActivity().showDialog(FileDisplayActivity.DIALOG_SHORT_WAIT);
+ //boolean inDisplayActivity = getActivity() instanceof FileDisplayActivity;
+ ((FileDisplayActivity) getActivity()).showLoadingDialog();
}
}
private void onRemoveFileOperationFinish(RemoveFileOperation operation, RemoteOperationResult result) {
- getActivity().dismissDialog(FileDisplayActivity.DIALOG_SHORT_WAIT);
-
+ ((FileDisplayActivity) getActivity()).dismissLoadingDialog();
if (result.isSuccess()) {
Toast msg = Toast.makeText(getActivity().getApplicationContext(), R.string.remove_success_msg, Toast.LENGTH_LONG);
msg.show();
}
private void onRenameFileOperationFinish(RenameFileOperation operation, RemoteOperationResult result) {
- getActivity().dismissDialog(FileDisplayActivity.DIALOG_SHORT_WAIT);
+ ((FileDisplayActivity) getActivity()).dismissLoadingDialog();
if (result.isSuccess()) {
updateFileDetails(((RenameFileOperation)operation).getFile(), mAccount);
}
private void onSynchronizeFileOperationFinish(SynchronizeFileOperation operation, RemoteOperationResult result) {
- getActivity().dismissDialog(FileDisplayActivity.DIALOG_SHORT_WAIT);
+ ((FileDisplayActivity) getActivity()).dismissLoadingDialog();
OCFile file = getFile();
if (!result.isSuccess()) {
if (result.getCode() == ResultCode.SYNC_CONFLICT) {
Account account = AccountUtils.getCurrentOwnCloudAccount(getSherlockActivity());
RemoteOperation operation = new SynchronizeFileOperation(mTargetFile, null, mContainerActivity.getStorageManager(), account, true, false, getSherlockActivity());
operation.execute(account, getSherlockActivity(), mContainerActivity, mHandler, getSherlockActivity());
- getSherlockActivity().showDialog(FileDisplayActivity.DIALOG_SHORT_WAIT);
+ ((FileDisplayActivity) getSherlockActivity()).showLoadingDialog();
return true;
}
case R.id.action_cancel_download: {
newFilename,
mContainerActivity.getStorageManager());
operation.execute(AccountUtils.getCurrentOwnCloudAccount(getSherlockActivity()), getSherlockActivity(), mContainerActivity, mHandler, getSherlockActivity());
- getActivity().showDialog(FileDisplayActivity.DIALOG_SHORT_WAIT);
+ ((FileDisplayActivity) getActivity()).showLoadingDialog();
}
}
mContainerActivity.getStorageManager());
operation.execute(AccountUtils.getCurrentOwnCloudAccount(getSherlockActivity()), getSherlockActivity(), mContainerActivity, mHandler, getSherlockActivity());
- getActivity().showDialog(FileDisplayActivity.DIALOG_SHORT_WAIT);
+ ((FileDisplayActivity) getActivity()).showLoadingDialog();
}
}
}
import android.content.ServiceConnection;
import android.os.Bundle;
import android.os.IBinder;
+import android.support.v4.app.Fragment;
+import android.support.v4.app.FragmentManager;
+import android.support.v4.app.FragmentTransaction;
import android.support.v4.view.ViewPager;
import android.view.MotionEvent;
import android.view.View;
import com.owncloud.android.files.services.FileUploader.FileUploaderBinder;
import com.owncloud.android.ui.activity.FileActivity;
import com.owncloud.android.ui.activity.FileDisplayActivity;
+import com.owncloud.android.ui.dialog.LoadingDialog;
import com.owncloud.android.ui.fragment.FileFragment;
import com.owncloud.android.Log_OC;
public static final String KEY_WAITING_TO_PREVIEW = "WAITING_TO_PREVIEW";
private static final String KEY_WAITING_FOR_BINDER = "WAITING_FOR_BINDER";
+ private static final String DIALOG_WAIT_TAG = "DIALOG_WAIT";
+
private DataStorageManager mStorageManager;
private ViewPager mViewPager;
}
- @Override
- protected Dialog onCreateDialog(int id) {
- Dialog dialog = null;
- switch (id) {
- case DIALOG_SHORT_WAIT: {
- ProgressDialog working_dialog = new ProgressDialog(this);
- working_dialog.setMessage(getResources().getString(
- R.string.wait_a_moment));
- working_dialog.setIndeterminate(true);
- working_dialog.setCancelable(false);
- dialog = working_dialog;
- break;
- }
- default:
- dialog = null;
- }
- return dialog;
+// @Override
+// protected Dialog onCreateDialog(int id) {
+// Dialog dialog = null;
+// switch (id) {
+// case DIALOG_SHORT_WAIT: {
+// ProgressDialog working_dialog = new ProgressDialog(this);
+// working_dialog.setMessage(getResources().getString(
+// R.string.wait_a_moment));
+// working_dialog.setIndeterminate(true);
+// working_dialog.setCancelable(false);
+// dialog = working_dialog;
+// break;
+// }
+// default:
+// dialog = null;
+// }
+// return dialog;
+// }
+
+
+ /**
+ * Show loading dialog
+ */
+ public void showLoadingDialog() {
+ // Construct dialog
+ LoadingDialog loading = new LoadingDialog(getResources().getString(R.string.wait_a_moment));
+ FragmentManager fm = getSupportFragmentManager();
+ FragmentTransaction ft = fm.beginTransaction();
+ loading.show(ft, DIALOG_WAIT_TAG);
+
}
+ /**
+ * Dismiss loading dialog
+ */
+ public void dismissLoadingDialog(){
+ Fragment frag = getSupportFragmentManager().findFragmentByTag(DIALOG_WAIT_TAG);
+ if (frag != null) {
+ LoadingDialog loading = (LoadingDialog) frag;
+ loading.dismiss();
+ }
+ }
/**
* {@inheritDoc}
import com.owncloud.android.operations.RemoteOperation;
import com.owncloud.android.operations.RemoteOperationResult;
import com.owncloud.android.operations.RemoveFileOperation;
+import com.owncloud.android.ui.activity.FileDisplayActivity;
import com.owncloud.android.ui.fragment.ConfirmationDialogFragment;
import com.owncloud.android.ui.fragment.FileFragment;
mStorageManager);
mLastRemoteOperation.execute(mAccount, getSherlockActivity(), this, mHandler, getSherlockActivity());
- getActivity().showDialog(PreviewImageActivity.DIALOG_SHORT_WAIT);
+ ((PreviewImageActivity) getActivity()).showLoadingDialog();
}
}
}
private void onRemoveFileOperationFinish(RemoveFileOperation operation, RemoteOperationResult result) {
- getActivity().dismissDialog(PreviewImageActivity.DIALOG_SHORT_WAIT);
+ ((PreviewImageActivity) getActivity()).dismissLoadingDialog();
if (result.isSuccess()) {
Toast msg = Toast.makeText(getActivity().getApplicationContext(), R.string.remove_success_msg, Toast.LENGTH_LONG);
mStorageManager);
mLastRemoteOperation.execute(mAccount, getSherlockActivity(), this, mHandler, getSherlockActivity());
- getActivity().showDialog(FileDisplayActivity.DIALOG_SHORT_WAIT);
+ ((FileDisplayActivity) getActivity()).showLoadingDialog();
}
}
}
private void onRemoveFileOperationFinish(RemoveFileOperation operation, RemoteOperationResult result) {
- getActivity().dismissDialog(FileDisplayActivity.DIALOG_SHORT_WAIT);
-
+ ((FileDisplayActivity) getActivity()).dismissLoadingDialog();
if (result.isSuccess()) {
Toast msg = Toast.makeText(getActivity().getApplicationContext(), R.string.remove_success_msg, Toast.LENGTH_LONG);
msg.show();