- /**\r
- * Constructs full url to host and webdav resource basing on host version\r
- * @param context\r
- * @param account\r
- * @return url or null on failure\r
- * @throws AccountNotFoundException When 'account' is unknown for the AccountManager\r
- */\r
- public static String constructFullURLForAccount(Context context, Account account) throws AccountNotFoundException {\r
- AccountManager ama = AccountManager.get(context);\r
- String baseurl = ama.getUserData(account, AccountAuthenticator.KEY_OC_BASE_URL);\r
- String strver = ama.getUserData(account, AccountAuthenticator.KEY_OC_VERSION);\r
- boolean supportsOAuth = (ama.getUserData(account, AccountAuthenticator.KEY_SUPPORTS_OAUTH2) != null);\r
- OwnCloudVersion ver = new OwnCloudVersion(strver);\r
- String webdavpath = getWebdavPath(ver, supportsOAuth);\r
-\r
- if (baseurl == null || webdavpath == null) \r
- throw new AccountNotFoundException(account, "Account not found", null);\r
- \r
- return baseurl + webdavpath;\r
- }\r
- \r
- \r
- public static class AccountNotFoundException extends AccountsException {\r
- \r
- private static final long serialVersionUID = 4276870654168776992L;\r
- \r
- private Account mFailedAccount; \r
- \r
- public AccountNotFoundException(Account failedAccount, String message, Throwable cause) {\r
- super(message, cause);\r
- mFailedAccount = failedAccount;\r
- }\r
- \r
- public Account getFailedAccount() {\r
- return mFailedAccount;\r
- }\r
- }\r
-\r