moving from eu.alefzero.eu to com.owncloud.android
[pub/Android/ownCloud.git] / 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
deleted file mode 100644 (file)
index 953e1a6..0000000
+++ /dev/null
@@ -1,265 +0,0 @@
-/* ownCloud Android client application\r
- *   Copyright (C) 2011  Bartek Przybylski\r
- *\r
- *   This program is free software: you can redistribute it and/or modify\r
- *   it under the terms of the GNU General Public License as published by\r
- *   the Free Software Foundation, either version 3 of the License, or\r
- *   (at your option) any later version.\r
- *\r
- *   This program is distributed in the hope that it will be useful,\r
- *   but WITHOUT ANY WARRANTY; without even the implied warranty of\r
- *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r
- *   GNU General Public License for more details.\r
- *\r
- *   You should have received a copy of the GNU General Public License\r
- *   along with this program.  If not, see <http://www.gnu.org/licenses/>.\r
- *\r
- */\r
-package eu.alefzero.owncloud.ui.activity;\r
-\r
-import java.net.URI;\r
-import java.net.URISyntaxException;\r
-import java.util.Vector;\r
-\r
-import android.accounts.Account;\r
-import android.accounts.AccountManager;\r
-import android.app.Activity;\r
-import android.content.Intent;\r
-import android.os.Bundle;\r
-import android.preference.CheckBoxPreference;\r
-import android.preference.ListPreference;\r
-import android.preference.Preference;\r
-import android.preference.Preference.OnPreferenceChangeListener;\r
-import android.preference.PreferenceScreen;\r
-import android.util.Log;\r
-import android.view.ContextMenu;\r
-import android.view.ContextMenu.ContextMenuInfo;\r
-import android.view.View;\r
-import android.widget.AdapterView.AdapterContextMenuInfo;\r
-\r
-import com.actionbarsherlock.app.ActionBar;\r
-import com.actionbarsherlock.app.SherlockPreferenceActivity;\r
-import com.actionbarsherlock.view.Menu;\r
-import com.actionbarsherlock.view.MenuInflater;\r
-import com.actionbarsherlock.view.MenuItem;\r
-\r
-import eu.alefzero.owncloud.AccountUtils;\r
-import eu.alefzero.owncloud.OwnCloudSession;\r
-import eu.alefzero.owncloud.R;\r
-import eu.alefzero.owncloud.authenticator.AccountAuthenticator;\r
-import eu.alefzero.owncloud.db.DbHandler;\r
-\r
-/**\r
- * An Activity that allows the user to change the application's settings.\r
- * \r
- * @author Bartek Przybylski\r
- * \r
- */\r
-public class Preferences extends SherlockPreferenceActivity implements\r
-               OnPreferenceChangeListener {\r
-       private static final String TAG = "OwnCloudPreferences";\r
-       private final int mNewSession = 47;\r
-       private final int mEditSession = 48;\r
-       private DbHandler mDbHandler;\r
-       private Vector<OwnCloudSession> mSessions;\r
-       private Account[] mAccounts;\r
-       private ListPreference mAccountList;\r
-       private ListPreference mTrackingUpdateInterval;\r
-       private CheckBoxPreference mDeviceTracking;\r
-       private int mSelectedMenuItem;\r
-\r
-       @Override\r
-       public void onCreate(Bundle savedInstanceState) {\r
-               super.onCreate(savedInstanceState);\r
-               mDbHandler = new DbHandler(getBaseContext());\r
-               mSessions = new Vector<OwnCloudSession>();\r
-               addPreferencesFromResource(R.xml.preferences);\r
-               registerForContextMenu(getListView());\r
-               populateAccountList();\r
-               ActionBar actionBar = getSherlock().getActionBar();\r
-               actionBar.setDisplayHomeAsUpEnabled(true);\r
-\r
-               // Update summary for device tracking preference\r
-               mTrackingUpdateInterval = (ListPreference) findPreference("devicetracking_update_intervall");\r
-               String trackingSummary = getResources().getString(\r
-                               R.string.prefs_trackmydevice_interval_summary);\r
-               trackingSummary = String.format(trackingSummary,\r
-                               mTrackingUpdateInterval.getValue());\r
-               mTrackingUpdateInterval.setSummary(trackingSummary);\r
-               mTrackingUpdateInterval.setOnPreferenceChangeListener(this);\r
-\r
-               // Enable or disable device tracking service. Listen on events\r
-               mDeviceTracking = (CheckBoxPreference) findPreference("enable_devicetracking");\r
-               mDeviceTracking.setOnPreferenceChangeListener(this);\r
-               \r
-               // populateSessionList();\r
-       }\r
-\r
-       private void populateSessionList() {\r
-               mSessions.clear();\r
-               mSessions = mDbHandler.getSessionList();\r
-               PreferenceScreen ps = getPreferenceScreen();\r
-               ps.removeAll();\r
-               addPreferencesFromResource(R.xml.preferences);\r
-               for (int i = 0; i < mSessions.size(); i++) {\r
-                       Preference preference = new Preference(getBaseContext());\r
-                       preference.setTitle(mSessions.get(i).getName());\r
-                       URI uri;\r
-                       try {\r
-                               uri = new URI(mSessions.get(i).getUrl());\r
-                       } catch (URISyntaxException e) {\r
-                               e.printStackTrace(); // should never happen\r
-                               continue;\r
-                       }\r
-                       preference.setSummary(uri.getScheme() + "://" + uri.getHost()\r
-                                       + uri.getPath());\r
-                       ps.addPreference(preference);\r
-               }\r
-       }\r
-\r
-       /**\r
-        * Populates the account selector\r
-        */\r
-       private void populateAccountList() {\r
-               AccountManager accMan = AccountManager.get(this);\r
-               mAccounts = accMan.getAccountsByType(AccountAuthenticator.ACCOUNT_TYPE);\r
-               mAccountList = (ListPreference) findPreference("select_oc_account");\r
-               mAccountList.setOnPreferenceChangeListener(this);\r
-\r
-               // Display the name of the current account if there is any\r
-               Account defaultAccount = AccountUtils.getCurrentOwnCloudAccount(this);\r
-               if (defaultAccount != null) {\r
-                       mAccountList.setSummary(defaultAccount.name);\r
-               }\r
-\r
-               // Transform accounts into array of string for preferences to use\r
-               String[] accNames = new String[mAccounts.length];\r
-               for (int i = 0; i < mAccounts.length; i++) {\r
-                       Account account = mAccounts[i];\r
-                       accNames[i] = account.name;\r
-               }\r
-\r
-               mAccountList.setEntries(accNames);\r
-               mAccountList.setEntryValues(accNames);\r
-       }\r
-\r
-       @Override\r
-       public boolean onCreateOptionsMenu(Menu menu) {\r
-               super.onCreateOptionsMenu(menu);\r
-               MenuInflater inflater = getSherlock().getMenuInflater();\r
-               inflater.inflate(R.menu.prefs_menu, menu);\r
-               return true;\r
-       }\r
-\r
-       @Override\r
-       public boolean onMenuItemSelected(int featureId, MenuItem item) {\r
-               super.onMenuItemSelected(featureId, item);\r
-               Intent intent;\r
-\r
-               switch (item.getItemId()) {\r
-               case R.id.addSessionItem:\r
-                       intent = new Intent(this, PreferencesNewSession.class);\r
-                       startActivityForResult(intent, mNewSession);\r
-                       break;\r
-               case R.id.SessionContextEdit:\r
-                       intent = new Intent(this, PreferencesNewSession.class);\r
-                       intent.putExtra("sessionId", mSessions.get(mSelectedMenuItem)\r
-                                       .getEntryId());\r
-                       intent.putExtra("sessionName", mSessions.get(mSelectedMenuItem)\r
-                                       .getName());\r
-                       intent.putExtra("sessionURL", mSessions.get(mSelectedMenuItem)\r
-                                       .getUrl());\r
-                       startActivityForResult(intent, mEditSession);\r
-                       break;\r
-               case R.id.SessionContextRemove:\r
-                       OwnCloudSession ocs = mSessions.get(mSelectedMenuItem);\r
-                       mDbHandler.removeSessionWithId(ocs.getEntryId());\r
-                       mSessions.remove(ocs);\r
-                       getPreferenceScreen().removePreference(\r
-                                       getPreferenceScreen().getPreference(mSelectedMenuItem + 1));\r
-                       break;\r
-               case android.R.id.home:\r
-                       intent = new Intent(getBaseContext(), LandingActivity.class);\r
-                       intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);\r
-                       startActivity(intent);\r
-                       break;\r
-               default:\r
-                       Log.w(TAG, "Unknown menu item triggered");\r
-                       return false;\r
-               }\r
-               return true;\r
-       }\r
-\r
-       @Override\r
-       protected void onActivityResult(int requestCode, int resultCode, Intent data) {\r
-               super.onActivityResult(requestCode, resultCode, data);\r
-               if (resultCode == Activity.RESULT_OK) {\r
-                       switch (requestCode) {\r
-                       case mNewSession:\r
-                               mDbHandler.addSession(data.getStringExtra("sessionName"),\r
-                                               data.getStringExtra("sessionURL"));\r
-                               getPreferenceScreen().removeAll();\r
-                               addPreferencesFromResource(R.xml.preferences);\r
-                               populateSessionList();\r
-                               break;\r
-                       case mEditSession:\r
-                               mDbHandler.changeSessionFields(\r
-                                               data.getIntExtra("sessionId", -1),\r
-                                               data.getStringExtra("sessionName"),\r
-                                               data.getStringExtra("sessionURL"));\r
-                               populateSessionList();\r
-                               break;\r
-                       }\r
-               }\r
-       }\r
-\r
-       @Override\r
-       public void onCreateContextMenu(ContextMenu menu, View v,\r
-                       ContextMenuInfo menuInfo) {\r
-               super.onCreateContextMenu(menu, v, menuInfo);\r
-               AdapterContextMenuInfo info = (AdapterContextMenuInfo) menuInfo;\r
-               mSelectedMenuItem = info.position - 1;\r
-               menu.setHeaderTitle(mSessions.get(mSelectedMenuItem).getName());\r
-\r
-               MenuInflater inflater = getSherlock().getMenuInflater();\r
-               inflater.inflate(R.menu.session_context_menu, (Menu) menu);\r
-\r
-       }\r
-\r
-       @Override\r
-       protected void onDestroy() {\r
-               mDbHandler.close();\r
-               super.onDestroy();\r
-       }\r
-\r
-       @Override\r
-       /**\r
-        * Updates various summaries after updates. Also starts and stops \r
-        * the\r
-        */\r
-       public boolean onPreferenceChange(Preference preference, Object newValue) {\r
-               // Update current account summary\r
-               if (preference.equals(mAccountList)) {\r
-                       mAccountList.setSummary(newValue.toString());\r
-               } \r
-               \r
-               // Update tracking interval summary\r
-               else if (preference.equals(mTrackingUpdateInterval)) {\r
-                       String trackingSummary = getResources().getString(\r
-                                       R.string.prefs_trackmydevice_interval_summary);\r
-                       trackingSummary = String.format(trackingSummary,\r
-                                       newValue.toString());\r
-                       mTrackingUpdateInterval.setSummary(trackingSummary);\r
-               } \r
-               \r
-               // Start or stop tracking service\r
-               else if (preference.equals(mDeviceTracking)) {\r
-                       Intent locationServiceIntent = new Intent();\r
-                       locationServiceIntent.setAction("eu.alefzero.owncloud.location.LocationLauncher");\r
-                       locationServiceIntent.putExtra("TRACKING_SETTING", (Boolean) newValue);\r
-                       sendBroadcast(locationServiceIntent);\r
-               }\r
-               return true;\r
-       }\r
-\r
-}\r