Previously we blindely set the EditText to NULL to prevent the IME
keyboard to pop up in portrait mode. The issue is that in landscape
mode, the keyboard is not in numlock mode which is a pb on devices
where the 1st line is not made of numbers.
Bug:
2167203
android:orientation="vertical"
>
- <!-- Text field above the keypad where the digits are displayed -->
+ <!-- Text field above the keypad where the digits are displayed.
+ It's type is set to NULL (to disable the IME keyboard) in the
+ java code.
+ -->
<!-- TODO: Use a textAppearance to control the display of the number -->
<EditText android:id="@+id/digits"
android:layout_width="fill_parent"
android:orientation="vertical"
>
- <!-- Text field above the keypad where the digits are displayed -->
+ <!-- Text field above the keypad where the digits are displayed.
+ It's type is set to PHONE (to put the keyboard in the right
+ config) in the java code.
+ -->
<!-- TODO: Use a textAppearance to control the display of the number -->
<EditText android:id="@+id/digits"
android:layout_width="fill_parent"
android:orientation="vertical"
>
- <!-- Text field above the keypad where the digits are displayed -->
+ <!-- Text field above the keypad where the digits are displayed.
+ It's type is set to NULL (to disable the IME keyboard) in the
+ java code.
+ -->
<!-- TODO: Use a textAppearance to control the display of the number -->
<EditText android:id="@+id/digits"
android:layout_width="fill_parent"
android:orientation="vertical"
>
- <!-- Text field above the keypad where the digits are displayed -->
+ <!-- Text field above the keypad where the digits are displayed.
+ It's type is set to PHONE (to put the keyboard in the right
+ config) in the java code.
+ -->
<!-- TODO: Use a textAppearance to control the display of the number -->
<EditText android:id="@+id/digits"
android:layout_width="fill_parent"
mDigits.setKeyListener(DialerKeyListener.getInstance());
mDigits.setOnClickListener(this);
mDigits.setOnKeyListener(this);
- mDigits.setInputType(android.text.InputType.TYPE_NULL); // Don't show IME when focused.
maybeAddNumberFormatting();
view.setOnLongClickListener(this);
mDelete = view;
- mDialpad = findViewById(R.id.dialpad); // This is null in landscape mode
+ mDialpad = findViewById(R.id.dialpad); // This is null in landscape mode.
+
+ // In landscape we put the keyboard in phone mode.
+ // In portrait we prevent the soft keyboard to show since the
+ // dialpad acts as one already.
+ if (null == mDialpad) {
+ mDigits.setInputType(android.text.InputType.TYPE_CLASS_PHONE);
+ } else {
+ mDigits.setInputType(android.text.InputType.TYPE_NULL);
+ }
// Set up the "dialpad chooser" UI; see showDialpadChooser().
mDialpadChooser = (ListView) findViewById(R.id.dialpadChooser);