This is a follow up CL to my previous CLs [1][2], which let query APIs
defined in InputMethodManager support background users.
With this CL,
InputMethodManager#getCurrentInputMethodSubtype()
is also fully supported under multi-user / multi-profile environment.
[1]: I192a0f5a1375170d17a4c08af94f23966dbaea8b
7f8ee4b9dd
[2]: I48f57dc7184e85bdb422fd9d1d56e60381654125
e960986554
Bug: 34886274
Bug: 122164939
Bug: 237316307
Test: atest CtsInputMethodTestCases:InputMethodSubtypeTest
Change-Id: Icb09f9cb1a4147884faa9952b2e03ec4afa9f0b1
This CL removes two unused parameters from
InputMethodService#sort(),
which have never been used since they were initially added [1].
[1]: I94ad55b8eab49dc9b233dcb4e74429863b406fb4
7265d9bd6d
Bug: 234882948
Test: presubmit
Change-Id: I20c9aae92b5c8e455b4c15c6bcec7247738dd88d
This CL lets
IInputMethodManager#startInputOrWindowGainedFocus()
take the useId as an explicit input parameter for consistency with
other IPC methods that are annotated with
@RequiresPermission(
value = INTERACT_ACROSS_USERS_FULL,
conditional = true).
Doing so enables us to
1. easily assume that INTERACT_ACROSS_USERS_FULL is necessary only
when userId parameter is different from the calling user ID.
2. place caller verification at the beginning of
InputMethodManagerService#startInputOrWindowGainedFocus()
like we do so in other Binder IPC methods.
There should be no semantic change in this CL. This CL is purely for
better readability.
Bug: 34886274
Bug: 237316307
Test: presubmit
Change-Id: I2755fd1f2425f1c0186d46a8e4d62995c8283050
This is a follow up CL to my previous CL [1], which aimed to clean up
all of the remaining historical terminology "attribute" or
"TextBoxAttribute" around "EditorInfo".
There remained several variables named "tba" in InputMethodManager,
which came from "TextBoxAttribue".
Let's also clean them up.
This is just a mechanical clean-up. There should be no behavior
change and compability concern.
[1]: Idd147940c34ab5fd39b2d11b2acb1554c7d8f26d
d4bff9066c
Bug: 237008479
Test: presubmit
Change-Id: Iefb2545e31c66ad56469ef0260d26a6283ffcb16
AttachedSurfaceControl is a public API so hidden APIs need to be
implemented. Create a default implementation for a new hidden API to
ensure backwards compatibility.
Test: testRuntimeCompatibilityWithCurrentApi_android_net_ipsec_ike
Fixes: 240300753
Change-Id: I4aec403e4bc13e2db902a291f1e42d8fe3d8fdf3
This CL avoids a synchronous call into the InputMethodManager (IMMS)
whenever the focus switches from a non-editable view to another
non-editable view.
Test: atest CtsInputMethodTestCases
Test: atest android.view.inputmethod.EditorInfoTest
Test: atest android.view.inputmethod.SurroundingTextTest
Bug: 219819349
Change-Id: I0331462624351d17399c733cffa84a132f118ab7
This is a follow up CL to my previous CL [1], which let query APIs
defined in InputMethodManager support background users.
With this CL,
InputMethodManager#getLastInputMethodSubtype()
is also fully supported under multi-user / multi-profile environment.
[1]: I192a0f5a1375170d17a4c08af94f23966dbaea8b
7f8ee4b9dd
Bug: 34886274
Bug: 122164939
Test: atest CtsInputMethodTestCases:InputMethodSubtypeTest
Change-Id: I48f57dc7184e85bdb422fd9d1d56e60381654125
This CL lets
IInputMethodManager#getEnabledInputMethodSubtypeList()
take the useId as an input parameter for consistency with other query
methods.
There should be no developer observable behavior change because now
InputMethodManager#getEnabledInputMethodSubtypeList()
specifies its own user ID.
Bug: 34886274
Test: make -j CtsInputMethod1 \
CtsInputMethod2 \
CtsInputMethodServiceDeviceTests \
CtsInputMethodServiceEventProvider \
CtsInputMethodServiceHostTestCases \
EditTextApp &&
atest CtsInputMethodServiceHostTestCases
Change-Id: Ie213ef7e04d6337e303ea331d0a00c7d7f9a6d1a
There's no need for SurfaceSyncer to store the SyncSets and only return
a syncId. The callers can instead own the SyncGroups and call methods
directly on them. This makes the code more readable and cleans up Syncer
since you can directly call methods instead of piping through an outer
method.
Test: SurfaceSyncGroupContinuousTest
Test: SurfaceSyncGroupTest
Change-Id: I82976e26e10e20d2752e6be24a45069a6a64e849
Bug: 237804605
System UI won't need to check if the gesture blocking activity is
running or not every time a task changes.
Bug: 229048429
Test: atest DisplayContentTests PermissionPolicyTest
Change-Id: I5a72121c8b20b172ea5c1d060960ce14a7420aa9
The back invoke target could lost focus during back navigation.
To prevent the non-focused window could still trigger back action cause
some unexpected behavior, this CL will listen focus changed and skip the
back invoke call.
Test: launch a trampoline activity and trigger back before next activity
shown.
Test: atest WindowOnBackInvokedDispatcherTest
Bug: 238050065
Change-Id: Ifd345b2283c5d07628e2884db6e4e13f3ec31e83
Since CL[1] migrate hide IME logic when quick switching split-screen
task to InputMonitor.
As a result, remove unused API since it would be no longer to
expose hideCurrentInputMethod for launcher to handle gesture.
[1]: Ibfcd48e623336c4690b71c4db0ce1ad8f5b26fc9
Bug: 166736352
Bug: 193990612
Test: manual test as steps
1) launch any apps with focusing an editor
2) from overview, select any app to enter split-screen mode
3) taping the editor to show the keyboard
4) swipe up to overview or quick switch app tasks
5) expect the keyboard will be hidden when starting the gesture.
Change-Id: I299c3ac8531fa28c68c997e44fb168819e85d465
Catch the exception to avoid the system down.
Bug: 238417834
Test: atest CtsCaontentCaptureService
Change-Id: Ifacb91d9e961b71df0ac41690b952be981711870
This is a follow up CL to our previous CL [1], which introduced
IInputMethodManager#getAwareLockedInputMethodList
as a variant of
IInputMethodManager#getInputMethodList.
This CL mechanically merges those two IPC entries into one entry as
specifying
DirectBootAwareness.AUTO
is something we can do in the IME client side, without changing any
observable semantics.
[1]: I54d5dbec7e76d6a68935007ed3af0641f717a7c5
04a226334d
Bug: 210083408
Bug: 234882948
Test: presubmit
Change-Id: Ic02484fcbb9c1bbd8e964bb7a2f7acff904e2a33
Fixes an issue where the surface was destroyed while the caller had a
valid Surface. The SurfaceHolder#lockCanvas API states the
Surface remains valid until the caller unlocks the canvas. This cl
ensures the validity by acquiring the mSurfaceLock before changing
the state of the Surface.
Test: app in b/234006724 does not ANR
Test: app in b/235188096 does not crash
Test: atest SurfaceViewTest
Bug: 235188096
Change-Id: I67ae2b98b83cc148128bb7c70cf2180c927c0b04