aboutsummaryrefslogtreecommitdiffstats
path: root/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/widget/NameEditText.java
diff options
context:
space:
mode:
Diffstat (limited to 'OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/widget/NameEditText.java')
-rw-r--r--OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/widget/NameEditText.java33
1 files changed, 19 insertions, 14 deletions
diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/widget/NameEditText.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/widget/NameEditText.java
index 895cd45ec..f086c5696 100644
--- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/widget/NameEditText.java
+++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/widget/NameEditText.java
@@ -30,39 +30,44 @@ import org.sufficientlysecure.keychain.util.ContactHelper;
public class NameEditText extends AutoCompleteTextView {
public NameEditText(Context context) {
super(context);
- removeFlag();
- makeAdapter();
+ init();
}
public NameEditText(Context context, AttributeSet attrs) {
super(context, attrs);
- removeFlag();
- makeAdapter();
+ init();
}
public NameEditText(Context context, AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
- removeFlag();
- makeAdapter();
+ init();
}
@TargetApi(Build.VERSION_CODES.LOLLIPOP)
public NameEditText(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes) {
super(context, attrs, defStyleAttr, defStyleRes);
+ init();
+ }
+
+ private void init() {
removeFlag();
- makeAdapter();
+ initAdapter();
}
+ private void initAdapter() {
+ setThreshold(1); // Start working from first character
+ setAdapter(new ArrayAdapter<>(
+ getContext(), android.R.layout.simple_spinner_dropdown_item,
+ ContactHelper.getPossibleUserNames(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;
setRawInputType(inputType);
}
-
- private void makeAdapter() {
- this.setThreshold(1); // Start working from first character
- this.setAdapter(new ArrayAdapter<>(
- getContext(), android.R.layout.simple_spinner_dropdown_item,
- ContactHelper.getPossibleUserNames(getContext())));
- }
}