aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorchipset95 <chipset95@yahoo.co.in>2015-03-09 17:55:46 +0530
committerchipset95 <chipset95@yahoo.co.in>2015-03-09 17:55:46 +0530
commite2c502a51131927ddc9cd9fba5e56c2642dd377a (patch)
tree590d2592c2a72f51dde5e6c77eff519ddcf5695e
parent7ac4f63ea367eaa4d560b04a211ed936da920685 (diff)
downloadopen-keychain-e2c502a51131927ddc9cd9fba5e56c2642dd377a.tar.gz
open-keychain-e2c502a51131927ddc9cd9fba5e56c2642dd377a.tar.bz2
open-keychain-e2c502a51131927ddc9cd9fba5e56c2642dd377a.zip
Improved EmailEditText, Added NameEditText, Removed PasswordEditText #1106
-rw-r--r--OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/widget/EmailEditText.java21
-rw-r--r--OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/widget/NameEditText.java64
-rw-r--r--OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/widget/PasswordEditText.java101
3 files changed, 85 insertions, 101 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 697f5a61e..e7ef788d8 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
@@ -25,6 +25,7 @@ import android.text.InputType;
import android.text.TextWatcher;
import android.util.AttributeSet;
import android.util.Patterns;
+import android.view.inputmethod.EditorInfo;
import android.widget.ArrayAdapter;
import android.widget.AutoCompleteTextView;
@@ -41,6 +42,8 @@ public class EmailEditText extends AutoCompleteTextView {
emailEditText = this;
this.setInputType(InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_EMAIL_ADDRESS);
this.addTextChangedListener(textWatcher);
+ removeFlag();
+ makeAdapter();
}
public EmailEditText(Context context, AttributeSet attrs) {
@@ -48,6 +51,8 @@ public class EmailEditText extends AutoCompleteTextView {
emailEditText = this;
this.setInputType(InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_EMAIL_ADDRESS);
this.addTextChangedListener(textWatcher);
+ removeFlag();
+ makeAdapter();
}
public EmailEditText(Context context, AttributeSet attrs, int defStyleAttr) {
@@ -55,6 +60,8 @@ public class EmailEditText extends AutoCompleteTextView {
emailEditText = this;
this.setInputType(InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_EMAIL_ADDRESS);
this.addTextChangedListener(textWatcher);
+ removeFlag();
+ makeAdapter();
}
@TargetApi(Build.VERSION_CODES.LOLLIPOP)
@@ -63,6 +70,8 @@ public class EmailEditText extends AutoCompleteTextView {
emailEditText = this;
this.setInputType(InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_EMAIL_ADDRESS);
this.addTextChangedListener(textWatcher);
+ removeFlag();
+ makeAdapter();
}
TextWatcher textWatcher = new TextWatcher() {
@@ -94,4 +103,16 @@ public class EmailEditText extends AutoCompleteTextView {
}
}
};
+
+ private void makeAdapter() {
+ this.setThreshold(1); // Start working from first character
+ this.setAdapter(new ArrayAdapter<>(getContext(), android.R.layout.simple_spinner_dropdown_item,
+ ContactHelper.getPossibleUserEmails(getContext())));
+ }
+
+ private void removeFlag() {
+ int inputType = getInputType();
+ inputType &= ~EditorInfo.TYPE_TEXT_FLAG_AUTO_COMPLETE;
+ setRawInputType(inputType);
+ }
}
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
new file mode 100644
index 000000000..c7dfa6359
--- /dev/null
+++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/widget/NameEditText.java
@@ -0,0 +1,64 @@
+/*
+ * Copyright (C) 2014 Dominik Schürmann <dominik@dominikschuermann.de>
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+package org.sufficientlysecure.keychain.ui.widget;
+
+import android.annotation.TargetApi;
+import android.content.Context;
+import android.os.Build;
+import android.util.AttributeSet;
+import android.view.inputmethod.EditorInfo;
+import android.widget.ArrayAdapter;
+import android.widget.AutoCompleteTextView;
+
+import org.sufficientlysecure.keychain.util.ContactHelper;
+
+public class NameEditText extends AutoCompleteTextView {
+ public NameEditText(Context context) {
+ super(context);
+ removeFlag();
+ }
+
+ public NameEditText(Context context, AttributeSet attrs) {
+ super(context, attrs);
+ removeFlag();
+ }
+
+ public NameEditText(Context context, AttributeSet attrs, int defStyleAttr) {
+ super(context, attrs, defStyleAttr);
+ removeFlag();
+ }
+
+ @TargetApi(Build.VERSION_CODES.LOLLIPOP)
+ public NameEditText(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes) {
+ super(context, attrs, defStyleAttr, defStyleRes);
+ removeFlag();
+ }
+
+ 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())));
+ }
+}
diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/widget/PasswordEditText.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/widget/PasswordEditText.java
deleted file mode 100644
index 04c48922b..000000000
--- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/widget/PasswordEditText.java
+++ /dev/null
@@ -1,101 +0,0 @@
-/*
- * Copyright (C) 2014 Dominik Schürmann <dominik@dominikschuermann.de>
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-package org.sufficientlysecure.keychain.ui.widget;
-
-import android.annotation.TargetApi;
-import android.content.Context;
-import android.os.Build;
-import android.text.Editable;
-import android.text.InputType;
-import android.text.TextWatcher;
-import android.util.AttributeSet;
-import android.widget.EditText;
-
-import org.sufficientlysecure.keychain.ui.widget.passwordstrengthindicator.PasswordStrengthView;
-
-/**
- * Developer: chipset
- * Package : org.sufficientlysecure.keychain.layouts
- * Project : open-keychain
- * Date : 6/3/15
- */
-public class PasswordEditText extends EditText {
-
- PasswordEditText passwordEditText;
- PasswordStrengthView passwordStrengthView;
-
- public PasswordEditText(Context context) {
- super(context);
- passwordEditText = this;
- this.setInputType(InputType.TYPE_CLASS_TEXT |
- InputType.TYPE_TEXT_VARIATION_PASSWORD);
- this.addTextChangedListener(textWatcher);
- }
-
- public PasswordEditText(Context context, AttributeSet attrs) {
- super(context, attrs);
- passwordEditText = this;
- this.setInputType(InputType.TYPE_CLASS_TEXT |
- InputType.TYPE_TEXT_VARIATION_PASSWORD);
- this.addTextChangedListener(textWatcher);
- }
-
- public PasswordEditText(Context context, AttributeSet attrs, int defStyleAttr) {
- super(context, attrs, defStyleAttr);
- passwordEditText = this;
- this.setInputType(InputType.TYPE_CLASS_TEXT |
- InputType.TYPE_TEXT_VARIATION_PASSWORD);
- this.addTextChangedListener(textWatcher);
- }
-
- @TargetApi(Build.VERSION_CODES.LOLLIPOP)
- public PasswordEditText(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes) {
- super(context, attrs, defStyleAttr, defStyleRes);
- passwordEditText = this;
- this.setInputType(InputType.TYPE_CLASS_TEXT |
- InputType.TYPE_TEXT_VARIATION_PASSWORD);
- this.addTextChangedListener(textWatcher);
- }
-
-
- TextWatcher textWatcher = new TextWatcher() {
- @Override
- public void beforeTextChanged(CharSequence s, int start, int count, int after) {
-
- }
-
- @Override
- public void onTextChanged(CharSequence s, int start, int before, int count) {
-
- }
-
- @Override
- public void afterTextChanged(Editable editable) {
- String passphrase = editable.toString();
- passwordStrengthView.setPassword(passphrase);
- }
- };
-
-// public PasswordStrengthView getPasswordStrengthView() {
-// return passwordStrengthView;
-// }
-
- public void setPasswordStrengthView(PasswordStrengthView mPasswordStrengthView) {
- this.passwordStrengthView = mPasswordStrengthView;
- }
-}