X-Git-Url: http://git.linex4red.de/pub/Android/ownCloud.git/blobdiff_plain/d7103316ebd6f131980d8486362f8e658f3d7c33..5cba80a1ab2d5e9eb789560c06a40c47a0bda6ab:/src/com/owncloud/android/ui/activity/Preferences.java diff --git a/src/com/owncloud/android/ui/activity/Preferences.java b/src/com/owncloud/android/ui/activity/Preferences.java index 1f18ca8a..dcd7027f 100644 --- a/src/com/owncloud/android/ui/activity/Preferences.java +++ b/src/com/owncloud/android/ui/activity/Preferences.java @@ -18,6 +18,7 @@ package com.owncloud.android.ui.activity; import android.accounts.Account; +import android.accounts.AccountManager; import android.content.Intent; import android.content.SharedPreferences; import android.content.pm.PackageInfo; @@ -35,6 +36,7 @@ import com.actionbarsherlock.app.ActionBar; import com.actionbarsherlock.app.SherlockPreferenceActivity; import com.actionbarsherlock.view.Menu; import com.actionbarsherlock.view.MenuItem; +import com.owncloud.android.MainApp; import com.owncloud.android.R; import com.owncloud.android.authentication.AccountUtils; import com.owncloud.android.db.DbHandler; @@ -69,6 +71,13 @@ public class Preferences extends SherlockPreferenceActivity { actionBar.setIcon(DisplayUtils.getSeasonalIconId()); actionBar.setDisplayHomeAsUpEnabled(true); + // Load the accounts category for adding the list of accounts + PreferenceCategory accountsPrefCategory = (PreferenceCategory) findPreference("accounts_category"); + + // Populate the accounts category with the list of accounts + createAccountsCheckboxPreferences(accountsPrefCategory); + + Preference p = findPreference("manage_account"); if (p != null) p.setOnPreferenceClickListener(new OnPreferenceClickListener() { @@ -301,5 +310,27 @@ public class Preferences extends SherlockPreferenceActivity { mDbHandler.close(); super.onDestroy(); } - + + /** + * Create the list of accounts that have been added into the app + * + * @param accountsPrefCategory + */ + private void createAccountsCheckboxPreferences(PreferenceCategory accountsPrefCategory) { + AccountManager am = (AccountManager) getSystemService(ACCOUNT_SERVICE); + Account accounts[] = am.getAccountsByType(MainApp.getAccountType()); + Account currentAccount = AccountUtils.getCurrentOwnCloudAccount(getApplicationContext()); + for (Account a : accounts) { + CheckBoxPreference checkBoxPreference = new CheckBoxPreference(this); + checkBoxPreference.setKey(a.name); + checkBoxPreference.setTitle(a.name); + + // Check the current account that is being used + if (a.name.equals(currentAccount.name)) { + checkBoxPreference.setChecked(true); + } + + accountsPrefCategory.addPreference(checkBoxPreference); + } + } }