android:hint="@string/setup_hint_show_password"\r
android:textColor="@android:color/black"\r
android:onClick="onCheckboxClick"/>\r
+ </TableRow>\r
+ <TableRow android:id="@+id/tableRow6"\r
+ android:layout_width="fill_parent"\r
+ android:layout_height="wrap_content"\r
+ android:gravity="center_horizontal"\r
+ android:weightSum="1.0">\r
\r
+ <CheckBox\r
+ android:id="@+id/use_ssl"\r
+ android:layout_width="fill_parent"\r
+ android:layout_height="wrap_content"\r
+ android:layout_weight=".75"\r
+ android:hint="@string/use_ssl"\r
+ android:textColor="@android:color/black"\r
+ android:onClick="onCheckboxClick"/>\r
</TableRow>\r
</TableLayout>\r
\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 = false;\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.primary_text_light);\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.primary_text_light);\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.primary_text_light);\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
/**\r
* Handles the show password checkbox\r
* @author robstar\r
+ * @author aqu\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
+ switch (view.getId()) {\r
+ case R.id.show_password:\r
+ TextView password_text = (TextView) findViewById(R.id.account_password);\r
+ \r
+ if(((CheckBox)view).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
+ break;\r
+ case R.id.use_ssl:\r
+ mUseSSLConnection = ((CheckBox)view).isChecked();\r
+ break;\r
+ default:\r
+ Log.d("AuthActivity", "Clicked invalid view with id: " + view.getId());\r
+ }\r
\r
}\r
}\r