Bug 1243354 - Part 1: Correctly handle TextInputLayout in PromptInput r=mcomella
--- a/mobile/android/base/java/org/mozilla/gecko/prompts/PromptInput.java
+++ b/mobile/android/base/java/org/mozilla/gecko/prompts/PromptInput.java
@@ -91,56 +91,51 @@ public class PromptInput {
inputLayout.addView(input);
mView = (View) inputLayout;
return mView;
}
@Override
public Object getValue() {
- EditText edit = (EditText)mView;
- return edit.getText();
+ final TextInputLayout inputLayout = (TextInputLayout) mView;
+ return inputLayout.getEditText().getText();
}
}
public static class NumberInput extends EditInput {
public static final String INPUT_TYPE = "number";
public NumberInput(JSONObject obj) {
super(obj);
}
@Override
public View getView(final Context context) throws UnsupportedOperationException {
- EditText input = (EditText) super.getView(context);
+ final TextInputLayout inputLayout = (TextInputLayout) super.getView(context);
+ final EditText input = inputLayout.getEditText();
input.setRawInputType(Configuration.KEYBOARD_12KEY);
input.setInputType(InputType.TYPE_CLASS_NUMBER |
InputType.TYPE_NUMBER_FLAG_SIGNED);
return input;
}
}
public static class PasswordInput extends EditInput {
public static final String INPUT_TYPE = "password";
public PasswordInput(JSONObject obj) {
super(obj);
}
@Override
public View getView(Context context) throws UnsupportedOperationException {
- EditText input = (EditText) super.getView(context);
- input.setInputType(InputType.TYPE_CLASS_TEXT |
+ final TextInputLayout inputLayout = (TextInputLayout) super.getView(context);
+ inputLayout.getEditText().setInputType(InputType.TYPE_CLASS_TEXT |
InputType.TYPE_TEXT_VARIATION_PASSWORD |
InputType.TYPE_TEXT_FLAG_NO_SUGGESTIONS);
- return input;
- }
-
- @Override
- public Object getValue() {
- EditText edit = (EditText)mView;
- return edit.getText();
+ return inputLayout;
}
}
public static class CheckboxInput extends PromptInput {
public static final String INPUT_TYPE = "checkbox";
private final boolean mChecked;
public CheckboxInput(JSONObject obj) {