19066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* 29066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Copyright (C) 2008 The Android Open Source Project 39066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 49066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Licensed under the Apache License, Version 2.0 (the "License"); 59066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * you may not use this file except in compliance with the License. 69066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * You may obtain a copy of the License at 79066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 89066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * http://www.apache.org/licenses/LICENSE-2.0 99066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Unless required by applicable law or agreed to in writing, software 119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * distributed under the License is distributed on an "AS IS" BASIS, 129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * See the License for the specific language governing permissions and 149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * limitations under the License. 159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectpackage android.text; 189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectimport android.text.TextUtils; 209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/** 229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Bit definitions for an integer defining the basic content type of text 23d3badad3aa7fd250a0a81549c6c3c15d8aee9f8dKenny Root * held in an {@link Editable} object. Supported classes may be combined 24d3badad3aa7fd250a0a81549c6c3c15d8aee9f8dKenny Root * with variations and flags to indicate desired behaviors. 25d3badad3aa7fd250a0a81549c6c3c15d8aee9f8dKenny Root * 26d3badad3aa7fd250a0a81549c6c3c15d8aee9f8dKenny Root * <h3>Examples</h3> 27d3badad3aa7fd250a0a81549c6c3c15d8aee9f8dKenny Root * 28d3badad3aa7fd250a0a81549c6c3c15d8aee9f8dKenny Root * <dl> 29d3badad3aa7fd250a0a81549c6c3c15d8aee9f8dKenny Root * <dt>A password field with with the password visible to the user: 30d3badad3aa7fd250a0a81549c6c3c15d8aee9f8dKenny Root * <dd>inputType = TYPE_CLASS_TEXT | 31d3badad3aa7fd250a0a81549c6c3c15d8aee9f8dKenny Root * TYPE_TEXT_VARIATION_VISIBLE_PASSWORD 32d3badad3aa7fd250a0a81549c6c3c15d8aee9f8dKenny Root * 33d3badad3aa7fd250a0a81549c6c3c15d8aee9f8dKenny Root * <dt>A multi-line postal address with automatic capitalization: 34d3badad3aa7fd250a0a81549c6c3c15d8aee9f8dKenny Root * <dd>inputType = TYPE_CLASS_TEXT | 35d3badad3aa7fd250a0a81549c6c3c15d8aee9f8dKenny Root * TYPE_TEXT_VARIATION_POSTAL_ADDRESS | 36d3badad3aa7fd250a0a81549c6c3c15d8aee9f8dKenny Root * TYPE_TEXT_FLAG_MULTI_LINE 37d3badad3aa7fd250a0a81549c6c3c15d8aee9f8dKenny Root * 38d3badad3aa7fd250a0a81549c6c3c15d8aee9f8dKenny Root * <dt>A time field: 39d3badad3aa7fd250a0a81549c6c3c15d8aee9f8dKenny Root * <dd>inputType = TYPE_CLASS_DATETIME | 40d3badad3aa7fd250a0a81549c6c3c15d8aee9f8dKenny Root * TYPE_DATETIME_VARIATION_TIME 41d3badad3aa7fd250a0a81549c6c3c15d8aee9f8dKenny Root * </dl> 429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectpublic interface InputType { 449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Mask of bits that determine the overall class 469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * of text being given. Currently supported classes are: 479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * {@link #TYPE_CLASS_TEXT}, {@link #TYPE_CLASS_NUMBER}, 489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * {@link #TYPE_CLASS_PHONE}, {@link #TYPE_CLASS_DATETIME}. 499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * If the class is not one you 509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * understand, assume {@link #TYPE_CLASS_TEXT} with NO variation 519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * or flags. 529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public static final int TYPE_MASK_CLASS = 0x0000000f; 549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Mask of bits that determine the variation of 579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * the base content class. 589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public static final int TYPE_MASK_VARIATION = 0x00000ff0; 609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 629066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Mask of bits that provide addition bit flags 639066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * of options. 649066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 659066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public static final int TYPE_MASK_FLAGS = 0x00fff000; 669066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 679066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Special content type for when no explicit type has been specified. 699066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * This should be interpreted to mean that the target input connection 709066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * is not rich, it can not process and show things like candidate text nor 719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * retrieve the current text, so the input method will need to run in a 729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * limited "generate key events" mode. 739066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 749066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public static final int TYPE_NULL = 0x00000000; 759066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project // ---------------------------------------------------------------------- 779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project // ---------------------------------------------------------------------- 789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project // ---------------------------------------------------------------------- 799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 809066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 819066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Class for normal text. This class supports the following flags (only 829066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * one of which should be set): 839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * {@link #TYPE_TEXT_FLAG_CAP_CHARACTERS}, 849066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * {@link #TYPE_TEXT_FLAG_CAP_WORDS}, and. 859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * {@link #TYPE_TEXT_FLAG_CAP_SENTENCES}. It also supports the 869066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * following variations: 879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * {@link #TYPE_TEXT_VARIATION_NORMAL}, and 889066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * {@link #TYPE_TEXT_VARIATION_URI}. If you do not recognize the 899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * variation, normal should be assumed. 909066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 919066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public static final int TYPE_CLASS_TEXT = 0x00000001; 929066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 939066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 949066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Flag for {@link #TYPE_CLASS_TEXT}: capitalize all characters. Overrides 959066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * {@link #TYPE_TEXT_FLAG_CAP_WORDS} and 969066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * {@link #TYPE_TEXT_FLAG_CAP_SENTENCES}. This value is explicitly defined 979066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * to be the same as {@link TextUtils#CAP_MODE_CHARACTERS}. 989066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 999066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public static final int TYPE_TEXT_FLAG_CAP_CHARACTERS = 0x00001000; 1009066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 1019066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 1029066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Flag for {@link #TYPE_CLASS_TEXT}: capitalize first character of 1039066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * all words. Overrides {@link #TYPE_TEXT_FLAG_CAP_SENTENCES}. This 1049066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * value is explicitly defined 1059066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * to be the same as {@link TextUtils#CAP_MODE_WORDS}. 1069066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 1079066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public static final int TYPE_TEXT_FLAG_CAP_WORDS = 0x00002000; 1089066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 1099066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 1109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Flag for {@link #TYPE_CLASS_TEXT}: capitalize first character of 1119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * each sentence. This value is explicitly defined 1129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * to be the same as {@link TextUtils#CAP_MODE_SENTENCES}. 1139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 1149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public static final int TYPE_TEXT_FLAG_CAP_SENTENCES = 0x00004000; 1159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 1169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 1179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Flag for {@link #TYPE_CLASS_TEXT}: the user is entering free-form 1189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * text that should have auto-correction applied to it. 1199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 1209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public static final int TYPE_TEXT_FLAG_AUTO_CORRECT = 0x00008000; 1219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 1229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 1239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Flag for {@link #TYPE_CLASS_TEXT}: the text editor is performing 1249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * auto-completion of the text being entered based on its own semantics, 1259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * which it will present to the user as they type. This generally means 1269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * that the input method should not be showing candidates itself, but can 1279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * expect for the editor to supply its own completions/candidates from 1289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * {@link android.view.inputmethod.InputMethodSession#displayCompletions 1299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * InputMethodSession.displayCompletions()} as a result of the editor calling 1309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * {@link android.view.inputmethod.InputMethodManager#displayCompletions 1319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * InputMethodManager.displayCompletions()}. 1329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 1339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public static final int TYPE_TEXT_FLAG_AUTO_COMPLETE = 0x00010000; 1349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 1359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 1369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Flag for {@link #TYPE_CLASS_TEXT}: multiple lines of text can be 1379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * entered into the field. If this flag is not set, the text field 1389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * will be constrained to a single line. 1399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 1409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public static final int TYPE_TEXT_FLAG_MULTI_LINE = 0x00020000; 1419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 1429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 1439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Flag for {@link #TYPE_CLASS_TEXT}: the regular text view associated 1449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * with this should not be multi-line, but when a fullscreen input method 1459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * is providing text it should use multiple lines if it can. 1469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 1479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public static final int TYPE_TEXT_FLAG_IME_MULTI_LINE = 0x00040000; 1489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 14912cc9d82a6f3bd2aebad8ed97a29e2cbad3ec77aAmith Yamasani /** 15012cc9d82a6f3bd2aebad8ed97a29e2cbad3ec77aAmith Yamasani * Flag for {@link #TYPE_CLASS_TEXT}: the input method does not need to 15112cc9d82a6f3bd2aebad8ed97a29e2cbad3ec77aAmith Yamasani * display any dictionary-based candidates. This is useful for text views that 15212cc9d82a6f3bd2aebad8ed97a29e2cbad3ec77aAmith Yamasani * do not contain words from the language and do not benefit from any 15312cc9d82a6f3bd2aebad8ed97a29e2cbad3ec77aAmith Yamasani * dictionary-based completions or corrections. It overrides the 15412cc9d82a6f3bd2aebad8ed97a29e2cbad3ec77aAmith Yamasani * {@link #TYPE_TEXT_FLAG_AUTO_CORRECT} value when set. 15512cc9d82a6f3bd2aebad8ed97a29e2cbad3ec77aAmith Yamasani */ 15612cc9d82a6f3bd2aebad8ed97a29e2cbad3ec77aAmith Yamasani public static final int TYPE_TEXT_FLAG_NO_SUGGESTIONS = 0x00080000; 15712cc9d82a6f3bd2aebad8ed97a29e2cbad3ec77aAmith Yamasani 1589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project // ---------------------------------------------------------------------- 1599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 1609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 1619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Default variation of {@link #TYPE_CLASS_TEXT}: plain old normal text. 1629066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 1639066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public static final int TYPE_TEXT_VARIATION_NORMAL = 0x00000000; 1649066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 1659066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 1669066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Variation of {@link #TYPE_CLASS_TEXT}: entering a URI. 1679066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 1689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public static final int TYPE_TEXT_VARIATION_URI = 0x00000010; 1699066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 1709066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 1719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Variation of {@link #TYPE_CLASS_TEXT}: entering an e-mail address. 1729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 1739066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public static final int TYPE_TEXT_VARIATION_EMAIL_ADDRESS = 0x00000020; 1749066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 1759066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 1769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Variation of {@link #TYPE_CLASS_TEXT}: entering the subject line of 1779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * an e-mail. 1789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 1799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public static final int TYPE_TEXT_VARIATION_EMAIL_SUBJECT = 0x00000030; 1809066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 1819066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 1829066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Variation of {@link #TYPE_CLASS_TEXT}: entering a short, possibly informal 1839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * message such as an instant message or a text message. 1849066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 1859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public static final int TYPE_TEXT_VARIATION_SHORT_MESSAGE = 0x00000040; 1869066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 1879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 1889066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Variation of {@link #TYPE_CLASS_TEXT}: entering the content of a long, possibly 1899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * formal message such as the body of an e-mail. 1909066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 1919066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public static final int TYPE_TEXT_VARIATION_LONG_MESSAGE = 0x00000050; 1929066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 1939066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 1949066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Variation of {@link #TYPE_CLASS_TEXT}: entering the name of a person. 1959066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 1969066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public static final int TYPE_TEXT_VARIATION_PERSON_NAME = 0x00000060; 1979066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 1989066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 1999066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Variation of {@link #TYPE_CLASS_TEXT}: entering a postal mailing address. 2009066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 2019066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public static final int TYPE_TEXT_VARIATION_POSTAL_ADDRESS = 0x00000070; 2029066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 2039066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 2049066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Variation of {@link #TYPE_CLASS_TEXT}: entering a password. 2059066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 2069066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public static final int TYPE_TEXT_VARIATION_PASSWORD = 0x00000080; 2079066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 2089066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 2094df2423a947bcd3f024cc3d3a1a315a8dc428598The Android Open Source Project * Variation of {@link #TYPE_CLASS_TEXT}: entering a password, which should 2104df2423a947bcd3f024cc3d3a1a315a8dc428598The Android Open Source Project * be visible to the user. 2114df2423a947bcd3f024cc3d3a1a315a8dc428598The Android Open Source Project */ 2124df2423a947bcd3f024cc3d3a1a315a8dc428598The Android Open Source Project public static final int TYPE_TEXT_VARIATION_VISIBLE_PASSWORD = 0x00000090; 2134df2423a947bcd3f024cc3d3a1a315a8dc428598The Android Open Source Project 2144df2423a947bcd3f024cc3d3a1a315a8dc428598The Android Open Source Project /** 2159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Variation of {@link #TYPE_CLASS_TEXT}: entering text inside of a web form. 2169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 2174df2423a947bcd3f024cc3d3a1a315a8dc428598The Android Open Source Project public static final int TYPE_TEXT_VARIATION_WEB_EDIT_TEXT = 0x000000a0; 2184df2423a947bcd3f024cc3d3a1a315a8dc428598The Android Open Source Project 2194df2423a947bcd3f024cc3d3a1a315a8dc428598The Android Open Source Project /** 2204df2423a947bcd3f024cc3d3a1a315a8dc428598The Android Open Source Project * Variation of {@link #TYPE_CLASS_TEXT}: entering text to filter contents 2214df2423a947bcd3f024cc3d3a1a315a8dc428598The Android Open Source Project * of a list etc. 2224df2423a947bcd3f024cc3d3a1a315a8dc428598The Android Open Source Project */ 2234df2423a947bcd3f024cc3d3a1a315a8dc428598The Android Open Source Project public static final int TYPE_TEXT_VARIATION_FILTER = 0x000000b0; 2244df2423a947bcd3f024cc3d3a1a315a8dc428598The Android Open Source Project 2254df2423a947bcd3f024cc3d3a1a315a8dc428598The Android Open Source Project /** 2264df2423a947bcd3f024cc3d3a1a315a8dc428598The Android Open Source Project * Variation of {@link #TYPE_CLASS_TEXT}: entering text for phonetic 2274df2423a947bcd3f024cc3d3a1a315a8dc428598The Android Open Source Project * pronunciation, such as a phonetic name field in contacts. 2284df2423a947bcd3f024cc3d3a1a315a8dc428598The Android Open Source Project */ 2294df2423a947bcd3f024cc3d3a1a315a8dc428598The Android Open Source Project public static final int TYPE_TEXT_VARIATION_PHONETIC = 0x000000c0; 2309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 231dea3ef7967228f0ddcc03f2455a4f1254758e584Dianne Hackborn /** 232dea3ef7967228f0ddcc03f2455a4f1254758e584Dianne Hackborn * Variation of {@link #TYPE_CLASS_TEXT}: entering e-mail address inside 233dea3ef7967228f0ddcc03f2455a4f1254758e584Dianne Hackborn * of a web form. This was added in 234dea3ef7967228f0ddcc03f2455a4f1254758e584Dianne Hackborn * {@link android.os.Build.VERSION_CODES#HONEYCOMB}. An IME must target 235dea3ef7967228f0ddcc03f2455a4f1254758e584Dianne Hackborn * this API version or later to see this input type; if it doesn't, a request 236dea3ef7967228f0ddcc03f2455a4f1254758e584Dianne Hackborn * for this type will be seen as {@link #TYPE_TEXT_VARIATION_EMAIL_ADDRESS} 237dea3ef7967228f0ddcc03f2455a4f1254758e584Dianne Hackborn * when passed through {@link android.view.inputmethod.EditorInfo#makeCompatible(int) 238dea3ef7967228f0ddcc03f2455a4f1254758e584Dianne Hackborn * EditorInfo.makeCompatible(int)}. 239dea3ef7967228f0ddcc03f2455a4f1254758e584Dianne Hackborn */ 240dea3ef7967228f0ddcc03f2455a4f1254758e584Dianne Hackborn public static final int TYPE_TEXT_VARIATION_WEB_EMAIL_ADDRESS = 0x000000d0; 241dea3ef7967228f0ddcc03f2455a4f1254758e584Dianne Hackborn 242dea3ef7967228f0ddcc03f2455a4f1254758e584Dianne Hackborn /** 243dea3ef7967228f0ddcc03f2455a4f1254758e584Dianne Hackborn * Variation of {@link #TYPE_CLASS_TEXT}: entering password inside 244dea3ef7967228f0ddcc03f2455a4f1254758e584Dianne Hackborn * of a web form. This was added in 245dea3ef7967228f0ddcc03f2455a4f1254758e584Dianne Hackborn * {@link android.os.Build.VERSION_CODES#HONEYCOMB}. An IME must target 246dea3ef7967228f0ddcc03f2455a4f1254758e584Dianne Hackborn * this API version or later to see this input type; if it doesn't, a request 247dea3ef7967228f0ddcc03f2455a4f1254758e584Dianne Hackborn * for this type will be seen as {@link #TYPE_TEXT_VARIATION_PASSWORD} 248dea3ef7967228f0ddcc03f2455a4f1254758e584Dianne Hackborn * when passed through {@link android.view.inputmethod.EditorInfo#makeCompatible(int) 249dea3ef7967228f0ddcc03f2455a4f1254758e584Dianne Hackborn * EditorInfo.makeCompatible(int)}. 250dea3ef7967228f0ddcc03f2455a4f1254758e584Dianne Hackborn */ 251dea3ef7967228f0ddcc03f2455a4f1254758e584Dianne Hackborn public static final int TYPE_TEXT_VARIATION_WEB_PASSWORD = 0x000000e0; 252dea3ef7967228f0ddcc03f2455a4f1254758e584Dianne Hackborn 2539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project // ---------------------------------------------------------------------- 2549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project // ---------------------------------------------------------------------- 2559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project // ---------------------------------------------------------------------- 2569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 2579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 2589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Class for numeric text. This class supports the following flag: 2599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * {@link #TYPE_NUMBER_FLAG_SIGNED} and 26082d731ac5d28fb54c49948116786813a62b07b8bKen Wakasa * {@link #TYPE_NUMBER_FLAG_DECIMAL}. It also supports the following 26182d731ac5d28fb54c49948116786813a62b07b8bKen Wakasa * variations: {@link #TYPE_NUMBER_VARIATION_NORMAL} and 26282d731ac5d28fb54c49948116786813a62b07b8bKen Wakasa * {@link #TYPE_NUMBER_VARIATION_PASSWORD}. If you do not recognize 26382d731ac5d28fb54c49948116786813a62b07b8bKen Wakasa * the variation, normal should be assumed. 2649066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 2659066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public static final int TYPE_CLASS_NUMBER = 0x00000002; 2669066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 2679066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 2689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Flag of {@link #TYPE_CLASS_NUMBER}: the number is signed, allowing 2699066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * a positive or negative sign at the start. 2709066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 2719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public static final int TYPE_NUMBER_FLAG_SIGNED = 0x00001000; 2729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 2739066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 2749066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Flag of {@link #TYPE_CLASS_NUMBER}: the number is decimal, allowing 2759066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * a decimal point to provide fractional values. 2769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 2779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public static final int TYPE_NUMBER_FLAG_DECIMAL = 0x00002000; 2789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 2799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project // ---------------------------------------------------------------------- 28082d731ac5d28fb54c49948116786813a62b07b8bKen Wakasa 28182d731ac5d28fb54c49948116786813a62b07b8bKen Wakasa /** 28282d731ac5d28fb54c49948116786813a62b07b8bKen Wakasa * Default variation of {@link #TYPE_CLASS_NUMBER}: plain normal 28382d731ac5d28fb54c49948116786813a62b07b8bKen Wakasa * numeric text. This was added in 28482d731ac5d28fb54c49948116786813a62b07b8bKen Wakasa * {@link android.os.Build.VERSION_CODES#HONEYCOMB}. An IME must target 28582d731ac5d28fb54c49948116786813a62b07b8bKen Wakasa * this API version or later to see this input type; if it doesn't, a request 28682d731ac5d28fb54c49948116786813a62b07b8bKen Wakasa * for this type will be dropped when passed through 28782d731ac5d28fb54c49948116786813a62b07b8bKen Wakasa * {@link android.view.inputmethod.EditorInfo#makeCompatible(int) 28882d731ac5d28fb54c49948116786813a62b07b8bKen Wakasa * EditorInfo.makeCompatible(int)}. 28982d731ac5d28fb54c49948116786813a62b07b8bKen Wakasa */ 29082d731ac5d28fb54c49948116786813a62b07b8bKen Wakasa public static final int TYPE_NUMBER_VARIATION_NORMAL = 0x00000000; 29182d731ac5d28fb54c49948116786813a62b07b8bKen Wakasa 29282d731ac5d28fb54c49948116786813a62b07b8bKen Wakasa /** 29382d731ac5d28fb54c49948116786813a62b07b8bKen Wakasa * Variation of {@link #TYPE_CLASS_NUMBER}: entering a numeric password. 29482d731ac5d28fb54c49948116786813a62b07b8bKen Wakasa * This was added in {@link android.os.Build.VERSION_CODES#HONEYCOMB}. An 29582d731ac5d28fb54c49948116786813a62b07b8bKen Wakasa * IME must target this API version or later to see this input type; if it 29682d731ac5d28fb54c49948116786813a62b07b8bKen Wakasa * doesn't, a request for this type will be dropped when passed 29782d731ac5d28fb54c49948116786813a62b07b8bKen Wakasa * through {@link android.view.inputmethod.EditorInfo#makeCompatible(int) 29882d731ac5d28fb54c49948116786813a62b07b8bKen Wakasa * EditorInfo.makeCompatible(int)}. 29982d731ac5d28fb54c49948116786813a62b07b8bKen Wakasa */ 30082d731ac5d28fb54c49948116786813a62b07b8bKen Wakasa public static final int TYPE_NUMBER_VARIATION_PASSWORD = 0x00000010; 30182d731ac5d28fb54c49948116786813a62b07b8bKen Wakasa 30282d731ac5d28fb54c49948116786813a62b07b8bKen Wakasa // ---------------------------------------------------------------------- 3039066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project // ---------------------------------------------------------------------- 3049066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project // ---------------------------------------------------------------------- 3059066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 3069066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 3079066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Class for a phone number. This class currently supports no variations 3089066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * or flags. 3099066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 3109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public static final int TYPE_CLASS_PHONE = 0x00000003; 3119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 3129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project // ---------------------------------------------------------------------- 3139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project // ---------------------------------------------------------------------- 3149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project // ---------------------------------------------------------------------- 3159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 3169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 3179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Class for dates and times. It supports the 3189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * following variations: 3199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * {@link #TYPE_DATETIME_VARIATION_NORMAL} 3209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * {@link #TYPE_DATETIME_VARIATION_DATE}, and 3219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * {@link #TYPE_DATETIME_VARIATION_TIME},. 3229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 3239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public static final int TYPE_CLASS_DATETIME = 0x00000004; 3249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 3259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 3269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Default variation of {@link #TYPE_CLASS_DATETIME}: allows entering 3279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * both a date and time. 3289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 3299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public static final int TYPE_DATETIME_VARIATION_NORMAL = 0x00000000; 3309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 3319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 3329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Default variation of {@link #TYPE_CLASS_DATETIME}: allows entering 3339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * only a date. 3349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 3359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public static final int TYPE_DATETIME_VARIATION_DATE = 0x00000010; 3369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 3379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 3389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Default variation of {@link #TYPE_CLASS_DATETIME}: allows entering 3399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * only a time. 3409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 3419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public static final int TYPE_DATETIME_VARIATION_TIME = 0x00000020; 3429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 343