X-Git-Url: http://git.linex4red.de/pub/Android/ownCloud.git/blobdiff_plain/a6e98cc7dc4c7f765f442015b1ac793e63884b75..2b562903da978575fb3e25aac26abc09fc5871e2:/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 3677f8ae..aec2f94d 100644 --- a/src/eu/alefzero/owncloud/ui/activity/Preferences.java +++ b/src/eu/alefzero/owncloud/ui/activity/Preferences.java @@ -21,12 +21,6 @@ import java.net.URI; import java.net.URISyntaxException; import java.util.Vector; -import eu.alefzero.owncloud.OwnCloudSession; -import eu.alefzero.owncloud.R; -import eu.alefzero.owncloud.authenticator.AccountAuthenticator; -import eu.alefzero.owncloud.authenticator.AuthUtils; -import eu.alefzero.owncloud.db.DbHandler; - import android.accounts.Account; import android.accounts.AccountManager; import android.app.Activity; @@ -34,29 +28,38 @@ import android.content.Intent; import android.os.Bundle; import android.preference.ListPreference; import android.preference.Preference; -import android.preference.PreferenceActivity; +import android.preference.Preference.OnPreferenceChangeListener; import android.preference.PreferenceScreen; import android.util.Log; import android.view.ContextMenu; -import android.view.Menu; -import android.view.MenuInflater; -import android.view.MenuItem; -import android.view.View; import android.view.ContextMenu.ContextMenuInfo; +import android.view.View; import android.widget.AdapterView.AdapterContextMenuInfo; +import com.actionbarsherlock.app.SherlockPreferenceActivity; +import com.actionbarsherlock.view.Menu; +import com.actionbarsherlock.view.MenuInflater; +import com.actionbarsherlock.view.MenuItem; + +import eu.alefzero.owncloud.OwnCloudSession; +import eu.alefzero.owncloud.R; +import eu.alefzero.owncloud.authenticator.AccountAuthenticator; +import eu.alefzero.owncloud.authenticator.AuthUtils; +import eu.alefzero.owncloud.db.DbHandler; + /** * An Activity that allows the user to change the application's settings. * @author Bartek Przybylski * */ -public class Preferences extends PreferenceActivity { +public class Preferences extends SherlockPreferenceActivity implements OnPreferenceChangeListener { 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 ListPreference mAccountList; private int mSelectedMenuItem; @Override @@ -97,12 +100,13 @@ public class Preferences extends PreferenceActivity { private void populateAccountList(){ AccountManager accMan = AccountManager.get(this); mAccounts = accMan.getAccountsByType(AccountAuthenticator.ACCOUNT_TYPE); - ListPreference accountList = (ListPreference) findPreference("select_oc_account"); + mAccountList = (ListPreference) findPreference("select_oc_account"); + mAccountList.setOnPreferenceChangeListener(this); // Display the name of the current account if there is any Account defaultAccount = AuthUtils.getCurrentOwnCloudAccount(this); if(defaultAccount != null){ - accountList.setSummary(defaultAccount.name); + mAccountList.setSummary(defaultAccount.name); } // Transform accounts into array of string for preferences to use @@ -112,14 +116,14 @@ public class Preferences extends PreferenceActivity { accNames[i] = account.name; } - accountList.setEntries(accNames); - accountList.setEntryValues(accNames); + mAccountList.setEntries(accNames); + mAccountList.setEntryValues(accNames); } @Override public boolean onCreateOptionsMenu(Menu menu) { super.onCreateOptionsMenu(menu); - MenuInflater inflater = getMenuInflater(); + MenuInflater inflater = getSherlock().getMenuInflater(); inflater.inflate(R.menu.prefs_menu, menu); return true; } @@ -183,8 +187,8 @@ public class Preferences extends PreferenceActivity { mSelectedMenuItem = info.position-1; menu.setHeaderTitle(mSessions.get(mSelectedMenuItem).getName()); - MenuInflater inflater = getMenuInflater(); - inflater.inflate(R.menu.session_context_menu, menu); + MenuInflater inflater = getSherlock().getMenuInflater(); + inflater.inflate(R.menu.session_context_menu, (Menu) menu); } @@ -193,5 +197,17 @@ public class Preferences extends PreferenceActivity { mDbHandler.close(); super.onDestroy(); } + +@Override +/** + * Updates the summary of the account selector after a new account has + * been selected + */ +public boolean onPreferenceChange(Preference preference, Object newValue) { + if(preference.equals(mAccountList)) { + mAccountList.setSummary(newValue.toString()); + } + return true; +} }