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