Fix a bug with TYPE_TEXT_CLASS
This was introduced by a badly-rebased commit. The culprit was I103d6851. There was also another bug lurking there introduced by a previous commit that this fixes. Bug: 5775347 Change-Id: I133b54a5159e19714f4bcae8ffbb4824cff9f466main
parent
715a203501
commit
752d8cc4fc
|
@ -34,25 +34,30 @@ public class InputAttributes {
|
||||||
final public boolean mApplicationSpecifiedCompletionOn;
|
final public boolean mApplicationSpecifiedCompletionOn;
|
||||||
|
|
||||||
public InputAttributes(final EditorInfo editorInfo, final boolean isFullscreenMode) {
|
public InputAttributes(final EditorInfo editorInfo, final boolean isFullscreenMode) {
|
||||||
if (editorInfo == null || editorInfo.inputType == InputType.TYPE_CLASS_TEXT) {
|
final int inputType = null != editorInfo ? editorInfo.inputType : 0;
|
||||||
mInsertSpaceOnPickSuggestionManually = false;
|
final int inputClass = inputType & InputType.TYPE_MASK_CLASS;
|
||||||
mIsSettingsSuggestionStripOn = false;
|
if (inputClass != InputType.TYPE_CLASS_TEXT) {
|
||||||
mInputTypeNoAutoCorrect = false;
|
// If we are not looking at a TYPE_CLASS_TEXT field, the following strange
|
||||||
mApplicationSpecifiedCompletionOn = false;
|
// cases may arise, so we do a couple sanity checks for them. If it's a
|
||||||
} else {
|
// TYPE_CLASS_TEXT field, these special cases cannot happen, by construction
|
||||||
final int inputType = editorInfo.inputType;
|
// of the flags.
|
||||||
if (inputType == InputType.TYPE_NULL) {
|
if (null == editorInfo) {
|
||||||
|
Log.w(TAG, "No editor info for this field. Bug?");
|
||||||
|
} else if (InputType.TYPE_NULL == inputType) {
|
||||||
// TODO: We should honor TYPE_NULL specification.
|
// TODO: We should honor TYPE_NULL specification.
|
||||||
Log.i(TAG, "InputType.TYPE_NULL is specified");
|
Log.i(TAG, "InputType.TYPE_NULL is specified");
|
||||||
}
|
} else if (inputClass == 0) {
|
||||||
final int inputClass = inputType & InputType.TYPE_MASK_CLASS;
|
|
||||||
final int variation = inputType & InputType.TYPE_MASK_VARIATION;
|
|
||||||
if (inputClass == 0) {
|
|
||||||
// TODO: is this check still necessary?
|
// TODO: is this check still necessary?
|
||||||
Log.w(TAG, String.format("Unexpected input class: inputType=0x%08x"
|
Log.w(TAG, String.format("Unexpected input class: inputType=0x%08x"
|
||||||
+ " imeOptions=0x%08x",
|
+ " imeOptions=0x%08x",
|
||||||
inputType, editorInfo.imeOptions));
|
inputType, editorInfo.imeOptions));
|
||||||
}
|
}
|
||||||
|
mInsertSpaceOnPickSuggestionManually = false;
|
||||||
|
mIsSettingsSuggestionStripOn = false;
|
||||||
|
mInputTypeNoAutoCorrect = false;
|
||||||
|
mApplicationSpecifiedCompletionOn = false;
|
||||||
|
} else {
|
||||||
|
final int variation = inputType & InputType.TYPE_MASK_VARIATION;
|
||||||
final boolean flagNoSuggestions =
|
final boolean flagNoSuggestions =
|
||||||
0 != (inputType & InputType.TYPE_TEXT_FLAG_NO_SUGGESTIONS);
|
0 != (inputType & InputType.TYPE_TEXT_FLAG_NO_SUGGESTIONS);
|
||||||
final boolean flagMultiLine =
|
final boolean flagMultiLine =
|
||||||
|
|
Loading…
Reference in New Issue