X-Git-Url: http://git.linex4red.de/pub/Android/ownCloud.git/blobdiff_plain/ab949b7d741697be3793be92131240d3b0b28baf..a66be3bc47376f9cedcd594bf5a39dafcf1650c2:/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 abb5b8a1..70f3362b 100644 --- a/src/eu/alefzero/owncloud/ui/activity/Preferences.java +++ b/src/eu/alefzero/owncloud/ui/activity/Preferences.java @@ -28,6 +28,7 @@ import android.content.Intent; import android.os.Bundle; import android.preference.ListPreference; import android.preference.Preference; +import android.preference.Preference.OnPreferenceChangeListener; import android.preference.PreferenceScreen; import android.util.Log; import android.view.ContextMenu; @@ -35,6 +36,7 @@ import android.view.ContextMenu.ContextMenuInfo; import android.view.View; import android.widget.AdapterView.AdapterContextMenuInfo; +import com.actionbarsherlock.app.ActionBar; import com.actionbarsherlock.app.SherlockPreferenceActivity; import com.actionbarsherlock.view.Menu; import com.actionbarsherlock.view.MenuInflater; @@ -51,13 +53,14 @@ import eu.alefzero.owncloud.db.DbHandler; * @author Bartek Przybylski * */ -public class Preferences extends SherlockPreferenceActivity { +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 @@ -68,6 +71,8 @@ public class Preferences extends SherlockPreferenceActivity { addPreferencesFromResource(R.xml.preferences); registerForContextMenu(getListView()); populateAccountList(); + ActionBar actionBar = getSherlock().getActionBar(); + actionBar.setDisplayHomeAsUpEnabled(true); //populateSessionList(); } @@ -98,12 +103,13 @@ public class Preferences extends SherlockPreferenceActivity { 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 @@ -113,8 +119,8 @@ public class Preferences extends SherlockPreferenceActivity { accNames[i] = account.name; } - accountList.setEntries(accNames); - accountList.setEntryValues(accNames); + mAccountList.setEntries(accNames); + mAccountList.setEntryValues(accNames); } @Override @@ -148,6 +154,11 @@ public class Preferences extends SherlockPreferenceActivity { mSessions.remove(ocs); getPreferenceScreen().removePreference(getPreferenceScreen().getPreference(mSelectedMenuItem+1)); break; + case android.R.id.home: + intent = new Intent(getBaseContext(), LandingActivity.class); + intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); + startActivity(intent); + break; default: Log.w(TAG, "Unknown menu item triggered"); return false; @@ -194,5 +205,17 @@ public class Preferences extends SherlockPreferenceActivity { 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; +} }