diff --git a/library/src/main/java/com/jungly/gridpasswordview/GridPasswordView.java b/library/src/main/java/com/jungly/gridpasswordview/GridPasswordView.java index f2cd372..eb39963 100644 --- a/library/src/main/java/com/jungly/gridpasswordview/GridPasswordView.java +++ b/library/src/main/java/com/jungly/gridpasswordview/GridPasswordView.java @@ -10,6 +10,7 @@ import android.os.Build; import android.os.Bundle; import android.os.Parcelable; +import android.support.annotation.IntDef; import android.text.Editable; import android.text.InputType; import android.text.TextUtils; @@ -26,6 +27,9 @@ import com.jungly.gridpasswordview.imebugfixer.ImeDelBugFixedEditText; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; + /** * ● * @@ -58,6 +62,15 @@ public class GridPasswordView extends LinearLayout implements PasswordView { private OnPasswordChangedListener mListener; private PasswordTransformationMethod mTransformationMethod; + public static final int PWD_TYPE_NUMBER = 0; + public static final int PWD_TYPE_TEXT = 1; + public static final int PWD_TYPE_TEXTVISIBLE = 2; + public static final int PWD_TYPE_TEXTWEB = 3; + + @IntDef({PWD_TYPE_NUMBER, PWD_TYPE_TEXT, PWD_TYPE_TEXTVISIBLE, PWD_TYPE_TEXTWEB}) + @Retention(RetentionPolicy.SOURCE) + public @interface PasswordType{} + public GridPasswordView(Context context) { super(context); initViews(context); @@ -394,20 +407,20 @@ public void setOnPasswordChangedListener(OnPasswordChangedListener listener) { } @Override - public void setPasswordType(PasswordType passwordType) { + public void setPasswordType(@PasswordType int passwordType) { boolean visible = getPassWordVisibility(); int inputType = InputType.TYPE_CLASS_NUMBER | InputType.TYPE_NUMBER_VARIATION_PASSWORD; switch (passwordType) { - case TEXT: + case PWD_TYPE_TEXT: inputType = InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_PASSWORD; break; - case TEXTVISIBLE: + case PWD_TYPE_TEXTVISIBLE: inputType = InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_VISIBLE_PASSWORD; break; - case TEXTWEB: + case PWD_TYPE_TEXTWEB: inputType = InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_WEB_PASSWORD; break; } diff --git a/library/src/main/java/com/jungly/gridpasswordview/PasswordType.java b/library/src/main/java/com/jungly/gridpasswordview/PasswordType.java deleted file mode 100644 index 18b7e67..0000000 --- a/library/src/main/java/com/jungly/gridpasswordview/PasswordType.java +++ /dev/null @@ -1,12 +0,0 @@ -package com.jungly.gridpasswordview; - -/** - * @author Jungly - * jungly.ik@gmail.com - * 5/3/21 16:47 - */ -public enum PasswordType { - - NUMBER, TEXT, TEXTVISIBLE, TEXTWEB; - -} diff --git a/library/src/main/java/com/jungly/gridpasswordview/PasswordView.java b/library/src/main/java/com/jungly/gridpasswordview/PasswordView.java index 2ca0837..456560e 100644 --- a/library/src/main/java/com/jungly/gridpasswordview/PasswordView.java +++ b/library/src/main/java/com/jungly/gridpasswordview/PasswordView.java @@ -21,5 +21,5 @@ interface PasswordView { void setOnPasswordChangedListener(GridPasswordView.OnPasswordChangedListener listener); - void setPasswordType(PasswordType passwordType); + void setPasswordType(@GridPasswordView.PasswordType int passwordType); }