X-Git-Url: http://git.linex4red.de/pub/Android/ownCloud.git/blobdiff_plain/435b31ba4f3597cc7a43270cd4a54fb0180956c1..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 634f54b2..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,52 +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); + 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; + } + }); + + 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; + } + }); + + } + + } - // Update summary for device tracking preference - mTrackingUpdateInterval = (ListPreference) findPreference("devicetracking_update_intervall"); - String trackingSummary = getResources().getString( - R.string.prefs_trackmydevice_interval_summary); - trackingSummary = String.format(trackingSummary, - mTrackingUpdateInterval.getValue()); - mTrackingUpdateInterval.setSummary(trackingSummary); - mTrackingUpdateInterval.setOnPreferenceChangeListener(this); - - // Enable or disable device tracking service. Listen on events - mDeviceTracking = (CheckBoxPreference) findPreference("enable_devicetracking"); - mDeviceTracking.setOnPreferenceChangeListener(this); - // populateSessionList(); + @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(); } - 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.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); @@ -131,7 +135,7 @@ public class Preferences extends SherlockPreferenceActivity implements if (defaultAccount != null) { mAccountList.setSummary(defaultAccount.name); } - + // Transform accounts into array of string for preferences to use String[] accNames = new String[mAccounts.length]; for (int i = 0; i < mAccounts.length; i++) { @@ -141,13 +145,15 @@ public class Preferences extends SherlockPreferenceActivity implements mAccountList.setEntries(accNames); mAccountList.setEntryValues(accNames); - } + }*/ + + @Override public boolean onCreateOptionsMenu(Menu menu) { super.onCreateOptionsMenu(menu); - MenuInflater inflater = getSherlock().getMenuInflater(); - inflater.inflate(R.menu.prefs_menu, menu); + //MenuInflater inflater = getSherlock().getMenuInflater(); + //inflater.inflate(R.menu.prefs_menu, menu); return true; } @@ -157,7 +163,8 @@ public class Preferences extends SherlockPreferenceActivity implements Intent intent; switch (item.getItemId()) { - case R.id.addSessionItem: + //case R.id.addSessionItem: + case 1: intent = new Intent(this, PreferencesNewSession.class); startActivityForResult(intent, mNewSession); break; @@ -171,15 +178,8 @@ 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(), LandingActivity.class); + intent = new Intent(getBaseContext(), FileDisplayActivity.class); intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); startActivity(intent); break; @@ -193,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 @@ -232,6 +201,8 @@ public class Preferences extends SherlockPreferenceActivity implements super.onDestroy(); } + + @Override /** * Updates various summaries after updates. Also starts and stops @@ -239,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, @@ -260,8 +231,10 @@ public class Preferences extends SherlockPreferenceActivity implements locationServiceIntent.putExtra("TRACKING_SETTING", (Boolean) newValue); sendBroadcast(locationServiceIntent); - } + } return true; } + + }