When an app is running in portrait orientation, regardless of
what orientation display is in, IME shouldn't use fullscreen-mode.
Setting IME_FLAG_NO_FULLSCREEN in EditorInfo makes sure IME doesn't go
fullscreen.
Bug: 157870379
Test: Manually using steps in bug
Change-Id: I5a5e73e1dec776665f28a7e2eb091b555198001b
Bug: 174932174
Test: I solemnly swear I tested this conflict resolution.
Exempt-From-Owner-Approval: refactoring with team leads buy-in
Change-Id: I9262a08ffc1ccede8e519d0eed90ed2bfcf0232c
As general background, OWNERS files expedite code reviews by helping
code authors quickly find relevant reviewers, and they also ensure
that stakeholders are involved in code changes in their areas.
Some teams under frameworks/base/ have been using OWNERS files
successfully for many years, and we're ready to expand them to cover
more areas. Here's the historical coverage statistics for the last
two years of changes before these new OWNERS changes land:
-- 56% of changes are fully covered by OWNERS
-- 17% of changes are partially covered by OWNERS
-- 25% of changes have no OWNERS coverage
Working closely with team leads, we've now identified clear OWNERS on
a per-package basis, and we're using "include" directives whenever
possible to to simplify future maintenance. With this extensive
effort, we've now improved our coverage as follows:
-- 98% of changes are fully covered by OWNERS
-- 1% of changes are partially covered by OWNERS
-- 1% of changes have no OWNERS coverage
This specific change is automatically generated by a script that
identifies relevant "include" directives.
Bug: 174932174
Test: manual
Exempt-From-Owner-Approval: refactoring with team leads buy-in
Merged-In: I3480ddf2fe7ba3dfb922b459d4da01fa17a2c813
Change-Id: I3480ddf2fe7ba3dfb922b459d4da01fa17a2c813
Revert "Verify lifecycle test when screen on/off"
Revert submission 12716106-ims_screenstate_lifecycle
Reason for revert: b/174512702
Reverted Changes:
Iba0332ed3:Verify lifecycle test when screen on/off
I8a657e75e:Let IME#onFinishInput called without dup onStartIn...
Change-Id: I16f4a34360a2f64b69978724648a9be741f140b5
This change dumps information through IME tracing for the getter methods
exposed by the InputConnection interface. The dump is done through the
ImeTracing interface and is triggered by events in the wrapper classes
used to handle InputConnection implementations corresponding to:
- different apps
- InputMethodService
The new data is available under inputConnectionCall in the clients
output proto.
Bug: 154348613
Test: flash a device
start IME tracing by calling "adb shell ime tracing start"
end IME tracing by calling "adb shell ime tracing stop"
pull generated trace files and visualize in Winscope
or start tracing directly through ADB Connect and visualize traces
Change-Id: Iabd6af1b858803030848a0ef5e7dd9ecfc562716
Also called IME#onStartInput without dup onFinishInput when screen-on,
to fix the long-standing IME input connection lifecycle issue when
device screen state changes.
Bug: 156215187
Bug: 26851566
Test: atest InputMethodStartInputLifecycleTest
Test: manual as below steps
0) Enable InputMethodService debug flag.
0-1) In Settings -> Develop options -> AppCompatibility Changes,
Select Gboard and then toggle
"FINISH_INPUT_NO_FALLBACK_CONNECTION" change.
1) Launch a app with focused a editor and show soft-input
2) When device screen turned-off, will see InputMethodService only
callbacks below logs:
CALL: doFinishInput
CALL: onFinishInputView
CALL: onFinishInput
3) When device screen turned-on, will see InputMethodService only
callbacks below logs:
CALL: onStartInput
CALL: onStartInputView
Change-Id: I8a657e75e274d842fb46b60375f6aeafeab96a59
* changes:
Log only current client data in IME tracing
Optimized workflow for IME tracing on InputMethodManagerService side
Optimized workflow for IME tracing on InputMethodService side
Optimized workflow for IME tracing on clients side
Otherwise, the fullscreen IME won't cover the entire display while
there is a hidden system bar.
Fix: 168657591
Test: 1. Steps in the bug.
2. Play WindowInsetsTests with combinations of system bar
visibilities, navigation mode, screen orientation, and display
cutout.
Merged-in: I6e7d665c55839dfbb14c8d2e5365537416f5f6c6
Change-Id: I6e7d665c55839dfbb14c8d2e5365537416f5f6c6
(cherry picked from commit 145f71182a)
Few low-hanging optimizations to improve IMF latency:
- Remove duplicate call to setImeWindowStatus when showWindow() is
called from showSoftInput() already.
- Remove redundant fancy animations preference check. IME window
animation is controlled by client.
- Cache mShowImeWithHardKeyboard early on.
- Remove rendundant removeOnComputeInternalInsetsListener() when called
from onCreate().
Refer to design doc in bug for amount of latency improvements caused by
this CL.
Bug: 167947940
Bug: 167948123
Test: atest CtsInputMethodTestCases
Change-Id: I0b0750f146634d8e90e0b0ac46e9208675626d0a
Optimized the tracing logic for the IMS information. The
InputMethodService triggers a tracing dump through the new method
triggerServiceDump, exposed by the meTracing interface. This
change was done to be able to support custom dumps from clients
and custom dumps from InputMethodService.
This change only covers the IMS information. The IMMS
information will be dumped in next changes.
Bug: 154348613
Test: start IME tracing by calling "adb shell ime tracing start"
end IME tracing by calling "adb shell ime tracing stop"
pull trace using "adb pull /data/misc/wmtrace/ime_trace_service.pb ime_trace_service.pb"
Change-Id: Icda0f82d76fb7db5b2bd8d021069b1ff15a4e15b
Having a hidden abstract method for a class that can be extended
means that public implementors cannot implement these hidden methods
posing a risk that custom implementations will not have required
abstract methods resulting in an exception.
Bug: 151134792
Test: make update-api
Change-Id: I758d12465fabc671be19bedeeceb16885de23c87
Exempt-From-Owner-Approval: large scale suppression of existing issues,
no-op in terms of behavior
Otherwise, the fullscreen IME won't cover the entire display while
there is a hidden system bar.
Fix: 168657591
Test: 1. Steps in the bug.
2. Play WindowInsetsTests with combinations of system bar
visibilities, navigation mode, screen orientation, and display
cutout.
Change-Id: I6e7d665c55839dfbb14c8d2e5365537416f5f6c6
These are APIs that have @UnsupportedAppUsage but for which we don't
have any evidence of them currently being used, so should be safe to
remove from the unsupported list.
Bug: 170729553
Test: Treehugger
Merged-In: I626caf7c1fe46c5ab1f39c2895b42a34319f771a
Change-Id: I54e5ecd11e76ca1de3c5893e3a98b0108e735413
Add methods to trace.
Refer to design doc in bug.
Bug: 167947940
Test: atest ImePerfTests and also refer to README.md
Change-Id: I423e4f3f9253707d9b6d3d5a2dee260f872b879f
- Instead of using the whole IME frame, we should only exclude the
left and right regions for excluding the back gesture (the intention
of the original change), otherwise the full IME frame will exclude
the bottom gesture area which is respected by Launcher to prevent
quickswitch.
Bug: 171501996
Test: Dump exclusion rects received by SysUI with normal IME (only edges)
floating IME (no exclusion requested) and extract mode (only edges)
Change-Id: Id8e01d56190f8fafdc2da1cf95203e597acdb970
Merged-In: Id8e01d56190f8fafdc2da1cf95203e597acdb970
(cherry picked from commit 72e6319254)
These are APIs that have @UnsupportedAppUsage but for which we don't
have any evidence of them currently being used, so should be safe to
remove from the unsupported list.
Bug: 170729553
Test: Treehugger
Merged-In: I8285daa8530260251ecad6f3f38f98e263629ca7
Change-Id: I626caf7c1fe46c5ab1f39c2895b42a34319f771a
- Instead of using the whole IME frame, we should only exclude the
left and right regions for excluding the back gesture (the intention
of the original change), otherwise the full IME frame will exclude
the bottom gesture area which is respected by Launcher to prevent
quickswitch.
Bug: 171501996
Test: Dump exclusion rects received by SysUI with normal IME (only edges)
floating IME (no exclusion requested) and extract mode (only edges)
Change-Id: Id8e01d56190f8fafdc2da1cf95203e597acdb970
These are APIs that have @UnsupportedAppUsage but for which we don't
have any evidence of them currently being used, so should be safe to
remove from the unsupported list.
This is a resubmit of ag/12929664 with some APIs excluded that caused
test failures; see bugs 171886397, 171888296, 171864568.
APIs excluded:
Landroid/bluetooth/le/ScanRecord;->parseFromBytes([B)Landroid/bluetooth/le/ScanRecord;
Landroid/os/Process;->myPpid()I
Landroid/os/SharedMemory;->getFd()I
Landroid/hardware/input/InputManager;->INJECT_INPUT_EVENT_MODE_WAIT_FOR_FINISH:I
Bug: 170729553
Test: Treehugger
Change-Id: I8285daa8530260251ecad6f3f38f98e263629ca7
These are APIs that have @UnsupportedAppUsage but for which we don't
have any evidence of them currently being used, so should be safe to
remove from the unsupported list.
Bug: 170729553
Test: Treehugger
Change-Id: I4c8fd0006f950de9955242e93968fb0996ceb372
This reverts commit 3cd311415b.
Reason for revert: The CL causes the regression b/170474494
And it also makes status bar color incorrect while
FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS is cleared
Fix: 170474494
Change-Id: I26bed08456197721d07f2fab563be0c54e43efd2
(cherry picked from commit 427bdc1c86)
This reverts commit 3cd311415b.
Reason for revert: The CL causes the regression b/170474494
And it also makes status bar color incorrect while
FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS is cleared
Fix: 170474494
Change-Id: I26bed08456197721d07f2fab563be0c54e43efd2
Improve latency of IME tracing by increasing the priority of the
tracing thread and adding the dump of the debugging information
at the beginning of the execution queue.
The Design Doc for IME tracing is found here: go/ime-tracing
Bug: 154348613
Test: start trace by calling "adb shell ime tracing start"
end trace by calling "adb shell ime tracing stop"
pull trace using "adb pull /data/misc/wmtrace/ime_trace.pb ime_trace.pb"
Change-Id: I153ccac6d8b93f86f3180b0a23240c6a63758ed6
This CL implements a mechanism to dump InputMethodService and IME
related server states into a proto file which can later be imported
to Winscope to allow easy debugging.
The Design Doc for the IME tracing project is: go/ime-tracing
Bug: 154348613
Test: start trace by calling "adb shell ime tracing start"
end trace by calling "adb shell ime tracing stop"
pull trace using "adb pull /data/misc/wmtrace/ime_trace.pb ime_trace.pb"
Change-Id: Icbfb8c11e882f29eb45dea9d4c23315c48e9d619
1. So that the IME position won't be affected by the status bar
position.
2. When status bar is hidden, the fullscreen IME can fill the status bar
area.
Since IME can be behind status bar now, we set the status bar color to
be transparent, so that there won't be a visible color view at the
status bar area.
Fix: 168657591
Test: 1. Steps in the bug.
2. Play WindowInsetsTests with combinations of system bar
visibilities, navigation mode, screen orientation, and display
cutout.
3. Show/hide status bar while IME is visible, and see if there is
any flicker.
Change-Id: Ia133a62cfa98c47c0d3f8d118947a18246dd8d4f
This CL also refines the color view logic which checks the system bar
appearance instead of system UI flags.
Bug: 149813814
Test: atest InsetsAnimationControlImplTest InsetsControllerTest
InsetsStateTest InsetsPolicyTest InsetsStateControllerTest
Change-Id: I26d93b3508c84e436133085bd316ade54d00d76a
Revert "Snap for 6792834 from 5b681187dce32555f398c1b823b82be3a4..."
Revert "Snap for 6792834 from ff268453a3067874ebba3646e8e9fdbc04..."
Revert "Snap for 6792834 from 035f3eaa19b160a5f89cf5ba1328de6e34..."
Revert "Snap for 6792834 from 38626f86b924625d27d752950ce04045e6..."
Revert "Snap for 6792834 from a2cb05379b86f00033bd19912e1d6031f6..."
Revert "Snap for 6792834 from f1e69b45bde30a055d37260012df8e951b..."
Revert "Snap for 6792834 from 9215e252c9daaad53a18582afe5478eb6c..."
Revert "Snap for 6792834 from c9d246d88c86368fddcaa9f58d6eec740f..."
Revert "Snap for 6792834 from f0ebc39aedd8f83938f5053e87b1f42331..."
Revert "Snap for 6792834 from d6d5105b22925ff168be784af9fb044fdd..."
Revert "Snap for 6792834 from e8dc6bf8735df45be9eb7867921243d83d..."
Revert "Snap for 6792834 from de2e193ad770855a0cdc7b96d91a13929b..."
Revert "Snap for 6792834 from 5e0116a4a17307df9c303b1ea4f8857dc7..."
Revert "Snap for 6792834 from 1529174442dc31e0036c58fba7a90184ee..."
Revert "Snap for 6792834 from 14f7794f2150fc246f5c5003dc4d953019..."
Revert "Snap for 6792834 from 1a8f386df1be8e4692c00dda348f4addfb..."
Revert "Snap for 6792834 from d5d749da0ba5e53684535fae5eb76c085f..."
Revert "Snap for 6792834 from bc7dc6f5c75789d25879762854a071bd1b..."
Revert "Snap for 6792834 from d5031fd6172a4ee4a774ca7ad3df331300..."
Revert "Snap for 6792834 from bdbd076341f75ed0416f4cda0a98fc6f54..."
Revert "Snap for 6792834 from 201eaa68fcc0781df6f7713901fd5a0862..."
Revert "Snap for 6792834 from 7fcd3459496d859d2d03dcd23d9d5db563..."
Revert "Snap for 6792834 from 82eecc9b3c895d356fca70f4b8def94600..."
Revert "Snap for 6792834 from 95c6fcdbcd91cf6e409f8e50f8d33be247..."
Revert "Snap for 6792834 from 4b73f247850059a4312525662991d73359..."
Revert submission 12462888-release-request-aa3875fd-ef4c-4f66-9a1c-b0b05058d091-for-git_main-busytown-release-6792834
Reason for revert: Bad snap due to branch misconfig.
Reverted Changes:
I950c3960b:Snap for 6792834 from de2e193ad770855a0cdc7b96d91a...
Ie6452b91a:Snap for 6792834 from c9d246d88c86368fddcaa9f58d6e...
I6b98cb766:Snap for 6792834 from 7fcd3459496d859d2d03dcd23d9d...
Ie5e19aaef:Snap for 6792834 from edbf3411d2c91f38a1a5d93b9e5b...
I35385da96:Snap for 6792834 from 4b73f247850059a4312525662991...
I1a59949e5:Snap for 6792834 from d5031fd6172a4ee4a774ca7ad3df...
I2c40ffbc2:Snap for 6792834 from f0ebc39aedd8f83938f5053e87b1...
I24c147f50:Snap for 6792834 from ff268453a3067874ebba3646e8e9...
Iabb2fe4c1:Snap for 6792834 from 5e0116a4a17307df9c303b1ea4f8...
I92bfbb5d5:Snap for 6792834 from 0ad493cce4f8f187dc37671b45d5...
I2e92b2d5d:Snap for 6792834 from f1e69b45bde30a055d37260012df...
I0fdb356fa:Snap for 6792834 from a2cb05379b86f00033bd19912e1d...
I9b19f9bdc:Snap for 6792834 from 95c6fcdbcd91cf6e409f8e50f8d3...
Ie88e387a6:Snap for 6792834 from 9215e252c9daaad53a18582afe54...
Idc1ae35dd:Snap for 6792834 from 201eaa68fcc0781df6f7713901fd...
Ib16deadd9:Snap for 6792834 from 1a8f386df1be8e4692c00dda348f...
I744f889d3:Snap for 6792834 from d5d749da0ba5e53684535fae5eb7...
Ib6e060e44:Snap for 6792834 from bdbd076341f75ed0416f4cda0a98...
Iab587ff78:Snap for 6792834 from e8dc6bf8735df45be9eb78679212...
Ia1f4ef82f:Snap for 6792834 from 14f7794f2150fc246f5c5003dc4d...
Ief930c2b5:Snap for 6792834 from 5b681187dce32555f398c1b823b8...
Ia71445b6a:Snap for 6792834 from 38626f86b924625d27d752950ce0...
Ia95c82cfc:Snap for 6792834 from 1529174442dc31e0036c58fba7a9...
If1e1b5e35:Snap for 6792834 from bc7dc6f5c75789d25879762854a0...
I98959e228:Snap for 6792834 from 1e7f83c953b7571dceabd5d7f6a2...
I321c4cb8b:Snap for 6792834 from d6d5105b22925ff168be784af9fb...
I3ed2d46ee:Snap for 6792834 from 035f3eaa19b160a5f89cf5ba1328...
Id4a7f102c:Snap for 6792834 from 82eecc9b3c895d356fca70f4b8de...
Change-Id: I4b944b89f3c581fbd67f5952d9ec413d02756abc