Quick patch to fix operations not ready for HTTPS
[pub/Android/ownCloud.git] / src / eu / alefzero / owncloud / ui / activity / Preferences.java
index 634f54b..c217395 100644 (file)
  */\r
 package eu.alefzero.owncloud.ui.activity;\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 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.content.Intent;\r
+import android.content.SharedPreferences;\r
 import android.os.Bundle;\r
 import android.preference.CheckBoxPreference;\r
 import android.preference.ListPreference;\r
 import android.preference.Preference;\r
 import android.os.Bundle;\r
 import android.preference.CheckBoxPreference;\r
 import android.preference.ListPreference;\r
 import android.preference.Preference;\r
+import android.preference.PreferenceManager;\r
 import android.preference.Preference.OnPreferenceChangeListener;\r
 import android.preference.Preference.OnPreferenceChangeListener;\r
-import android.preference.PreferenceScreen;\r
+import android.preference.Preference.OnPreferenceClickListener;\r
 import android.util.Log;\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
 \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 com.actionbarsherlock.view.MenuItem;\r
 \r
 import eu.alefzero.owncloud.AccountUtils;\r
@@ -56,16 +50,17 @@ import eu.alefzero.owncloud.db.DbHandler;
  * \r
  */\r
 public class Preferences extends SherlockPreferenceActivity implements\r
  * \r
  */\r
 public class Preferences extends SherlockPreferenceActivity implements\r
-        OnPreferenceChangeListener {\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 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 Account[] mAccounts;\r
+    //private ListPreference mAccountList;\r
     private ListPreference mTrackingUpdateInterval;\r
     private CheckBoxPreference mDeviceTracking;\r
     private ListPreference mTrackingUpdateInterval;\r
     private CheckBoxPreference mDeviceTracking;\r
+    private CheckBoxPreference pCode;\r
     private int mSelectedMenuItem;\r
 \r
     @Override\r
     private int mSelectedMenuItem;\r
 \r
     @Override\r
@@ -74,52 +69,61 @@ public class Preferences extends SherlockPreferenceActivity implements
         mDbHandler = new DbHandler(getBaseContext());\r
         mSessions = new Vector<OwnCloudSession>();\r
         addPreferencesFromResource(R.xml.preferences);\r
         mDbHandler = new DbHandler(getBaseContext());\r
         mSessions = new Vector<OwnCloudSession>();\r
         addPreferencesFromResource(R.xml.preferences);\r
-        registerForContextMenu(getListView());\r
-        populateAccountList();\r
+        //populateAccountList();\r
         ActionBar actionBar = getSherlock().getActionBar();\r
         actionBar.setDisplayHomeAsUpEnabled(true);\r
         ActionBar actionBar = getSherlock().getActionBar();\r
         actionBar.setDisplayHomeAsUpEnabled(true);\r
+        Preference p = findPreference("manage_account");\r
+        if (p != null)\r
+        p.setOnPreferenceClickListener(new OnPreferenceClickListener() {\r
+            @Override\r
+            public boolean onPreferenceClick(Preference preference) {\r
+                Intent i = new Intent(getApplicationContext(), AccountSelectActivity.class);\r
+                startActivity(i);\r
+                return true;\r
+            }\r
+        });\r
+        \r
+        pCode = (CheckBoxPreference) findPreference("set_pincode");\r
+         \r
+        \r
+        if (pCode != null){\r
+            \r
+            pCode.setOnPreferenceChangeListener(new OnPreferenceChangeListener() {\r
+                @Override\r
+                public boolean onPreferenceChange(Preference preference, Object newValue) {\r
+                                          \r
+                    Intent i = new Intent(getApplicationContext(), PinCodeActivity.class);\r
+                    i.putExtra(PinCodeActivity.EXTRA_ACTIVITY, "preferences");\r
+                    i.putExtra(PinCodeActivity.EXTRA_NEW_STATE, newValue.toString());\r
+                    \r
+                    startActivity(i);\r
+                    \r
+                    return true;\r
+                }\r
+            });            \r
+            \r
+        }\r
+        \r
+    }\r
 \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
 \r
