import org.apache.http.protocol.HTTP;
+import android.accounts.Account;
import android.accounts.AccountManager;
import android.content.Intent;
import android.net.Uri;
import com.owncloud.android.R;
import com.owncloud.android.datamodel.OCFile;
+import com.owncloud.android.files.services.FileDownloader.FileDownloaderBinder;
+import com.owncloud.android.files.services.FileUploader.FileUploaderBinder;
import com.owncloud.android.lib.common.accounts.AccountUtils.Constants;
import com.owncloud.android.lib.common.network.WebdavUtils;
mFileActivity.showLoadingDialog();
}
+
+ public void cancelTransference(OCFile file) {
+ Account account = mFileActivity.getAccount();
+ FileDownloaderBinder downloaderBinder = mFileActivity.getFileDownloaderBinder();
+ FileUploaderBinder uploaderBinder = mFileActivity.getFileUploaderBinder();
+ if (downloaderBinder != null && downloaderBinder.isDownloading(account, file)) {
+ downloaderBinder.cancel(account, file);
+
+ } else if (uploaderBinder != null && uploaderBinder.isUploading(account, file)) {
+ uploaderBinder.cancel(account, file);
+ }
+ }
+
public long getOpIdWaitingFor() {
return mWaitingForOpId;
public void setOpIdWaitingFor(long waitingForOpId) {
mWaitingForOpId = waitingForOpId;
}
+
+
}
package com.owncloud.android.ui.activity;
-import org.apache.commons.httpclient.Credentials;
-
import android.accounts.Account;
import android.accounts.AccountManager;
import android.accounts.AccountManagerCallback;
import android.accounts.AccountManagerFuture;
import android.accounts.AuthenticatorException;
import android.accounts.OperationCanceledException;
-import android.app.PendingIntent;
import android.content.ComponentName;
import android.content.Context;
import android.content.Intent;
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.lib.common.network.BearerCredentials;
import com.owncloud.android.lib.common.operations.OnRemoteOperationListener;
import com.owncloud.android.lib.common.operations.RemoteOperation;
import com.owncloud.android.lib.common.operations.RemoteOperationResult;
*/
@Override
public void onTransferStateChanged(OCFile file, boolean downloading, boolean uploading) {
+ refreshListOfFilesFragment();
FileFragment details = getSecondFragment();
if (details != null && details instanceof FileDetailFragment && file.equals(details.getFile()) ) {
if (downloading || uploading) {
((FileDetailFragment)details).updateFileDetails(file, getAccount());
} else {
- ((FileDetailFragment)details).updateFileDetails(false, true);
+ if (!file.fileExists()) {
+ cleanSecondFragment();
+ } else {
+ ((FileDetailFragment)details).updateFileDetails(false, true);
+ }
}
}
}
public void cancelTransference(OCFile file) {
- Account account = getAccount();
- if (mDownloaderBinder != null && mDownloaderBinder.isDownloading(account, file)) {
- mDownloaderBinder.cancel(account, file);
- refreshListOfFilesFragment();
- onTransferStateChanged(file, false, false);
-
- } else if (mUploaderBinder != null && mUploaderBinder.isUploading(account, file)) {
- mUploaderBinder.cancel(account, file);
- refreshListOfFilesFragment();
- if (!file.fileExists()) {
- cleanSecondFragment();
-
- } else {
- onTransferStateChanged(file, false, false);
- }
+ getFileOperationsHelper().cancelTransference(file);
+ if (mWaitingToPreview != null &&
+ mWaitingToPreview.getRemotePath().equals(file.getRemotePath())) {
+ mWaitingToPreview = null;
+ }
+ if (mWaitingToSend != null &&
+ mWaitingToSend.getRemotePath().equals(file.getRemotePath())) {
+ mWaitingToSend = null;
}
+ onTransferStateChanged(file, false, false);
}
}
public void onClick(View v) {
switch (v.getId()) {
case R.id.cancelBtn: {
- FileDownloaderBinder downloaderBinder = mContainerActivity.getFileDownloaderBinder();
- if (downloaderBinder != null && downloaderBinder.isDownloading(mAccount, getFile())) {
- downloaderBinder.cancel(mAccount, getFile());
- getActivity().finish(); // :)
- /*
- leaveTransferProgress();
- if (mFile.isDown()) {
- setButtonsForDown();
- } else {
- setButtonsForRemote();
- }
- */
- }
+ mContainerActivity.getFileOperationsHelper().cancelTransference(getFile());
+ getActivity().finish();
break;
}
default: