Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(480)

Side by Side Diff: content/public/android/java/src/org/chromium/content/browser/input/ImeUtils.java

Issue 2815103004: Android: convert kEnumName to ENUM_NAME in java_cpp_enum.py. (Closed)
Patch Set: Address agrieve@ comments Created 3 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 package org.chromium.content.browser.input; 5 package org.chromium.content.browser.input;
6 6
7 import android.text.Editable; 7 import android.text.Editable;
8 import android.text.InputType; 8 import android.text.InputType;
9 import android.text.Selection; 9 import android.text.Selection;
10 import android.util.StringBuilderPrinter; 10 import android.util.StringBuilderPrinter;
(...skipping 23 matching lines...) Expand all
34 * @param initialSelStart The initial selection start position. 34 * @param initialSelStart The initial selection start position.
35 * @param initialSelEnd The initial selection end position. 35 * @param initialSelEnd The initial selection end position.
36 * @param outAttrs An instance of {@link EditorInfo} that we are going to ch ange. 36 * @param outAttrs An instance of {@link EditorInfo} that we are going to ch ange.
37 */ 37 */
38 public static void computeEditorInfo(int inputType, int inputFlags, int inpu tMode, 38 public static void computeEditorInfo(int inputType, int inputFlags, int inpu tMode,
39 int initialSelStart, int initialSelEnd, EditorInfo outAttrs) { 39 int initialSelStart, int initialSelEnd, EditorInfo outAttrs) {
40 outAttrs.imeOptions = EditorInfo.IME_FLAG_NO_FULLSCREEN | EditorInfo.IME _FLAG_NO_EXTRACT_UI; 40 outAttrs.imeOptions = EditorInfo.IME_FLAG_NO_FULLSCREEN | EditorInfo.IME _FLAG_NO_EXTRACT_UI;
41 outAttrs.inputType = 41 outAttrs.inputType =
42 EditorInfo.TYPE_CLASS_TEXT | EditorInfo.TYPE_TEXT_VARIATION_WEB_ EDIT_TEXT; 42 EditorInfo.TYPE_CLASS_TEXT | EditorInfo.TYPE_TEXT_VARIATION_WEB_ EDIT_TEXT;
43 43
44 if ((inputFlags & WebTextInputFlags.kAutocompleteOff) != 0) { 44 if ((inputFlags & WebTextInputFlags.AUTOCOMPLETE_OFF) != 0) {
45 outAttrs.inputType |= EditorInfo.TYPE_TEXT_FLAG_NO_SUGGESTIONS; 45 outAttrs.inputType |= EditorInfo.TYPE_TEXT_FLAG_NO_SUGGESTIONS;
46 } 46 }
47 47
48 int imeAction = 0; 48 int imeAction = 0;
49 if (inputMode == WebTextInputMode.kDefault) { 49 if (inputMode == WebTextInputMode.DEFAULT) {
50 if (inputType == TextInputType.TEXT) { 50 if (inputType == TextInputType.TEXT) {
51 // Normal text field 51 // Normal text field
52 imeAction = EditorInfo.IME_ACTION_GO; 52 imeAction = EditorInfo.IME_ACTION_GO;
53 if ((inputFlags & WebTextInputFlags.kAutocorrectOff) == 0) { 53 if ((inputFlags & WebTextInputFlags.AUTOCORRECT_OFF) == 0) {
54 outAttrs.inputType |= EditorInfo.TYPE_TEXT_FLAG_AUTO_CORRECT ; 54 outAttrs.inputType |= EditorInfo.TYPE_TEXT_FLAG_AUTO_CORRECT ;
55 } 55 }
56 } else if (inputType == TextInputType.TEXT_AREA 56 } else if (inputType == TextInputType.TEXT_AREA
57 || inputType == TextInputType.CONTENT_EDITABLE) { 57 || inputType == TextInputType.CONTENT_EDITABLE) {
58 outAttrs.inputType |= EditorInfo.TYPE_TEXT_FLAG_MULTI_LINE; 58 outAttrs.inputType |= EditorInfo.TYPE_TEXT_FLAG_MULTI_LINE;
59 if ((inputFlags & WebTextInputFlags.kAutocorrectOff) == 0) { 59 if ((inputFlags & WebTextInputFlags.AUTOCORRECT_OFF) == 0) {
60 outAttrs.inputType |= EditorInfo.TYPE_TEXT_FLAG_AUTO_CORRECT ; 60 outAttrs.inputType |= EditorInfo.TYPE_TEXT_FLAG_AUTO_CORRECT ;
61 } 61 }
62 imeAction = EditorInfo.IME_ACTION_NONE; 62 imeAction = EditorInfo.IME_ACTION_NONE;
63 } else if (inputType == TextInputType.PASSWORD) { 63 } else if (inputType == TextInputType.PASSWORD) {
64 outAttrs.inputType = 64 outAttrs.inputType =
65 InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATIO N_WEB_PASSWORD; 65 InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATIO N_WEB_PASSWORD;
66 imeAction = EditorInfo.IME_ACTION_GO; 66 imeAction = EditorInfo.IME_ACTION_GO;
67 } else if (inputType == TextInputType.SEARCH) { 67 } else if (inputType == TextInputType.SEARCH) {
68 imeAction = EditorInfo.IME_ACTION_SEARCH; 68 imeAction = EditorInfo.IME_ACTION_SEARCH;
69 } else if (inputType == TextInputType.URL) { 69 } else if (inputType == TextInputType.URL) {
(...skipping 13 matching lines...) Expand all
83 } else if (inputType == TextInputType.NUMBER) { 83 } else if (inputType == TextInputType.NUMBER) {
84 // Number 84 // Number
85 outAttrs.inputType = InputType.TYPE_CLASS_NUMBER 85 outAttrs.inputType = InputType.TYPE_CLASS_NUMBER
86 | InputType.TYPE_NUMBER_VARIATION_NORMAL 86 | InputType.TYPE_NUMBER_VARIATION_NORMAL
87 | InputType.TYPE_NUMBER_FLAG_DECIMAL; 87 | InputType.TYPE_NUMBER_FLAG_DECIMAL;
88 imeAction = EditorInfo.IME_ACTION_NEXT; 88 imeAction = EditorInfo.IME_ACTION_NEXT;
89 } 89 }
90 } else { 90 } else {
91 switch (inputMode) { 91 switch (inputMode) {
92 default: 92 default:
93 case WebTextInputMode.kDefault: 93 case WebTextInputMode.DEFAULT:
94 case WebTextInputMode.kVerbatim: 94 case WebTextInputMode.VERBATIM:
95 case WebTextInputMode.kLatin: 95 case WebTextInputMode.LATIN:
96 case WebTextInputMode.kLatinName: 96 case WebTextInputMode.LATIN_NAME:
97 case WebTextInputMode.kLatinProse: 97 case WebTextInputMode.LATIN_PROSE:
98 case WebTextInputMode.kFullWidthLatin: 98 case WebTextInputMode.FULL_WIDTH_LATIN:
99 case WebTextInputMode.kKana: 99 case WebTextInputMode.KANA:
100 case WebTextInputMode.kKanaName: 100 case WebTextInputMode.KANA_NAME:
101 case WebTextInputMode.kKataKana: 101 case WebTextInputMode.KATA_KANA:
102 outAttrs.inputType |= EditorInfo.TYPE_TEXT_FLAG_MULTI_LINE; 102 outAttrs.inputType |= EditorInfo.TYPE_TEXT_FLAG_MULTI_LINE;
103 if ((inputFlags & WebTextInputFlags.kAutocorrectOff) == 0) { 103 if ((inputFlags & WebTextInputFlags.AUTOCORRECT_OFF) == 0) {
104 outAttrs.inputType |= EditorInfo.TYPE_TEXT_FLAG_AUTO_COR RECT; 104 outAttrs.inputType |= EditorInfo.TYPE_TEXT_FLAG_AUTO_COR RECT;
105 } 105 }
106 imeAction = EditorInfo.IME_ACTION_NONE; 106 imeAction = EditorInfo.IME_ACTION_NONE;
107 break; 107 break;
108 case WebTextInputMode.kNumeric: 108 case WebTextInputMode.NUMERIC:
109 outAttrs.inputType = 109 outAttrs.inputType =
110 InputType.TYPE_CLASS_NUMBER | InputType.TYPE_NUMBER_ VARIATION_NORMAL; 110 InputType.TYPE_CLASS_NUMBER | InputType.TYPE_NUMBER_ VARIATION_NORMAL;
111 imeAction = EditorInfo.IME_ACTION_NEXT; 111 imeAction = EditorInfo.IME_ACTION_NEXT;
112 break; 112 break;
113 case WebTextInputMode.kTel: 113 case WebTextInputMode.TEL:
114 outAttrs.inputType = InputType.TYPE_CLASS_PHONE; 114 outAttrs.inputType = InputType.TYPE_CLASS_PHONE;
115 imeAction = EditorInfo.IME_ACTION_NEXT; 115 imeAction = EditorInfo.IME_ACTION_NEXT;
116 break; 116 break;
117 case WebTextInputMode.kEmail: 117 case WebTextInputMode.EMAIL:
118 outAttrs.inputType = InputType.TYPE_CLASS_TEXT 118 outAttrs.inputType = InputType.TYPE_CLASS_TEXT
119 | InputType.TYPE_TEXT_VARIATION_WEB_EMAIL_ADDRESS; 119 | InputType.TYPE_TEXT_VARIATION_WEB_EMAIL_ADDRESS;
120 imeAction = EditorInfo.IME_ACTION_GO; 120 imeAction = EditorInfo.IME_ACTION_GO;
121 break; 121 break;
122 case WebTextInputMode.kUrl: 122 case WebTextInputMode.URL:
123 outAttrs.inputType = 123 outAttrs.inputType =
124 InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARI ATION_URI; 124 InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARI ATION_URI;
125 imeAction = EditorInfo.IME_ACTION_NEXT; 125 imeAction = EditorInfo.IME_ACTION_NEXT;
126 break; 126 break;
127 } 127 }
128 } 128 }
129 129
130 outAttrs.imeOptions |= imeAction; 130 outAttrs.imeOptions |= imeAction;
131 // Handling of autocapitalize. Blink will send the flag taking into acco unt the element's 131 // Handling of autocapitalize. Blink will send the flag taking into acco unt the element's
132 // type. This is not using AutocapitalizeNone because Android does not a utocapitalize by 132 // type. This is not using AutocapitalizeNone because Android does not a utocapitalize by
133 // default and there is no way to express no capitalization. 133 // default and there is no way to express no capitalization.
134 // Autocapitalize is meant as a hint to the virtual keyboard. 134 // Autocapitalize is meant as a hint to the virtual keyboard.
135 if ((inputFlags & WebTextInputFlags.kAutocapitalizeCharacters) != 0) { 135 if ((inputFlags & WebTextInputFlags.AUTOCAPITALIZE_CHARACTERS) != 0) {
136 outAttrs.inputType |= InputType.TYPE_TEXT_FLAG_CAP_CHARACTERS; 136 outAttrs.inputType |= InputType.TYPE_TEXT_FLAG_CAP_CHARACTERS;
137 } else if ((inputFlags & WebTextInputFlags.kAutocapitalizeWords) != 0) { 137 } else if ((inputFlags & WebTextInputFlags.AUTOCAPITALIZE_WORDS) != 0) {
138 outAttrs.inputType |= InputType.TYPE_TEXT_FLAG_CAP_WORDS; 138 outAttrs.inputType |= InputType.TYPE_TEXT_FLAG_CAP_WORDS;
139 } else if ((inputFlags & WebTextInputFlags.kAutocapitalizeSentences) != 0) { 139 } else if ((inputFlags & WebTextInputFlags.AUTOCAPITALIZE_SENTENCES) != 0) {
140 outAttrs.inputType |= InputType.TYPE_TEXT_FLAG_CAP_SENTENCES; 140 outAttrs.inputType |= InputType.TYPE_TEXT_FLAG_CAP_SENTENCES;
141 } 141 }
142 // Content editable doesn't use autocapitalize so we need to set it manu ally. 142 // Content editable doesn't use autocapitalize so we need to set it manu ally.
143 if (inputType == TextInputType.CONTENT_EDITABLE) { 143 if (inputType == TextInputType.CONTENT_EDITABLE) {
144 outAttrs.inputType |= InputType.TYPE_TEXT_FLAG_CAP_SENTENCES; 144 outAttrs.inputType |= InputType.TYPE_TEXT_FLAG_CAP_SENTENCES;
145 } 145 }
146 146
147 outAttrs.initialSelStart = initialSelStart; 147 outAttrs.initialSelStart = initialSelStart;
148 outAttrs.initialSelEnd = initialSelEnd; 148 outAttrs.initialSelEnd = initialSelEnd;
149 } 149 }
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after
197 if (!condition) throw new AssertionError(msg); 197 if (!condition) throw new AssertionError(msg);
198 } 198 }
199 199
200 /** 200 /**
201 * Check that the current thread is UI thread, and raise an error if it is n ot. 201 * Check that the current thread is UI thread, and raise an error if it is n ot.
202 */ 202 */
203 static void checkOnUiThread() { 203 static void checkOnUiThread() {
204 checkCondition("Should be on UI thread.", ThreadUtils.runningOnUiThread( )); 204 checkCondition("Should be on UI thread.", ThreadUtils.runningOnUiThread( ));
205 } 205 }
206 } 206 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698