-        // populateSessionList();\r
+    @Override\r
+    protected void onResume() {\r
+        // TODO Auto-generated method stub\r
+        SharedPreferences appPrefs = PreferenceManager\r
+                .getDefaultSharedPreferences(getApplicationContext());\r
+        \r
+        boolean state = appPrefs.getBoolean("set_pincode", false);\r
+        pCode.setChecked(state);\r
+        \r
+        super.onResume();\r
     }\r
 \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
     /**\r
      * Populates the account selector\r
 \r
     /**\r
      * Populates the account selector\r
-     */\r
+     *-/\r
     private void populateAccountList() {\r
         AccountManager accMan = AccountManager.get(this);\r
         mAccounts = accMan.getAccountsByType(AccountAuthenticator.ACCOUNT_TYPE);\r
     private void populateAccountList() {\r
         AccountManager accMan = AccountManager.get(this);\r
         mAccounts = accMan.getAccountsByType(AccountAuthenticator.ACCOUNT_TYPE);\r
@@ -131,7 +135,7 @@ public class Preferences extends SherlockPreferenceActivity implements
         if (defaultAccount != null) {\r
             mAccountList.setSummary(defaultAccount.name);\r
         }\r
         if (defaultAccount != null) {\r
             mAccountList.setSummary(defaultAccount.name);\r
         }\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
         // 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
@@ -141,13 +145,15 @@ public class Preferences extends SherlockPreferenceActivity implements
 \r
         mAccountList.setEntries(accNames);\r
         mAccountList.setEntryValues(accNames);\r
 \r
         mAccountList.setEntries(accNames);\r
         mAccountList.setEntryValues(accNames);\r
-    }\r
+    }*/\r
 \r
 \r
+    \r
+    \r
     @Override\r
     public boolean onCreateOptionsMenu(Menu menu) {\r
         super.onCreateOptionsMenu(menu);\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
+        //MenuInflater inflater = getSherlock().getMenuInflater();\r
+        //inflater.inflate(R.menu.prefs_menu, menu);\r
         return true;\r
     }\r
 \r
         return true;\r
     }\r
 \r
@@ -157,7 +163,8 @@ public class Preferences extends SherlockPreferenceActivity implements
         Intent intent;\r
 \r
         switch (item.getItemId()) {\r
         Intent intent;\r
 \r
         switch (item.getItemId()) {\r
-        case R.id.addSessionItem:\r
+        //case R.id.addSessionItem:\r
+        case 1:\r
             intent = new Intent(this, PreferencesNewSession.class);\r
             startActivityForResult(intent, mNewSession);\r
             break;\r
             intent = new Intent(this, PreferencesNewSession.class);\r
             startActivityForResult(intent, mNewSession);\r
             break;\r
@@ -171,15 +178,8 @@ public class Preferences extends SherlockPreferenceActivity implements
                     .getUrl());\r
             startActivityForResult(intent, mEditSession);\r
             break;\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
         case android.R.id.home:\r
-            intent = new Intent(getBaseContext(), LandingActivity.class);\r
+            intent = new Intent(getBaseContext(), FileDisplayActivity.class);\r
             intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);\r
             startActivity(intent);\r
             break;\r
             intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);\r
             startActivity(intent);\r
             break;\r
@@ -193,37 +193,6 @@ public class Preferences extends SherlockPreferenceActivity implements
     @Override\r
     protected void onActivityResult(int requestCode, int resultCode, Intent data) {\r
         super.onActivityResult(requestCode, resultCode, data);\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
     }\r
 \r
     @Override\r
@@ -232,6 +201,8 @@ public class Preferences extends SherlockPreferenceActivity implements
         super.onDestroy();\r
     }\r
 \r
         super.onDestroy();\r
     }\r
 \r
+    \r
+    \r
     @Override\r
     /**\r
      * Updates various summaries after updates. Also starts and stops \r
     @Override\r
     /**\r
      * Updates various summaries after updates. Also starts and stops \r
@@ -239,12 +210,12 @@ public class Preferences extends SherlockPreferenceActivity implements
      */\r
     public boolean onPreferenceChange(Preference preference, Object newValue) {\r
         // Update current account summary\r
      */\r
     public boolean onPreferenceChange(Preference preference, Object newValue) {\r
         // Update current account summary\r
-        if (preference.equals(mAccountList)) {\r
+        /*if (preference.equals(mAccountList)) {\r
             mAccountList.setSummary(newValue.toString());\r
         }\r
 \r
         // Update tracking interval summary\r
             mAccountList.setSummary(newValue.toString());\r
         }\r
 \r
         // Update tracking interval summary\r
-        else if (preference.equals(mTrackingUpdateInterval)) {\r
+        else*/ if (preference.equals(mTrackingUpdateInterval)) {\r
             String trackingSummary = getResources().getString(\r
                     R.string.prefs_trackmydevice_interval_summary);\r
             trackingSummary = String.format(trackingSummary,\r
             String trackingSummary = getResources().getString(\r
                     R.string.prefs_trackmydevice_interval_summary);\r
             trackingSummary = String.format(trackingSummary,\r
@@ -260,8 +231,10 @@ public class Preferences extends SherlockPreferenceActivity implements
             locationServiceIntent.putExtra("TRACKING_SETTING",\r
                     (Boolean) newValue);\r
             sendBroadcast(locationServiceIntent);\r
             locationServiceIntent.putExtra("TRACKING_SETTING",\r
                     (Boolean) newValue);\r
             sendBroadcast(locationServiceIntent);\r
-        }\r
+        } \r
         return true;\r
     }\r
         return true;\r
     }\r
+    \r
+    \r
 \r
 }\r
 \r
 }\r