aboutsummaryrefslogtreecommitdiffstats
path: root/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/widget/EmailEditText.java
diff options
context:
space:
mode:
authorDominik Schürmann <dominik@dominikschuermann.de>2015-03-09 16:17:12 +0100
committerDominik Schürmann <dominik@dominikschuermann.de>2015-03-09 16:17:12 +0100
commitbd1705410ada57f882bea051c1ec397d14908ad4 (patch)
tree91d0730e8fb84c10ade2bd12e483c7647c9ddcb7 /OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/widget/EmailEditText.java
parentd8c48678250b4db1c392e68913b3dce71e3075eb (diff)
downloadopen-keychain-bd1705410ada57f882bea051c1ec397d14908ad4.tar.gz
open-keychain-bd1705410ada57f882bea051c1ec397d14908ad4.tar.bz2
open-keychain-bd1705410ada57f882bea051c1ec397d14908ad4.zip
Cleanup new widgets
Diffstat (limited to 'OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/widget/EmailEditText.java')
-rw-r--r--OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/widget/EmailEditText.java42
1 files changed, 18 insertions, 24 deletions
diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/widget/EmailEditText.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/widget/EmailEditText.java
index e7ef788d8..1bdec7b84 100644
--- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/widget/EmailEditText.java
+++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/widget/EmailEditText.java
@@ -35,43 +35,33 @@ import org.sufficientlysecure.keychain.util.ContactHelper;
import java.util.regex.Matcher;
public class EmailEditText extends AutoCompleteTextView {
- EmailEditText emailEditText;
public EmailEditText(Context context) {
super(context);
- emailEditText = this;
- this.setInputType(InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_EMAIL_ADDRESS);
- this.addTextChangedListener(textWatcher);
- removeFlag();
- makeAdapter();
+ init();
}
public EmailEditText(Context context, AttributeSet attrs) {
super(context, attrs);
- emailEditText = this;
- this.setInputType(InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_EMAIL_ADDRESS);
- this.addTextChangedListener(textWatcher);
- removeFlag();
- makeAdapter();
+ init();
}
public EmailEditText(Context context, AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
- emailEditText = this;
- this.setInputType(InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_EMAIL_ADDRESS);
- this.addTextChangedListener(textWatcher);
- removeFlag();
- makeAdapter();
+ init();
}
@TargetApi(Build.VERSION_CODES.LOLLIPOP)
public EmailEditText(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes) {
super(context, attrs, defStyleAttr, defStyleRes);
- emailEditText = this;
+ init();
+ }
+
+ private void init() {
this.setInputType(InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_EMAIL_ADDRESS);
this.addTextChangedListener(textWatcher);
removeFlag();
- makeAdapter();
+ initAdapter();
}
TextWatcher textWatcher = new TextWatcher() {
@@ -91,25 +81,29 @@ public class EmailEditText extends AutoCompleteTextView {
if (email.length() > 0) {
Matcher emailMatcher = Patterns.EMAIL_ADDRESS.matcher(email);
if (emailMatcher.matches()) {
- emailEditText.setCompoundDrawablesWithIntrinsicBounds(0, 0,
+ EmailEditText.this.setCompoundDrawablesWithIntrinsicBounds(0, 0,
R.drawable.uid_mail_ok, 0);
} else {
- emailEditText.setCompoundDrawablesWithIntrinsicBounds(0, 0,
+ EmailEditText.this.setCompoundDrawablesWithIntrinsicBounds(0, 0,
R.drawable.uid_mail_bad, 0);
}
} else {
// remove drawable if email is empty
- emailEditText.setCompoundDrawablesWithIntrinsicBounds(0, 0, 0, 0);
+ EmailEditText.this.setCompoundDrawablesWithIntrinsicBounds(0, 0, 0, 0);
}
}
};
- private void makeAdapter() {
- this.setThreshold(1); // Start working from first character
- this.setAdapter(new ArrayAdapter<>(getContext(), android.R.layout.simple_spinner_dropdown_item,
+ private void initAdapter() {
+ setThreshold(1); // Start working from first character
+ setAdapter(new ArrayAdapter<>(getContext(), android.R.layout.simple_spinner_dropdown_item,
ContactHelper.getPossibleUserEmails(getContext())));
}
+ /**
+ * Hack to re-enable keyboard auto correction in AutoCompleteTextView.
+ * From http://stackoverflow.com/a/22512858
+ */
private void removeFlag() {
int inputType = getInputType();
inputType &= ~EditorInfo.TYPE_TEXT_FLAG_AUTO_COMPLETE;