No more 'secure icon' when secure connection is NOT available
[pub/Android/ownCloud.git] / src / eu / alefzero / owncloud / ui / activity / AuthenticatorActivity.java
index 77490eb..caa9820 100644 (file)
@@ -20,6 +20,7 @@ package eu.alefzero.owncloud.ui.activity;
 \r
 import java.net.MalformedURLException;\r
 import java.net.URL;\r
+import java.net.URLEncoder;\r
 \r
 import android.accounts.Account;\r
 import android.accounts.AccountAuthenticatorActivity;\r
@@ -167,6 +168,9 @@ public class AuthenticatorActivity extends AccountAuthenticatorActivity
 \r
             String username = username_text.getText().toString().trim();\r
             String accountName = username + "@" + url.getHost();\r
+            if (url.getPort() >= 0) {\r
+                accountName += ":" + url.getPort();\r
+            }\r
             Account account = new Account(accountName,\r
                     AccountAuthenticator.ACCOUNT_TYPE);\r
             AccountManager accManager = AccountManager.get(this);\r
@@ -204,8 +208,9 @@ public class AuthenticatorActivity extends AccountAuthenticatorActivity
             setResult(RESULT_OK, intent);\r
             Bundle bundle = new Bundle();\r
             bundle.putBoolean(ContentResolver.SYNC_EXTRAS_MANUAL, true);\r
-            getContentResolver().startSync(ProviderTableMeta.CONTENT_URI,\r
-                    bundle);\r
+            //getContentResolver().startSync(ProviderTableMeta.CONTENT_URI,\r
+            //        bundle);\r
+            ContentResolver.requestSync(account, "org.owncloud", bundle);\r
 \r
             /*\r
              * if\r
@@ -221,7 +226,10 @@ public class AuthenticatorActivity extends AccountAuthenticatorActivity
             tv.setError(message);\r
         }\r
     }\r
-\r
+    public void onCancelClick(View view) {\r
+        finish();\r
+    }\r
+    \r
     public void onOkClick(View view) {\r
         String prefix = "";\r
         String url = ((TextView) findViewById(R.id.host_URL)).getText()\r
@@ -276,25 +284,22 @@ public class AuthenticatorActivity extends AccountAuthenticatorActivity
                 .toString().toLowerCase();\r
 \r
         switch (type) {\r
-        case OK:\r
-            // ugly as hell\r
-            if (t_url.startsWith("http://") || t_url.startsWith("https://")) {\r
-                mIsSslConn = t_url.startsWith("http://") ? false : true;\r
-                mStatusIcon = R.drawable.ic_ok;\r
-                mStatusText = R.string.auth_connection_established;\r
-                mStatusCorrect = true;\r
-            } else {\r
-                mIsSslConn = true;\r
-                mStatusIcon = android.R.drawable.ic_secure;\r
-                mStatusText = R.string.auth_secure_connection;\r
-                mStatusCorrect = true;\r
-            }\r
-            break;\r
-        case OK_NO_SSL:\r
+        case OK_SSL:\r
+            mIsSslConn = true;\r
             mStatusIcon = android.R.drawable.ic_secure;\r
-            mStatusText = R.string.auth_nossl_plain_ok_title;\r
+            mStatusText = R.string.auth_secure_connection;\r
             mStatusCorrect = true;\r
+            break;\r
+        case OK_NO_SSL:\r
             mIsSslConn = false;\r
+            mStatusCorrect = true;\r
+            if (t_url.startsWith("http://") ) {\r
+                mStatusText = R.string.auth_connection_established;\r
+                mStatusIcon = R.drawable.ic_ok;\r
+            } else {\r
+                mStatusText = R.string.auth_nossl_plain_ok_title;\r
+                mStatusIcon = android.R.drawable.ic_partial_secure;\r
+            }\r
             break;\r
         case TIMEOUT:\r
         case INORRECT_ADDRESS:\r
@@ -339,6 +344,7 @@ public class AuthenticatorActivity extends AccountAuthenticatorActivity
                 if (uri.length() != 0) {\r
                     setResultIconAndText(R.drawable.progress_small,\r
                             R.string.auth_testing_connection);\r
+                    findViewById(R.id.buttonOK).setEnabled(false);  // avoid connect can be clicked if the test was previously passed\r
                     mConnChkRunnable = new ConnectionCheckerRunnable(uri, this);\r
                     mConnChkRunnable.setListener(this, mHandler);\r
                     mAuthThread = new Thread(mConnChkRunnable);\r