X-Git-Url: http://git.linex4red.de/pub/Android/ownCloud.git/blobdiff_plain/9dd2cf294a5bd8427d344833f0098a1ab6800c98..a032bdeebc51a6e81d1bd5c558944f96fc55eacb:/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 01a21ec6..c2173956 100644 --- a/src/eu/alefzero/owncloud/ui/activity/Preferences.java +++ b/src/eu/alefzero/owncloud/ui/activity/Preferences.java @@ -17,30 +17,24 @@ */ package eu.alefzero.owncloud.ui.activity; -import java.net.URI; -import java.net.URISyntaxException; import java.util.Vector; import android.accounts.Account; import android.accounts.AccountManager; -import android.app.Activity; import android.content.Intent; +import android.content.SharedPreferences; import android.os.Bundle; import android.preference.CheckBoxPreference; import android.preference.ListPreference; import android.preference.Preference; +import android.preference.PreferenceManager; import android.preference.Preference.OnPreferenceChangeListener; -import android.preference.PreferenceScreen; +import android.preference.Preference.OnPreferenceClickListener; import android.util.Log; -import android.view.ContextMenu; -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; import com.actionbarsherlock.view.MenuItem; import eu.alefzero.owncloud.AccountUtils; @@ -56,16 +50,17 @@ import eu.alefzero.owncloud.db.DbHandler; * */ public class Preferences extends SherlockPreferenceActivity implements - OnPreferenceChangeListener { + 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 Account[] mAccounts; + //private ListPreference mAccountList; private ListPreference mTrackingUpdateInterval; private CheckBoxPreference mDeviceTracking; + private CheckBoxPreference pCode; private int mSelectedMenuItem; @Override @@ -74,37 +69,61 @@ public class Preferences extends SherlockPreferenceActivity implements mDbHandler = new DbHandler(getBaseContext()); mSessions = new Vector(); addPreferencesFromResource(R.xml.preferences); - registerForContextMenu(getListView()); - populateAccountList(); + //populateAccountList(); ActionBar actionBar = getSherlock().getActionBar(); actionBar.setDisplayHomeAsUpEnabled(true); - } - - private void populateSessionList() { - mSessions.clear(); - mSessions = mDbHandler.getSessionList(); - PreferenceScreen ps = getPreferenceScreen(); - ps.removeAll(); - addPreferencesFromResource(R.xml.preferences); - for (int i = 0; i < mSessions.size(); i++) { - Preference preference = new Preference(getBaseContext()); - preference.setTitle(mSessions.get(i).getName()); - URI uri; - try { - uri = new URI(mSessions.get(i).getUrl()); - } catch (URISyntaxException e) { - e.printStackTrace(); // should never happen - continue; + Preference p = findPreference("manage_account"); + if (p != null) + p.setOnPreferenceClickListener(new OnPreferenceClickListener() { + @Override + public boolean onPreferenceClick(Preference preference) { + Intent i = new Intent(getApplicationContext(), AccountSelectActivity.class); + startActivity(i); + return true; } - preference.setSummary(uri.getScheme() + "://" + uri.getHost() - + uri.getPath()); - ps.addPreference(preference); + }); + + pCode = (CheckBoxPreference) findPreference("set_pincode"); + + + if (pCode != null){ + + pCode.setOnPreferenceChangeListener(new OnPreferenceChangeListener() { + @Override + public boolean onPreferenceChange(Preference preference, Object newValue) { + + Intent i = new Intent(getApplicationContext(), PinCodeActivity.class); + i.putExtra(PinCodeActivity.EXTRA_ACTIVITY, "preferences"); + i.putExtra(PinCodeActivity.EXTRA_NEW_STATE, newValue.toString()); + + startActivity(i); + + return true; + } + }); + } + } + + @Override + protected void onResume() { + // TODO Auto-generated method stub + SharedPreferences appPrefs = PreferenceManager + .getDefaultSharedPreferences(getApplicationContext()); + + boolean state = appPrefs.getBoolean("set_pincode", false); + pCode.setChecked(state); + + super.onResume(); + } + + + /** * Populates the account selector - */ + *-/ private void populateAccountList() { AccountManager accMan = AccountManager.get(this); mAccounts = accMan.getAccountsByType(AccountAuthenticator.ACCOUNT_TYPE); @@ -126,8 +145,10 @@ public class Preferences extends SherlockPreferenceActivity implements mAccountList.setEntries(accNames); mAccountList.setEntryValues(accNames); - } + }*/ + + @Override public boolean onCreateOptionsMenu(Menu menu) { super.onCreateOptionsMenu(menu); @@ -157,13 +178,6 @@ public class Preferences extends SherlockPreferenceActivity implements .getUrl()); startActivityForResult(intent, mEditSession); break; - case R.id.SessionContextRemove: - OwnCloudSession ocs = mSessions.get(mSelectedMenuItem); - mDbHandler.removeSessionWithId(ocs.getEntryId()); - mSessions.remove(ocs); - getPreferenceScreen().removePreference( - getPreferenceScreen().getPreference(mSelectedMenuItem + 1)); - break; case android.R.id.home: intent = new Intent(getBaseContext(), FileDisplayActivity.class); intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); @@ -179,37 +193,6 @@ public class Preferences extends SherlockPreferenceActivity implements @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); - if (resultCode == Activity.RESULT_OK) { - switch (requestCode) { - case mNewSession: - mDbHandler.addSession(data.getStringExtra("sessionName"), - data.getStringExtra("sessionURL")); - getPreferenceScreen().removeAll(); - addPreferencesFromResource(R.xml.preferences); - populateSessionList(); - break; - case mEditSession: - mDbHandler.changeSessionFields( - data.getIntExtra("sessionId", -1), - data.getStringExtra("sessionName"), - data.getStringExtra("sessionURL")); - populateSessionList(); - break; - } - } - } - - @Override - public void onCreateContextMenu(ContextMenu menu, View v, - ContextMenuInfo menuInfo) { - super.onCreateContextMenu(menu, v, menuInfo); - AdapterContextMenuInfo info = (AdapterContextMenuInfo) menuInfo; - mSelectedMenuItem = info.position - 1; - menu.setHeaderTitle(mSessions.get(mSelectedMenuItem).getName()); - - MenuInflater inflater = getSherlock().getMenuInflater(); - inflater.inflate(R.menu.session_context_menu, (Menu) menu); - } @Override @@ -218,6 +201,8 @@ public class Preferences extends SherlockPreferenceActivity implements super.onDestroy(); } + + @Override /** * Updates various summaries after updates. Also starts and stops @@ -225,12 +210,12 @@ public class Preferences extends SherlockPreferenceActivity implements */ public boolean onPreferenceChange(Preference preference, Object newValue) { // Update current account summary - if (preference.equals(mAccountList)) { + /*if (preference.equals(mAccountList)) { mAccountList.setSummary(newValue.toString()); } // Update tracking interval summary - else if (preference.equals(mTrackingUpdateInterval)) { + else*/ if (preference.equals(mTrackingUpdateInterval)) { String trackingSummary = getResources().getString( R.string.prefs_trackmydevice_interval_summary); trackingSummary = String.format(trackingSummary, @@ -246,8 +231,10 @@ public class Preferences extends SherlockPreferenceActivity implements locationServiceIntent.putExtra("TRACKING_SETTING", (Boolean) newValue); sendBroadcast(locationServiceIntent); - } + } return true; } + + }