| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Android T allows apps to declare a runtime receiver as not exported
by invoking registerReceiver with a new RECEIVER_NOT_EXPORTED flag;
receivers registered with this flag will only receive broadcasts from
the platform and the app itself. However to ensure developers can
properly protect their receivers, all apps targeting U
and registering a receiver for non-system broadcasts must
specify either the exported or not exported flag when invoking
registerReceiver; if one of these flags is not provided, the
platform will throw a SecurityException. This commit updates
the dictionary receivers with the RECEIVER_NOT_EXPORTED flag since
these are only sent from the local app. The HIDE_SOFT_INPUT
receiver is flagged with the RECEIVER_EXPORTED flag since it
can be sent by any app with the corresponding permission.
Bug: 234659204
Test: Build
Change-Id: I2b9a1360e0eb1c1965c07cc71dca9f11eb153517
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
With CL[1],[2] to migrate InputMethodService as the subclass of the new
introduced class WindowProviderService in S_V2, IME context resources
can be managed by associating the window container of IME window when
its display/window configuration changed.
So we can get rid of createDisplayContext logic from S_V2 with gated
by SDK version and refining the method of get IME context with
documentation to make it clear.
[1]: Ie565e30ed5dd3f2cfe27355a6dded76dc3adc14b
[2]: I64a1614f32d097785915f6105b1813a929e0fe32
Bug: 213118079
Bug: 133825283
Test: manual with below steps
1) adb install -r EditTextVariations.apk
2) tapas LatinIME
3) make
4) adb install -r out/target/product/generic/system/app/LatinIME/\
LatinIME.apk
5) adb shell ime enable com.android.inputmethod.latin/.LatinIME
6) adb shell ime set com.android.inputmethod.latin/.LatinIME
5) Enable screen auto-rotation
7) Launch EditTextVariations from launcher's shortcut
8) Tap the first EditText field to show IME
9) Rotate the device to the landscape mode
10) Expect the IME should not be shrunk
Change-Id: If2cc1c5bdb257a9c0af653fa7157cf781a90bf1d
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
As CL[1] introduces diplayContext to address
IME service context's Resources / DisplayMetrics update when
switching IME window to another display after onConfigurationChange.
In LatinIME#onInitializeInterface, we only update keyboard theme context
and displayContent when the displayId is changed, but overlooked even
the displayId is the same, the display context's resource configuration
might changed like the device orientation changd.
It leads getDefaultKeyboardHeight will get wrong config_max_keyboard_height
fraction value when rotating to landcape because the context resources
didn't get updated.
Add a check to update keyboard theme context when the current display
configuation is changed accordingly.
[1]: I0ed6a079af1ed90c75fee1d36d5ce3ef3c41f8ed
Fix: 186507147
Test: manual as issue steps
1) Turn on auto-rotate
2) Open Settings
3) Rotating the device to landscape mode
4) Tap “Search settings", verify if the soft-keyboard shown and the
size is expected.
Change-Id: I288a31baf04fa2e63d6b4a14ad81b401cb36ece5
Merged-In: I288a31baf04fa2e63d6b4a14ad81b401cb36ece5
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
To address IME service context's Resources / DisplayMetrics update
when switching IME window to another display after onConfigurationChange.
We use Context#createDisplayContext to create display specific context when
display changed, to ensure soft keyboard can re-layout with correct resources.
Bug: 126930163
Test: manual with AOSP IME as below steps:
1) Settings > Developer options > enable "Simulated Display" & "Force desktop mode".
2) Reboot device
3) Launch app (i.e. Contacts) with bluetooth or usb mouse in Simulated display.
4) Tap EditText on app to see see if IME window layout correctly on simulated display.
5) Launch app (i.e Files) on primary display.
6) Tap EditText on app to see if IME window layout correctly on primary display.
Change-Id: I0ed6a079af1ed90c75fee1d36d5ce3ef3c41f8ed
|
|\
| |
| |
| |
| |
| | |
am: ff1db79a18
Change-Id: Ic162b5e20213a3f1b2aeaf77250bf1d7edc198c5
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Remove EXTENDED_TOUCHABLE_REGION_HEIGHT from LatinIME#onComputeInsets
to prevent keyboard touch region covered navigation bar
when in split-window mode with display density < 240 case.
Fix: 134893742
Test: manual as below steps:
1) Set window density as 240 with "adb shell wm density 240"
2) Launch a app (i.e. Messages) from recents activity, set as split-screen mode.
3) Tap Search bar to show IME keyboard.
4) Press home / back / recents key if it works, expect it works.
Change-Id: I596b7276041fecc50d2bc095c7e51664f632368d
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This CL demonstrates how an IME can show an Activity on the display
where the IME is shown. The key points are:
* The current display ID can be obtained as follows.
final int curentDisplayId = inputMethodService
.getSystemService(WindowManager.class)
.getDefaultDisplay()
.getDisplayId();
* When launching an Activity, specify the target display ID as
follows.
inputMethodService.startActivity(intent, ActivityOptions
.makeBasic()
.setLaunchDisplayId(curentDisplayId)
.toBundle());
Fix: 131718879
Test: Manually verified as follows.
1. Build aosp_blueline-userdebug and flash it.
2. adb shell settings put global force_desktop_mode_on_external_displays 1
3. adb shell settings put global overlay_display_devices 1920x1080/320
4. adb reboot
5. With a mouse, launch any application that has input field
in the secondary display.
6. Click that input field to bring up AOSP Keyboard.
7. Long click the comma key then select the gear icon.
8. Select "Android Keyboard Settings (AOSP)"
9. Make sure that the AOSP Keyboard Settings is launched in
the secondary display, not in the default display.
10. Go back to the step 7.
11. Select "Languages"
12. Subtype Enabler for AOSP Keyboard is shown in the secondary
display, not in the default display.
Change-Id: I9f89f371c38d9a7b5a06d018d4b41aa09815ea24
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This CL introduces a custom intent action for apps to ask AOSP Keyboard to
close its software keyboard with guarding it with a signature-protected
permission.
Any app that is signed with the same signature as AOSP Keyboard can have
the following line in AndroidManifest.xml
<uses-permission
android:name="com.android.inputmethod.latin.HIDE_SOFT_INPUT"/>
to request AOSP Keyboard to close its software keyboard as follows.
sendBroadcast(new Intent("com.android.inputmethod.latin.HIDE_SOFT_INPUT")
.setPackage("com.android.inputmethod.latin"));
Test: Manually verified with a test app.
Fixes: 65270710
Change-Id: I4fd2e3a7336ec66c70582a2f274a200cbf035a7f
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
LatinIME checks hardware keyboard presence and software keyboard
visibility to decide whether to start full screen mode.
This doesn't work well with the recent update on "Show input method"
(Bug: 22517687, Id4d332e3909590c68345e).
On the first tap, software keyboard is not shown and hardware keyboard
is connected; so full screen mode is not started. However,
onEvaluateInputViewShown may return true ant software keyboard may be
brought up.
In this care, on the second tap, software keyboard is visible so full
screen mode will be started regardless of hardware keyboard presence.
This CL checks onEvaluateInputViewShown to decide whether to start
full screen mode.
Bug: 27234709
Change-Id: I587262cc36e5fccc59620b4bd2d2c3c05c72232f
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is a follow up CL to the previous CL [1], in which we started
calling Window#setNavigationBarColor(int) when the window visibility is
changed.
One thing we missed is that calling Window#setNavigationBarColor(int) on
KitKant or prior devices would result in a runtime crash. Hence with
this CL we do not call that method unless the OS version is N or leter,
because specifying Color.TRANSPARENT would make sense on N+ devices.
[1]: I14d9490e00caa852035a05830e76114cbe6af8f2
6c04339c5aadb5118b0e0a8178b3d569956bbad7
Bug: 22564251
Bug: 27302540
Change-Id: Ib7299dd8c3dad4271f8fac453e690c83bda4a954
|
|
|
|
|
|
|
|
|
|
|
| |
With this CL, LatinIME switches the current subtype from its enabled
subtypes based on the first locale in EditorInfo#hintLocales.
This functionality is still experimental, and will be triggered only
when EditorInfo#hintLocales is specified by the application.
Bug: 22859862
Change-Id: Ibd0559b370d8aa0d50d1bada8ecfdac0ed8db898
|
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Change the way we decide whether we want to show on-screen keyboard by
not only paying attention to modifiers, but also keeping track whether
the key sequence started in the right state.
We are still misfiring if user presses a non-modifier key and then our
modifier hot-key, but such sequence is unlikely. Given the fact that we
do not want to store too much state I believe this deficiency is
acceptable.
Bug: 25087681
Bug: 24142161
Change-Id: I1a6b5e8e903c27a87134a6c9a7cd474a0607d5c8
(cherry picked from commit 7c513455918a52bd28c1c8181cb2880db0973b4b)
|
|/
|
|
|
|
|
|
|
|
|
|
|
| |
The opaque navigation bar guard view does not make much sense when the
IME does not show software keyboard at all. LatinIME does not show
any UI when the hardware keyboard is connected.
With Iea77915ecc55eedaf19899e72c44f704ba9d852c, input method can change
the navigation bar visibility. This CL changes navigation bar invisible
when the hardware keyboard is connected.
Bug:22564251
Change-Id: I14d9490e00caa852035a05830e76114cbe6af8f2
|
|
|
|
|
|
|
|
|
|
|
| |
Out of the box, we want Alt-Left to toggle Emojis, while Alt-Right
toggles the shifted symbols layout.
Bug: 23954008
Bug: 24369173
Change-Id: I93dd66fb469e5d0a831359ff3a786fe68e1d73ea
(cherry picked from commit 411841b374aa04e333ea5a438dfd539f49ec589a)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This build has been compiled against API 23
This build is approved to go out with the M OTA, but may NOT be released
to the public until the Play Store has enabled API level 23 apps
Version: 4.1.2300x.build_id
1. Replaces the personalization is on information with the suggest
contacts.
2. Enables "Use Contacts" only if the app has permission to read
contacts.
3. Disables the contacts dictionary in the Facilitator.
4. Do not register/read the contacts in the contact observer.
Bug: 22236416
Change-Id: I9674e13d0d0f4a2014c5024fde0178de684c07e7
|
|
|
|
|
|
| |
Bug 20701628.
Change-Id: I4de89587776a0859aeda5d2ed76ab1eb4f918458
|
|
|
|
| |
Change-Id: Ic3d7d11ad90cc09edf62f48aa5362e71d692f7dd
|
|
|
|
|
|
|
|
| |
Allows the facilitator to flush language models without a recurring task.
Bug 19773937.
Change-Id: I01a3c10da26f9df38fee05df33387eb082e2ff33
|
|
|
|
|
| |
Bug: 19712589
Change-Id: I81f9bf09b37487450780d85a1e4f752a9ba49370
|
|
|
|
|
| |
Bug: 19087415.
Change-Id: I3974f1b676aa4a9bb04ab7f609b6daf1860c64f1
|
|
|
|
|
|
|
|
| |
This reverts commit 1ae16dc3db170802d1b38273f477125a2a969d32.
Bug 19596067.
Change-Id: Ie7286acbb70b215d7bd08e271bcf14526b68576f
|
|
|
|
|
| |
Bug:19214944
Change-Id: I113f47c49d638790d770fe2781afe7cd1565619d
|
|
|
|
|
|
| |
This fixes unit tests and brings us closer to a green build.
Change-Id: Iffcc392eda4a7671a238b79cc7367320ca648725
|
|
|
|
| |
Change-Id: I10ccf75d9c00d66b4e85de6c3c019242f2e90b0e
|
|
|
|
|
|
| |
Bug 19669016.
Change-Id: I8069fe561347851bf3c27423dbd8ba99d38c049e
|
|
|
|
|
|
|
|
|
| |
When the DEBUG setting is on, log from this critical class.
This will make it easier to diagnose issues.
Bug 19632709.
Change-Id: I5e14b3705f50cd021ad3d64af106ad28dc8b9321
|
|
|
|
|
|
|
|
|
| |
This feature works in supported languages.
We don't need a user setting.
Bug 19596067.
Change-Id: Icdded772745f9816da47f8a5e3b87b733083b121
|
|
|
|
| |
Change-Id: I8b75aded3fc2b9b33128b6ba5a3e8d943dfca352
|
|
|
|
| |
Change-Id: Ibd42982996a36ac52b4c916035491b835f8d14f9
|
|
|
|
|
|
|
|
|
| |
When the LatinIME does not have an active InputConnection, it will not try
to toggle the Emoji keyboard.
Bug 19513415.
Change-Id: I31f928cd7db1cddd771c548cd3dc42f8af64d0e2
|
|\ |
|
| |
| |
| |
| | |
Change-Id: I6c8d3cf10e05e606308cea42d1e935a415ada9f8
|
| |
| |
| |
| |
| |
| | |
Bug 19516048.
Change-Id: Ibc27a792b4fa80fa8c6af4721c47a617526e9584
|
|/
|
|
|
|
|
|
|
| |
Simplify interfaces by passing Keyboard instead of
KeyboardLayout and ProximityInfo directly. Also require
the Keyboard passed be non-null and change the SpellChecker
to bail out if there is no keyboard for the locale.
Change-Id: I960f15ff60171f55d3e0a96fd6469b7dc3a045e2
|
|\ |
|
| |
| |
| |
| | |
Change-Id: I0f334ab5e6f5aa41ad780641276dc3d2aa232f48
|
|/
|
|
| |
Change-Id: I112c957e20d4573daaa71aa218b575037585385c
|
|
|
|
|
|
| |
Note this change does not affect the native decoder interface.
Change-Id: I73b7dc008a5acaf75a31a36a2d332b5afabd82d0
|
|
|
|
|
|
| |
Bug 19296201.
Change-Id: Ic834e5956347cd86a96bd14024c42ad8ee258659
|
|
|
|
|
|
| |
Bug 19296201.
Change-Id: If016da2b7f4b3ecb9afd6d7aed9d19fbd4938758
|
|
|
|
| |
Change-Id: Ie0c9ce805d9ad009fc9bbaac37b715aff90cd844
|
|
|
|
|
|
|
|
|
| |
Removes the feature that adds strings to the user dictionary,
aka the "green highlight with a plus sign".
Bug 19237189.
Change-Id: I2387129a3add2d69d625f2ff16ed8cab3f10a735
|
|
|
|
| |
Change-Id: Ieff2cd37f869dca69abf53ac32a576c2e45cc1e3
|
|
|
|
|
|
|
|
| |
implementation DictionaryFacilitatorImpl.java and add a java-overridable
factory DictionaryFacilitatorProvider.java used to create a
DictionaryFacilitator.
Change-Id: Id4a58ae31feaa4d12a048a772c8d76ff82fdee45
|
|
|
|
|
|
|
|
| |
Pass dictionaryFacilitator to StatsUtilsManager from
LatinIME
Bug:16553957
Change-Id: I912a0b447e5684909ff67e3653a4bd8649cd03c5
|
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| | |
Change corresponding to ag/605384
Bug:16553957
Change-Id: I77024957b9497c45296bbbb24ca972b26348a8c3
|
|\ \
| |/
|/| |
|