fix white text on configuration screen
[pub/Android/ownCloud.git] / src / eu / alefzero / owncloud / ui / activity / AuthenticatorActivity.java
index f134630..c62290b 100644 (file)
@@ -21,6 +21,8 @@ package eu.alefzero.owncloud.ui.activity;
 import java.net.MalformedURLException;\r
 import java.net.URL;\r
 \r
+import com.actionbarsherlock.ActionBarSherlock;\r
+\r
 import android.accounts.Account;\r
 import android.accounts.AccountAuthenticatorActivity;\r
 import android.accounts.AccountManager;\r
@@ -54,10 +56,15 @@ import eu.alefzero.owncloud.db.ProviderMeta.ProviderTableMeta;
 public class AuthenticatorActivity extends AccountAuthenticatorActivity {\r
     private Thread mAuthThread;\r
     private final Handler mHandler = new Handler();\r
+    private boolean mUseSSLConnection;\r
 \r
     public static final String PARAM_USERNAME = "param_Username";\r
     public static final String PARAM_HOSTNAME = "param_Hostname";\r
 \r
+    public AuthenticatorActivity() {\r
+      mUseSSLConnection = true;\r
+    }\r
+    \r
     @Override\r
     protected void onCreate(Bundle savedInstanceState) {\r
         super.onCreate(savedInstanceState);\r
@@ -162,12 +169,15 @@ public class AuthenticatorActivity extends AccountAuthenticatorActivity {
             url_text.setTextColor(Color.RED);\r
             hasErrors = true;\r
         } else {\r
-            url_text.setTextColor(Color.BLACK);\r
+            url_text.setTextColor(android.R.color.black);\r
         }\r
         try {\r
             String url_str = url_text.getText().toString();\r
             if (!url_str.startsWith("http://") &&\r
                     !url_str.startsWith("https://")) {\r
+              if (mUseSSLConnection)\r
+                url_str = "https://" + url_str;\r
+              else\r
                 url_str = "http://" + url_str;\r
             }\r
             uri = new URL(url_str);\r
@@ -182,18 +192,33 @@ public class AuthenticatorActivity extends AccountAuthenticatorActivity {
             username_text.setTextColor(Color.RED);\r
             hasErrors = true;\r
         } else {\r
-            username_text.setTextColor(Color.BLACK);\r
+            username_text.setTextColor(android.R.color.black);\r
         }\r
 \r
         if (password_text.getText().toString().trim().length() == 0) {\r
             password_text.setTextColor(Color.RED);\r
             hasErrors = true;\r
         } else {\r
-            password_text.setTextColor(Color.BLACK);\r
+            password_text.setTextColor(android.R.color.black);\r
         }\r
         if (hasErrors) {\r
             return;\r
         }\r
+        \r
+        int new_port = uri.getPort();\r
+        if (new_port == -1) {\r
+          if (mUseSSLConnection)\r
+            new_port = 443;\r
+          else\r
+            new_port = 80;\r
+        }\r
+        \r
+        try {\r
+          uri = new URL(uri.getProtocol(), uri.getHost(), new_port, uri.getPath());\r
+        } catch (MalformedURLException e) {\r
+          e.printStackTrace(); // should not happend\r
+        }\r
+        \r
         showDialog(0);\r
         mAuthThread = AuthUtils.attemptAuth(uri,\r
                 username_text.getText().toString(),\r
@@ -202,20 +227,15 @@ public class AuthenticatorActivity extends AccountAuthenticatorActivity {
                 AuthenticatorActivity.this);\r
     }\r
     \r
-    /**\r
-     * Handles the show password checkbox\r
-     * @author robstar\r
-     * @param view\r
-     */\r
-    public void onCheckboxClick(View view) {\r
-       CheckBox checkbox = (CheckBox) findViewById(R.id.show_password);\r
-       TextView password_text = (TextView) findViewById(R.id.account_password);\r
-       \r
-       if(checkbox.isChecked()) {\r
-               password_text.setInputType(InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_VISIBLE_PASSWORD);\r
-       } else {\r
-               password_text.setInputType(InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_PASSWORD);\r
-       }\r
-       \r
+    public void sslBadgeClick(View view, String val) {\r
+      mUseSSLConnection = ((TextView)view).getText().equals("SSL");\r
+    }\r
+    \r
+    public void passwordBadgeClick(View view, String val) {\r
+      if(val.equals("Hide")) {\r
+        ((TextView)view).setInputType(InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_VISIBLE_PASSWORD);\r
+      } else {\r
+        ((TextView)view).setInputType(InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_PASSWORD);\r
+      }\r
     }\r
 }\r