REFACTORING: moved AccountUtils to .authentication package
[pub/Android/ownCloud.git] / src / com / owncloud / android / AccountUtils.java
diff --git a/src/com/owncloud/android/AccountUtils.java b/src/com/owncloud/android/AccountUtils.java
deleted file mode 100644 (file)
index 7297ee1..0000000
+++ /dev/null
@@ -1,157 +0,0 @@
-/* ownCloud Android client application\r
- *   Copyright (C) 2012  Bartek Przybylski\r
- *   Copyright (C) 2012-2013 ownCloud Inc.\r
- *\r
- *   This program is free software: you can redistribute it and/or modify\r
- *   it under the terms of the GNU General Public License version 2,\r
- *   as published by the Free Software Foundation.\r
- *\r
- *   This program is distributed in the hope that it will be useful,\r
- *   but WITHOUT ANY WARRANTY; without even the implied warranty of\r
- *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r
- *   GNU General Public License for more details.\r
- *\r
- *   You should have received a copy of the GNU General Public License\r
- *   along with this program.  If not, see <http://www.gnu.org/licenses/>.\r
- *\r
- */\r
-\r
-package com.owncloud.android;\r
-\r
-import com.owncloud.android.authentication.AccountAuthenticator;\r
-import com.owncloud.android.utils.OwnCloudVersion;\r
-\r
-import android.accounts.Account;\r
-import android.accounts.AccountManager;\r
-import android.content.Context;\r
-import android.content.SharedPreferences;\r
-import android.preference.PreferenceManager;\r
-\r
-public class AccountUtils {\r
-    public static final String WEBDAV_PATH_1_2 = "/webdav/owncloud.php";\r
-    public static final String WEBDAV_PATH_2_0 = "/files/webdav.php";\r
-    public static final String WEBDAV_PATH_4_0 = "/remote.php/webdav";\r
-    private static final String ODAV_PATH = "/remote.php/odav";\r
-    public static final String CARDDAV_PATH_2_0 = "/apps/contacts/carddav.php";\r
-    public static final String CARDDAV_PATH_4_0 = "/remote/carddav.php";\r
-    public static final String STATUS_PATH = "/status.php";\r
-\r
-    /**\r
-     * Can be used to get the currently selected ownCloud {@link Account} in the\r
-     * application preferences.\r
-     * \r
-     * @param   context     The current application {@link Context}\r
-     * @return              The ownCloud {@link Account} currently saved in preferences, or the first \r
-     *                      {@link Account} available, if valid (still registered in the system as ownCloud \r
-     *                      account). If none is available and valid, returns null.\r
-     */\r
-    public static Account getCurrentOwnCloudAccount(Context context) {\r
-        Account[] ocAccounts = AccountManager.get(context).getAccountsByType(\r
-                AccountAuthenticator.ACCOUNT_TYPE);\r
-        Account defaultAccount = null;\r
-\r
-        SharedPreferences appPreferences = PreferenceManager\r
-                .getDefaultSharedPreferences(context);\r
-        String accountName = appPreferences\r
-                .getString("select_oc_account", null);\r
-\r
-        // account validation: the saved account MUST be in the list of ownCloud Accounts known by the AccountManager\r
-        if (accountName != null) {\r
-            for (Account account : ocAccounts) {\r
-                if (account.name.equals(accountName)) {\r
-                    defaultAccount = account;\r
-                    break;\r
-                }\r
-            }\r
-        }\r
-        \r
-        if (defaultAccount == null && ocAccounts.length != 0) {\r
-            // take first account as fallback\r
-            defaultAccount = ocAccounts[0];\r
-        }\r
-\r
-        return defaultAccount;\r
-    }\r
-\r
-    \r
-\r
-    /**\r
-     * Checks, whether or not there are any ownCloud accounts setup.\r
-     * \r
-     * @return true, if there is at least one account.\r
-     */\r
-    public static boolean accountsAreSetup(Context context) {\r
-        AccountManager accMan = AccountManager.get(context);\r
-        Account[] accounts = accMan\r
-                .getAccountsByType(AccountAuthenticator.ACCOUNT_TYPE);\r
-        return accounts.length > 0;\r
-    }\r
-    \r
-    \r
-    public static boolean setCurrentOwnCloudAccount(Context context, String accountName) {\r
-        boolean result = false;\r
-        if (accountName != null) {\r
-            Account[] ocAccounts = AccountManager.get(context).getAccountsByType(\r
-                    AccountAuthenticator.ACCOUNT_TYPE);\r
-            boolean found = false;\r
-            for (Account account : ocAccounts) {\r
-                found = (account.name.equals(accountName));\r
-                if (found) {\r
-                    SharedPreferences.Editor appPrefs = PreferenceManager\r
-                            .getDefaultSharedPreferences(context).edit();\r
-                    appPrefs.putString("select_oc_account", accountName);\r
-    \r
-                    appPrefs.commit();\r
-                    result = true;\r
-                    break;\r
-                }\r
-            }\r
-        }\r
-        return result;\r
-    }\r
-\r
-    /**\r
-     * \r
-     * @param version version of owncloud\r
-     * @return webdav path for given OC version, null if OC version unknown\r
-     */\r
-    public static String getWebdavPath(OwnCloudVersion version, boolean supportsOAuth) {\r
-        if (version != null) {\r
-            if (supportsOAuth) {\r
-                return ODAV_PATH;\r
-            }\r
-            if (version.compareTo(OwnCloudVersion.owncloud_v4) >= 0)\r
-                return WEBDAV_PATH_4_0;\r
-            if (version.compareTo(OwnCloudVersion.owncloud_v3) >= 0\r
-                    || version.compareTo(OwnCloudVersion.owncloud_v2) >= 0)\r
-                return WEBDAV_PATH_2_0;\r
-            if (version.compareTo(OwnCloudVersion.owncloud_v1) >= 0)\r
-                return WEBDAV_PATH_1_2;\r
-        }\r
-        return null;\r
-    }\r
-    \r
-    /**\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
-     */\r
-    public static String constructFullURLForAccount(Context context, Account account) {\r
-        try {\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 (webdavpath == null) return null;\r
-            return baseurl + webdavpath;\r
-        } catch (Exception e) {\r
-            e.printStackTrace();\r
-            return null;\r
-        }\r
-    }\r
-\r
-}\r