X-Git-Url: http://git.linex4red.de/pub/Android/ownCloud.git/blobdiff_plain/e9f13d77ce3d9a7a94c2338b560659bfe2b1ad0f..5dc43aab3cc1243f9989dd6a0c7dd3350c3f709b:/src/com/owncloud/android/operations/RemoteOperation.java diff --git a/src/com/owncloud/android/operations/RemoteOperation.java b/src/com/owncloud/android/operations/RemoteOperation.java index 79e53a9f..711a72b0 100644 --- a/src/com/owncloud/android/operations/RemoteOperation.java +++ b/src/com/owncloud/android/operations/RemoteOperation.java @@ -1,10 +1,9 @@ /* ownCloud Android client application - * Copyright (C) 2011 Bartek Przybylski + * Copyright (C) 2012-2013 ownCloud Inc. * * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. + * it under the terms of the GNU General Public License version 2, + * as published by the Free Software Foundation. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of @@ -21,7 +20,8 @@ import java.io.IOException; import org.apache.commons.httpclient.Credentials; -import com.owncloud.android.authenticator.AccountAuthenticator; +import com.owncloud.android.Log_OC; +import com.owncloud.android.authentication.AccountAuthenticator; import com.owncloud.android.network.BearerCredentials; import com.owncloud.android.network.OwnCloudClientUtils; import com.owncloud.android.operations.RemoteOperationResult.ResultCode; @@ -32,7 +32,6 @@ import android.accounts.AccountsException; import android.app.Activity; import android.content.Context; import android.os.Handler; -import android.util.Log; import eu.alefzero.webdav.WebdavClient; @@ -93,7 +92,7 @@ public abstract class RemoteOperation implements Runnable { try { mClient = OwnCloudClientUtils.createOwnCloudClient(mAccount, mContext); } catch (Exception e) { - Log.e(TAG, "Error while trying to access to " + mAccount.name, e); + Log_OC.e(TAG, "Error while trying to access to " + mAccount.name, e); return new RemoteOperationResult(e); } return run(mClient); @@ -231,11 +230,11 @@ public abstract class RemoteOperation implements Runnable { } } catch (IOException e) { - Log.e(TAG, "Error while trying to access to " + mAccount.name, new AccountsException("I/O exception while trying to authorize the account", e)); + Log_OC.e(TAG, "Error while trying to access to " + mAccount.name, new AccountsException("I/O exception while trying to authorize the account", e)); result = new RemoteOperationResult(e); } catch (AccountsException e) { - Log.e(TAG, "Error while trying to access to " + mAccount.name, e); + Log_OC.e(TAG, "Error while trying to access to " + mAccount.name, e); result = new RemoteOperationResult(e); } @@ -244,6 +243,7 @@ public abstract class RemoteOperation implements Runnable { repeat = false; if (mCallerActivity != null && mAccount != null && mContext != null && !result.isSuccess() && result.getCode() == ResultCode.UNAUTHORIZED) { + /// fail due to lack of authorization in an operation performed in foreground AccountManager am = AccountManager.get(mContext); Credentials cred = mClient.getCredentials(); if (cred instanceof BearerCredentials) { @@ -252,7 +252,8 @@ public abstract class RemoteOperation implements Runnable { am.clearPassword(mAccount); } mClient = null; - repeat = true; + repeat = true; // when repeated, the creation of a new OwnCloudClient after erasing the saved credentials will trigger the login activity + result = null; } } while (repeat);