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
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
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
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
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