X-Git-Url: http://git.linex4red.de/pub/Android/ownCloud.git/blobdiff_plain/152ab88d9098b9eb22bf8f345510c7e66a861e39..cc39a76a90e6ecd572dbb249faae4e00b115832f:/src/com/owncloud/android/authentication/AccountAuthenticator.java diff --git a/src/com/owncloud/android/authentication/AccountAuthenticator.java b/src/com/owncloud/android/authentication/AccountAuthenticator.java index 2a43dab8..ff0782d5 100644 --- a/src/com/owncloud/android/authentication/AccountAuthenticator.java +++ b/src/com/owncloud/android/authentication/AccountAuthenticator.java @@ -18,6 +18,10 @@ package com.owncloud.android.authentication; +import com.owncloud.android.Log_OC; +import com.owncloud.android.MainApp; +import com.owncloud.android.R; + import android.accounts.*; import android.content.Context; import android.content.Intent; @@ -25,8 +29,8 @@ import android.os.Bundle; import android.os.Handler; import android.widget.Toast; -import com.owncloud.android.Log_OC; -import com.owncloud.android.R; + + /** * Authenticator for ownCloud accounts. @@ -44,14 +48,6 @@ public class AccountAuthenticator extends AbstractAccountAuthenticator { * Is used by android system to assign accounts to authenticators. Should be * used by application and all extensions. */ - public static final String ACCOUNT_TYPE = "owncloud"; - public static final String AUTHORITY = "org.owncloud"; - public static final String AUTH_TOKEN_TYPE = "org.owncloud"; - public static final String AUTH_TOKEN_TYPE_PASSWORD = "owncloud.password"; - public static final String AUTH_TOKEN_TYPE_ACCESS_TOKEN = "owncloud.oauth2.access_token"; - public static final String AUTH_TOKEN_TYPE_REFRESH_TOKEN = "owncloud.oauth2.refresh_token"; - public static final String AUTH_TOKEN_TYPE_SAML_WEB_SSO_SESSION_COOKIE = "owncloud.saml.web_sso.session_cookie"; - public static final String KEY_AUTH_TOKEN_TYPE = "authTokenType"; public static final String KEY_REQUIRED_FEATURES = "requiredFeatures"; public static final String KEY_LOGIN_OPTIONS = "loginOptions"; @@ -111,7 +107,7 @@ public class AccountAuthenticator extends AbstractAccountAuthenticator { final Bundle bundle = new Bundle(); AccountManager accountManager = AccountManager.get(mContext); - Account[] accounts = accountManager.getAccountsByType(ACCOUNT_TYPE); + Account[] accounts = accountManager.getAccountsByType(MainApp.getAccountType()); if (mContext.getResources().getBoolean(R.bool.multiaccount_support) || accounts.length < 1) { try { @@ -138,13 +134,14 @@ public class AccountAuthenticator extends AbstractAccountAuthenticator { // Return an error bundle.putInt(AccountManager.KEY_ERROR_CODE, AccountManager.ERROR_CODE_UNSUPPORTED_OPERATION); - bundle.putString(AccountManager.KEY_ERROR_MESSAGE, mContext.getString(R.string.auth_unsupported_multiaccount)); + final String message = String.format(mContext.getString(R.string.auth_unsupported_multiaccount), mContext.getString(R.string.app_name)); + bundle.putString(AccountManager.KEY_ERROR_MESSAGE, message); mHandler.post(new Runnable() { @Override public void run() { - Toast.makeText(mContext, R.string.auth_unsupported_multiaccount, Toast.LENGTH_SHORT).show(); + Toast.makeText(mContext, message, Toast.LENGTH_SHORT).show(); } }); @@ -207,7 +204,7 @@ public class AccountAuthenticator extends AbstractAccountAuthenticator { /// check if required token is stored final AccountManager am = AccountManager.get(mContext); String accessToken; - if (authTokenType.equals(AUTH_TOKEN_TYPE_PASSWORD)) { + if (authTokenType.equals(MainApp.getAuthTokenTypePass())) { accessToken = am.getPassword(account); } else { accessToken = am.peekAuthToken(account, authTokenType); @@ -215,7 +212,7 @@ public class AccountAuthenticator extends AbstractAccountAuthenticator { if (accessToken != null) { final Bundle result = new Bundle(); result.putString(AccountManager.KEY_ACCOUNT_NAME, account.name); - result.putString(AccountManager.KEY_ACCOUNT_TYPE, ACCOUNT_TYPE); + result.putString(AccountManager.KEY_ACCOUNT_TYPE, MainApp.getAccountType()); result.putString(AccountManager.KEY_AUTHTOKEN, accessToken); return result; } @@ -280,18 +277,18 @@ public class AccountAuthenticator extends AbstractAccountAuthenticator { private void validateAccountType(String type) throws UnsupportedAccountTypeException { - if (!type.equals(ACCOUNT_TYPE)) { + if (!type.equals(MainApp.getAccountType())) { throw new UnsupportedAccountTypeException(); } } private void validateAuthTokenType(String authTokenType) throws UnsupportedAuthTokenTypeException { - if (!authTokenType.equals(AUTH_TOKEN_TYPE) && - !authTokenType.equals(AUTH_TOKEN_TYPE_PASSWORD) && - !authTokenType.equals(AUTH_TOKEN_TYPE_ACCESS_TOKEN) && - !authTokenType.equals(AUTH_TOKEN_TYPE_REFRESH_TOKEN) && - !authTokenType.equals(AUTH_TOKEN_TYPE_SAML_WEB_SSO_SESSION_COOKIE)) { + if (!authTokenType.equals(MainApp.getAuthTokenType()) && + !authTokenType.equals(MainApp.getAuthTokenTypePass()) && + !authTokenType.equals(MainApp.getAuthTokenTypeAccessToken()) && + !authTokenType.equals(MainApp.getAuthTokenTypeRefreshToken()) && + !authTokenType.equals(MainApp.getAuthTokenTypeSamlSessionCookie())) { throw new UnsupportedAuthTokenTypeException(); } }