From f97da47c024f01fddc466db4efb3200d0b37ae49 Mon Sep 17 00:00:00 2001 From: Yohei Yukawa Date: Tue, 22 May 2018 10:31:28 -0700 Subject: [PATCH] Opensource a test tool called EditTextVariations This CL opensouces a testing tool called EditTextVariations that has been used internally to test IME behaviors on various EditorInfo#inputType and EditorInfo#imeOptions. Bug: 80039502 Test: Manually verified as follows. 1. tapas EditTextVariations 2. make -j 3. adb install -r $ANDROID_TARGET_OUT_TESTCASES/EditTextVariations/EditTextVariations.apk Change-Id: Ia87e655573c2fd1fc09d56e4af90bfb1dfd65f9b --- tools/EditTextVariations/Android.mk | 26 + tools/EditTextVariations/AndroidManifest.xml | 44 ++ tools/EditTextVariations/assets/Theme.css | 56 +++ .../EditTextVariations/assets/Theme_Black.css | 56 +++ .../EditTextVariations/assets/Theme_Holo.css | 56 +++ .../assets/Theme_Holo_Light.css | 56 +++ .../EditTextVariations/assets/Theme_Light.css | 56 +++ .../assets/Theme_Material.css | 56 +++ .../assets/Theme_Material_Light.css | 56 +++ tools/EditTextVariations/assets/webview.html | 96 ++++ .../res/drawable-hdpi/ic_launcher.png | Bin 0 -> 4111 bytes .../res/drawable-mdpi/ic_launcher.png | Bin 0 -> 2258 bytes .../res/drawable-xhdpi/ic_launcher.png | Bin 0 -> 5963 bytes .../res/drawable-xxhdpi/ic_launcher.png | Bin 0 -> 10916 bytes tools/EditTextVariations/res/layout/main.xml | 298 +++++++++++ .../res/values-v11/donottranslate.xml | 23 + .../res/values-v14/themes.xml | 23 + .../res/values-v27/themes.xml | 27 + .../res/values/countries.xml | 263 ++++++++++ .../EditTextVariations/res/values/strings.xml | 38 ++ .../EditTextVariations/res/values/themes.xml | 23 + .../EchoingTextWatcher.java | 86 ++++ .../EditTextVariations.java | 473 ++++++++++++++++++ .../edittextvariations/FinalClassField.java | 64 +++ .../edittextvariations/InstanceMethod.java | 83 +++ .../MultiLineShortMessageEditText.java | 46 ++ .../tools/edittextvariations/ThemeItem.java | 68 +++ 27 files changed, 2073 insertions(+) create mode 100644 tools/EditTextVariations/Android.mk create mode 100644 tools/EditTextVariations/AndroidManifest.xml create mode 100644 tools/EditTextVariations/assets/Theme.css create mode 100644 tools/EditTextVariations/assets/Theme_Black.css create mode 100644 tools/EditTextVariations/assets/Theme_Holo.css create mode 100644 tools/EditTextVariations/assets/Theme_Holo_Light.css create mode 100644 tools/EditTextVariations/assets/Theme_Light.css create mode 100644 tools/EditTextVariations/assets/Theme_Material.css create mode 100644 tools/EditTextVariations/assets/Theme_Material_Light.css create mode 100644 tools/EditTextVariations/assets/webview.html create mode 100644 tools/EditTextVariations/res/drawable-hdpi/ic_launcher.png create mode 100644 tools/EditTextVariations/res/drawable-mdpi/ic_launcher.png create mode 100644 tools/EditTextVariations/res/drawable-xhdpi/ic_launcher.png create mode 100644 tools/EditTextVariations/res/drawable-xxhdpi/ic_launcher.png create mode 100644 tools/EditTextVariations/res/layout/main.xml create mode 100644 tools/EditTextVariations/res/values-v11/donottranslate.xml create mode 100644 tools/EditTextVariations/res/values-v14/themes.xml create mode 100644 tools/EditTextVariations/res/values-v27/themes.xml create mode 100644 tools/EditTextVariations/res/values/countries.xml create mode 100644 tools/EditTextVariations/res/values/strings.xml create mode 100644 tools/EditTextVariations/res/values/themes.xml create mode 100644 tools/EditTextVariations/src/com/android/inputmethod/tools/edittextvariations/EchoingTextWatcher.java create mode 100644 tools/EditTextVariations/src/com/android/inputmethod/tools/edittextvariations/EditTextVariations.java create mode 100644 tools/EditTextVariations/src/com/android/inputmethod/tools/edittextvariations/FinalClassField.java create mode 100644 tools/EditTextVariations/src/com/android/inputmethod/tools/edittextvariations/InstanceMethod.java create mode 100644 tools/EditTextVariations/src/com/android/inputmethod/tools/edittextvariations/MultiLineShortMessageEditText.java create mode 100644 tools/EditTextVariations/src/com/android/inputmethod/tools/edittextvariations/ThemeItem.java diff --git a/tools/EditTextVariations/Android.mk b/tools/EditTextVariations/Android.mk new file mode 100644 index 000000000..1f49aa4a7 --- /dev/null +++ b/tools/EditTextVariations/Android.mk @@ -0,0 +1,26 @@ +# Copyright (C) 2013 The Android Open Source Project +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +LOCAL_PATH := $(call my-dir) +include $(CLEAR_VARS) + +LOCAL_MODULE_TAGS := tests + +LOCAL_SRC_FILES := $(call all-java-files-under, src) + +LOCAL_PACKAGE_NAME := EditTextVariations + +LOCAL_SDK_VERSION := current + +include $(BUILD_PACKAGE) diff --git a/tools/EditTextVariations/AndroidManifest.xml b/tools/EditTextVariations/AndroidManifest.xml new file mode 100644 index 000000000..7694f4db9 --- /dev/null +++ b/tools/EditTextVariations/AndroidManifest.xml @@ -0,0 +1,44 @@ + + + + + + + + + + + + + + + diff --git a/tools/EditTextVariations/assets/Theme.css b/tools/EditTextVariations/assets/Theme.css new file mode 100644 index 000000000..b7aa514bf --- /dev/null +++ b/tools/EditTextVariations/assets/Theme.css @@ -0,0 +1,56 @@ + + +body { + background-color: black; +} +div.placeholder { + color: #a0a0a0; + font-size: 18px; + margin: 0px 0px -34px 0px; + padding: 4px 0px 4px 0px +} +div.input { + border: none; + margin: 4px 0px 4px -8px; +} +input { + color: black; + background-color: white; + font-size: 18px; + line-height: 200%; + vertical-align: center; + padding-left: 8px; + border-top: none; + border-right: none; + border-bottom: none; + border-left: none; +} +textarea { + color: black; + background-color: white; + font-size: 18px; + line-height: 150%; + vertical-align: center; + padding-left: 8px; + border-top: none; + border-right: none; + border-bottom: none; + border-left: none; +} diff --git a/tools/EditTextVariations/assets/Theme_Black.css b/tools/EditTextVariations/assets/Theme_Black.css new file mode 100644 index 000000000..ce663a180 --- /dev/null +++ b/tools/EditTextVariations/assets/Theme_Black.css @@ -0,0 +1,56 @@ + + +body { + background-color: black; +} +div.placeholder { + color: #a0a0a0; + font-size: 18px; + margin: 0px 0px -34px 0px; + padding: 4px 0px 4px 0px +} +div.input { + border: none; + margin: 4px 0px 4px -8px; +} +input { + color: black; + background-color: white; + font-size: 18px; + line-height: 200%; + vertical-align: center; + padding-left: 8px; + border-top: none; + border-right: none; + border-bottom: none; + border-left: none; +} +textarea { + color: black; + background-color: white; + font-size: 18px; + line-height: 150%; + vertical-align: center; + padding-left: 8px; + border-top: none; + border-right: none; + border-bottom: none; + border-left: none; +} diff --git a/tools/EditTextVariations/assets/Theme_Holo.css b/tools/EditTextVariations/assets/Theme_Holo.css new file mode 100644 index 000000000..a3afe2e00 --- /dev/null +++ b/tools/EditTextVariations/assets/Theme_Holo.css @@ -0,0 +1,56 @@ + + +body { + background-color: #16191C; +} +div.placeholder { + color: #808080; + font-size: 18px; + margin: 0px 0px -34px 0px; + padding: 4px 0px 4px 0px +} +div.input { + border: none; + margin: 4px 0px 4px -8px; +} +input { + color: white; + background-color: rgba(0, 0, 0, 0.0); + font-size: 18px; + line-height: 180%; + vertical-align: center; + padding-left: 8px; + border-top: none; + border-right: none; + border-bottom: 1px solid #5E6063; + border-left: none; +} +textarea { + color: white; + background-color: rgba(0, 0, 0, 0.0); + font-size: 18px; + line-height: 150%; + vertical-align: center; + padding-left: 8px; + border-top: none; + border-right: none; + border-bottom: 1px solid #5E6063; + border-left: none; +} diff --git a/tools/EditTextVariations/assets/Theme_Holo_Light.css b/tools/EditTextVariations/assets/Theme_Holo_Light.css new file mode 100644 index 000000000..fb3a83c69 --- /dev/null +++ b/tools/EditTextVariations/assets/Theme_Holo_Light.css @@ -0,0 +1,56 @@ + + +body { + background-color: #F2F2F2; +} +div.placeholder { + color: #808080; + font-size: 18px; + margin: 0px 0px -34px 0px; + padding: 4px 0px 4px 0px +} +div.input { + border: none; + margin: 4px 0px 4px -8px; +} +input { + color: black; + background-color: rgba(0, 0, 0, 0.0); + font-size: 18px; + line-height: 150%; + vertical-align: center; + padding-left: 8px; + border-top: none; + border-right: none; + border-bottom: 1px solid #808080; + border-left: none; +} +textarea { + color: black; + background-color: rgba(0, 0, 0, 0.0); + font-size: 18px; + line-height: 150%; + vertical-align: center; + padding-left: 8px; + border-top: none; + border-right: none; + border-bottom: 1px solid #808080; + border-left: none; +} diff --git a/tools/EditTextVariations/assets/Theme_Light.css b/tools/EditTextVariations/assets/Theme_Light.css new file mode 100644 index 000000000..4cce0a002 --- /dev/null +++ b/tools/EditTextVariations/assets/Theme_Light.css @@ -0,0 +1,56 @@ + + +body { + background-color: #f3f3f3; +} +div.placeholder { + color: #a0a0a0; + font-size: 18px; + margin: 0px 0px -34px 0px; + padding: 4px 0px 4px 0px +} +div.input { + border: none; + margin: 4px 0px 4px -8px; +} +input { + color: black; + background-color: rgba(0, 0, 0, 0.0); + font-size: 18px; + line-height: 200%; + vertical-align: center; + padding-left: 8px; + border-top: 1px solid #808080; + border-right: 1px solid rgba(0, 0, 0, 0.5); + border-bottom: 1px solid #808080; + border-left: 1px solid rgba(0, 0, 0, 0.5); +} +textarea { + color: black; + background-color: rgba(0, 0, 0, 0.0); + font-size: 18px; + line-height: 150%; + vertical-align: center; + padding-left: 8px; + border-top: 1px solid #808080; + border-right: 1px solid rgba(0, 0, 0, 0.5); + border-bottom: 1px solid #808080; + border-left: 1px solid rgba(0, 0, 0, 0.5); +} diff --git a/tools/EditTextVariations/assets/Theme_Material.css b/tools/EditTextVariations/assets/Theme_Material.css new file mode 100644 index 000000000..3581a8824 --- /dev/null +++ b/tools/EditTextVariations/assets/Theme_Material.css @@ -0,0 +1,56 @@ + + +body { + background-color: #212121; +} +div.placeholder { + color: #909090; + font-size: 18px; + margin: 0px 0px -34px 0px; + padding: 4px 0px 4px 0px +} +div.input { + border: none; + margin: 4px 0px 4px -8px; +} +input { + color: white; + background-color: rgba(0, 0, 0, 0.0); + font-size: 18px; + line-height: 180%; + vertical-align: center; + padding-left: 8px; + border-top: none; + border-right: none; + border-bottom: 1px solid #757575; + border-left: none; +} +textarea { + color: white; + background-color: rgba(0, 0, 0, 0.0); + font-size: 18px; + line-height: 150%; + vertical-align: center; + padding-left: 8px; + border-top: none; + border-right: none; + border-bottom: 1px solid #757575; + border-left: none; +} diff --git a/tools/EditTextVariations/assets/Theme_Material_Light.css b/tools/EditTextVariations/assets/Theme_Material_Light.css new file mode 100644 index 000000000..1a78a2d4a --- /dev/null +++ b/tools/EditTextVariations/assets/Theme_Material_Light.css @@ -0,0 +1,56 @@ + + +body { + background-color: #FAFAFA; +} +div.placeholder { + color: #7D7D7D; + font-size: 18px; + margin: 0px 0px -34px 0px; + padding: 4px 0px 4px 0px +} +div.input { + border: none; + margin: 4px 0px 4px -8px; +} +input { + color: white; + background-color: rgba(0, 0, 0, 0.0); + font-size: 18px; + line-height: 180%; + vertical-align: center; + padding-left: 8px; + border-top: none; + border-right: none; + border-bottom: 1px solid #737373; + border-left: none; +} +textarea { + color: white; + background-color: rgba(0, 0, 0, 0.0); + font-size: 18px; + line-height: 150%; + vertical-align: center; + padding-left: 8px; + border-top: none; + border-right: none; + border-bottom: 1px solid #737373; + border-left: none; +} diff --git a/tools/EditTextVariations/assets/webview.html b/tools/EditTextVariations/assets/webview.html new file mode 100644 index 000000000..daf0fdb73 --- /dev/null +++ b/tools/EditTextVariations/assets/webview.html @@ -0,0 +1,96 @@ + + + + + + + +
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+ + diff --git a/tools/EditTextVariations/res/drawable-hdpi/ic_launcher.png b/tools/EditTextVariations/res/drawable-hdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..e0923a605668a9d7c285884bb9351c07f077c741 GIT binary patch literal 4111 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 literal 0 HcmV?d00001 diff --git a/tools/EditTextVariations/res/drawable-xhdpi/ic_launcher.png b/tools/EditTextVariations/res/drawable-xhdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..d60ac3dc0e5b4fdb4725301dcc9d657ff77ac9a6 GIT binary patch literal 5963 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 &qFC0s&n0cIr<%Xb-`seH!q2wy1_UjHdUW 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%0DrGhSY5zwb3X$9rppV|K{5DKUNe~4Msd2 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 literal 0 HcmV?d00001 diff --git a/tools/EditTextVariations/res/layout/main.xml b/tools/EditTextVariations/res/layout/main.xml new file mode 100644 index 000000000..99abfb07e --- /dev/null +++ b/tools/EditTextVariations/res/layout/main.xml @@ -0,0 +1,298 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tools/EditTextVariations/res/values-v11/donottranslate.xml b/tools/EditTextVariations/res/values-v11/donottranslate.xml new file mode 100644 index 000000000..5b7eb23fc --- /dev/null +++ b/tools/EditTextVariations/res/values-v11/donottranslate.xml @@ -0,0 +1,23 @@ + + + + + Theme_Holo_Light + diff --git a/tools/EditTextVariations/res/values-v14/themes.xml b/tools/EditTextVariations/res/values-v14/themes.xml new file mode 100644 index 000000000..22c6016ff --- /dev/null +++ b/tools/EditTextVariations/res/values-v14/themes.xml @@ -0,0 +1,23 @@ + + + + + + diff --git a/tools/EditTextVariations/res/values/countries.xml b/tools/EditTextVariations/res/values/countries.xml new file mode 100644 index 000000000..6d7e5c137 --- /dev/null +++ b/tools/EditTextVariations/res/values/countries.xml @@ -0,0 +1,263 @@ + + + + + + + Afghanistan + Albania + Algeria + American Samoa + Andorra + Angola + Anguilla + Antarctica + Antigua and Barbuda + Argentina + Armenia + Aruba + Australia + Austria + Azerbaijan + Bahrain + Bangladesh + Barbados + Belarus + Belgium + Belize + Benin + Bermuda + Bhutan + Bolivia + Bosnia and Herzegovina + Botswana + Bouvet Island + Brazil + British Indian Ocean Territory + British Virgin Islands + Brunei + Bulgaria + Burkina Faso + Burundi + "Cote d'Ivoire" + Cambodia + Cameroon + Canada + Cape Verde + Cayman Islands + Central African Republic + Chad + Chile + China + Christmas Island + Cocos (Keeling) Islands + Colombia + Comoros + Congo + Cook Islands + Costa Rica + Croatia + Cuba + Cyprus + Czech Republic + Democratic Republic of the Congo + Denmark + Djibouti + Dominica + Dominican Republic + East Timor + Ecuador + Egypt + El Salvador + Equatorial Guinea + Eritrea + Estonia + Ethiopia + Faeroe Islands + Falkland Islands + Fiji + Finland + Republic of Macedonia + France + French Guiana + French Polynesia + French Southern Territories + Gabon + Georgia + Germany + Ghana + Gibraltar + Greece + Greenland + Grenada + Guadeloupe + Guam + Guatemala + Guinea + Guinea-Bissau + Guyana + Haiti + Heard Island and McDonald Islands + Honduras + Hong Kong + Hungary + Iceland + India + Indonesia + Iran + Iraq + Ireland + Israel + Italy + Jamaica + Japan + Jordan + Kazakhstan + Kenya + Kiribati + Kuwait + Kyrgyzstan + Laos + Latvia + Lebanon + Lesotho + Liberia + Libya + Liechtenstein + Lithuania + Luxembourg + Macau + Madagascar + Malawi + Malaysia + Maldives + Mali + Malta + Marshall Islands + Martinique + Mauritania + Mauritius + Mayotte + Mexico + Micronesia + Moldova + Monaco + Mongolia + Montserrat + Morocco + Mozambique + Myanmar + Namibia + Nauru + Nepal + Netherlands + Netherlands Antilles + New Caledonia + New Zealand + Nicaragua + Niger + Nigeria + Niue + Norfolk Island + North Korea + Northern Marianas + Norway + Oman + Pakistan + Palau + Panama + Papua New Guinea + Paraguay + Peru + Philippines + Pitcairn Islands + Poland + Portugal + Puerto Rico + Qatar + Reunion + Romania + Russia + Rwanda + Sao Tome and Principe + Saint Helena + Saint Kitts and Nevis + Saint Lucia + Saint Pierre and Miquelon + Saint Vincent and the Grenadines + Samoa + San Marino + Saudi Arabia + Senegal + Seychelles + Sierra Leone + Singapore + Slovakia + Slovenia + Solomon Islands + Somalia + South Africa + South Georgia and the South Sandwich Islands + South Korea + Spain + Sri Lanka + Sudan + Suriname + Svalbard and Jan Mayen + Swaziland + Sweden + Switzerland + Syria + Taiwan + Tajikistan + Tanzania + Thailand + The Bahamas + The Gambia + Togo + Tokelau + Tonga + Trinidad and Tobago + Tunisia + Turkey + Turkmenistan + Turks and Caicos Islands + Tuvalu + Virgin Islands + Uganda + Ukraine + United Arab Emirates + United Kingdom + United States + United States Minor Outlying Islands + Uruguay + Uzbekistan + Vanuatu + Vatican City + Venezuela + Vietnam + Wallis and Futuna + Western Sahara + Yemen + Zambia + Zimbabwe + Yemen + + diff --git a/tools/EditTextVariations/res/values/strings.xml b/tools/EditTextVariations/res/values/strings.xml new file mode 100644 index 000000000..02387f2ff --- /dev/null +++ b/tools/EditTextVariations/res/values/strings.xml @@ -0,0 +1,38 @@ + + + + + + EditTextVariations + + Change Theme + + Version %s + + Navigate On + + Navigate Off + + Keyboard Visible + + Keyboard Hidden + + Custom + diff --git a/tools/EditTextVariations/res/values/themes.xml b/tools/EditTextVariations/res/values/themes.xml new file mode 100644 index 000000000..036a7111b --- /dev/null +++ b/tools/EditTextVariations/res/values/themes.xml @@ -0,0 +1,23 @@ + + + + +