X-Git-Url: http://git.linex4red.de/pub/Android/ownCloud.git/blobdiff_plain/9996436cccb3ab96b1ac123c4b226c1bd04b3756..4cbe903b8af46455a558dd466bfd97ca1a27501e:/src/eu/alefzero/owncloud/ui/activity/Preferences.java diff --git a/src/eu/alefzero/owncloud/ui/activity/Preferences.java b/src/eu/alefzero/owncloud/ui/activity/Preferences.java index 46cabcf3..1e35896c 100644 --- a/src/eu/alefzero/owncloud/ui/activity/Preferences.java +++ b/src/eu/alefzero/owncloud/ui/activity/Preferences.java @@ -23,11 +23,15 @@ import java.util.Vector; import eu.alefzero.owncloud.OwnCloudSession; import eu.alefzero.owncloud.R; +import eu.alefzero.owncloud.authenticator.AccountAuthenticator; import eu.alefzero.owncloud.db.DbHandler; +import android.accounts.Account; +import android.accounts.AccountManager; import android.app.Activity; import android.content.Intent; import android.os.Bundle; +import android.preference.ListPreference; import android.preference.Preference; import android.preference.PreferenceActivity; import android.preference.PreferenceScreen; @@ -46,11 +50,12 @@ import android.widget.AdapterView.AdapterContextMenuInfo; * */ public class Preferences extends PreferenceActivity { - private String TAG = "OwnCloudPreferences"; + private static final String TAG = "OwnCloudPreferences"; private final int mNewSession = 47; private final int mEditSession = 48; private DbHandler mDbHandler; private Vector mSessions; + private Account[] mAccounts; private int mSelectedMenuItem; @Override @@ -60,6 +65,7 @@ public class Preferences extends PreferenceActivity { mSessions = new Vector(); addPreferencesFromResource(R.xml.preferences); registerForContextMenu(getListView()); + populateAccountList(); //populateSessionList(); } @@ -76,13 +82,32 @@ public class Preferences extends PreferenceActivity { try { uri = new URI(mSessions.get(i).getUrl()); } catch (URISyntaxException e) { - e.printStackTrace(); // should never happend + e.printStackTrace(); // should never happen continue; } preference.setSummary(uri.getScheme() + "://" + uri.getHost()+uri.getPath()); ps.addPreference(preference); } } + + /** + * Populates the account selector + */ + private void populateAccountList(){ + AccountManager accMan = AccountManager.get(this); + mAccounts = accMan.getAccountsByType(AccountAuthenticator.ACCOUNT_TYPE); + ListPreference accountList = (ListPreference) findPreference("select_oc_account"); + + // Transform accounts into array of string for preferences to use + String[] accNames = new String[mAccounts.length]; + for(int i = 0; i < mAccounts.length; i++){ + Account account = mAccounts[i]; + accNames[i] = account.name; + } + + accountList.setEntries(accNames); + accountList.setEntryValues(accNames); + } @Override public boolean onCreateOptionsMenu(Menu menu) {