Commit Graph

421 Commits

Author SHA1 Message Date
Wilson Wu
37051aef38 Make IInputMethodPrivilegedOperations to async (6/N)
-. Remove VoidResultCallback of applyImeVisibility.
   and let it be truly asynchronous.
-. Rename this method to applyImeVisibilityAsync.

Bug: 183587528
Test: atest CtsInputMethodTestCases
Change-Id: Ica564c526223d32641a2485c0c0f3490fe4bfd39
2021-04-29 16:05:05 +08:00
Yohei Yukawa
c09a657113 Merge "Make IInputMethodPrivilegedOperations to async (5/N)" into sc-dev 2021-04-29 00:45:17 +00:00
Yohei Yukawa
1d14a33860 Merge "Make IInputMethodPrivilegedOperations to async (4/N)" into sc-dev 2021-04-28 15:45:58 +00:00
Wilson Wu
e702c9d381 Make IInputMethodPrivilegedOperations to async (5/N)
-. Remove VoidResultCallback of notifyUserAction.
   and let it be truly asynchronous.
-. Rename this method to notifyUserActionAsync.

Bug: 183587528
Test: atest CtsInputMethodTestCases
Change-Id: I384fd689b6bd1d418ff5208444fbba2c1eac6f85
2021-04-28 14:40:08 +08:00
Wilson Wu
78a23141be Make IInputMethodPrivilegedOperations to async (4/N)
-. Remove VoidResultCallback of updateStatusIcon
   and let it be truly asynchronous.
-. Rename this method to updateStatusIconAsync.

Bug: 183587528
Test: atest CtsInputMethodTestCases
Change-Id: Ic7759354ec06a3293ea370ab7afe7422eb2d9356
2021-04-28 12:56:38 +08:00
Ming-Shin Lu
2c8068c98a Consolidate InputMethodManager#toggleSoftInput reliability
As previously InputMethodManager#toggleSoftInput is designed to tell
InputMethodService directly through IInputMethodSession to toggle
soft-keyboard visibility, this could be happened some unexpected IME
visibility issues that when the app calling this method in the wrong
state like the app toggling IME visibility when the app is off-screen
but unexpectedly it ends up showing soft-keyboard when the IME is in
invisible state.

To minimize the app compatibility without changing the public API
surface and reducing unexpected IME visibilty been toggled behavior
especially happens when switching the apps, changed the internal IPC
protocols to call IMMS#showSoftInput or IMMS#hideSoftInput directly
according the previous IME consumer requested visibility state,
so that in IMMS side can validate to see if the token user is
still focused and ready to toggle the IME visibility to show or hide.

As the result, we deprecated toggleSoftInput and
toggleSoftInputFromWindow to state the reason as the above, and
recommand to use showSoftInput or hideSoftInputFromWindow instead,
so that framework side no longer has to call {InputMethodSessionWrapper,
InputMethodSessionImpl}#toggleSoftInput.

Bug: 182071625
Test: m checkapi doc-comment-check-docs
Test: atest KeyboardVisibilityControlTest#testToggleSoftInput
Change-Id: I390dc029e7bcc30c200926a9bfbbbd0268a1f714
2021-04-27 01:34:12 +08:00
Wilson Wu
75f46d33c8 Merge "Make IInputMethodPrivilegedOperations to async (3/N)" into sc-dev 2021-04-22 04:50:11 +00:00
Wilson Wu
c84b3e15df Make IInputMethodPrivilegedOperations to async (3/N)
-. Remove VoidResultCallback of reportFullscreenMode
   and let it be truly asynchronous.
-. Rename this method to reportFullscreenModeAsync.

Bug: 183587528
Test: atest CtsInputMethodTestCases
Test: Manually verified as follows.
   1. Build flame-userdebug and flash it.
   2. Make sure that the screen rotation is enabled.
   3. make -j SoftKeyboard
   4. adb install -r $OUT/system/app/SoftKeyboard/SoftKeyboard.apk
   5. adb shell ime enable com.example.android.softkeyboard/.SoftKeyboard
   6. adb shell ime set com.example.android.softkeyboard/.SoftKeyboard
   7. make -j EditTextVariations
   8. adb install -r $ANDROID_TARGET_OUT_TESTCASES/EditTextVariations/arm64/EditTextVariations.apk
   9. adb shell am start -n com.android.inputmethod.tools.edittextvariations/.EditTextVariations
  10. Make sure that the device is in the landscape mode,
      and the SoftKeyboard sample IME is not yet shown.
  11. adb shell dumpsys input_method | grep mFullscreenMode
      Then make sure the mFullscreenMode is "false"
  12. Tap the first edit field then make sure that SoftKeyboard
      sample IME becomes visible in the fullscreen mode.
  13. adb shell dumpsys input_method | grep mFullscreenMode
      Then make sure the mFullscreenMode is "true"
  14. Tap the down button on the navbar to hide the SoftKeyboard
      sample IME.
  15. adb shell dumpsys input_method | grep mFullscreenMode
      Then make sure the mFullscreenMode is "false"

Change-Id: I92e8b0d420be3dd16cc4f3ba29e0bde5f12ab2ce
2021-04-20 17:46:27 +08:00
Ming-Shin Lu
c66dd0af02 Fix not invoke setImeWindowStatus when unlocked by PIN lock
CL[1] removed setImeWindowStatatus call in showSoftInput()
since showWindow() has a call.

Howerver, the call invokes only when the IME visibility has changed.
It overlooked the case that when the screen unlocked by PIN
lock, since the focused app and IME visiblity is the same, so
the setImeWindowStatus in showWindow() doesn't invoked.

When then keyguard shown, IMMS side will invoke updateSystemUiLocked to
update navbar icon as invisible, so after the user unlocked, user won't
see the navbar icon set visible back.

As the result, we still need setImeWindowStatus called in showSoftInput
to fix this case.

[1]: I0b0750f146634d8e90e0b0ac46e9208675626d0a

Fix: 181294561
Test: manual as below steps:
  0) setup PIN lock for the device
  1) launch an app (e.g. Messaging) and show IME
  2) turn-off the screen and unlock the screen with PIN
  3) verify if the keyboard is visible and the navbar icon is visible
Change-Id: I168fda76c1c7bdcabe94f7c2550c6b5c7c41e5e0
2021-04-19 13:06:35 +00:00
Wilson Wu
738468ba17 Make IInputMethodPrivilegedOperations to async (2/N)
-. Remove VoidResultCallback of reportStartInput
   and let it be truly asynchronous.
-. Rename this method to reportStartInputAsync.

Bug: 183587528
Test: atest CtsInputMethodTestCases
Change-Id: Ic8e7f888f78f7c536a9228db02a8b355555d7220
2021-04-15 19:02:53 +08:00
Wilson Wu
889e3d63bb Merge "Make IInputMethodPrivilegedOperations to async (1/N)" into sc-dev 2021-03-31 10:17:25 +00:00
Taran Singh
71ab752fc5 Avoid IME restart for configChanges
Handle onConfigurationChanged() in order to prevent restarting
InputMethodService everytime. We introduce a new API attribute
"configChanges" in InputMethod(attrs.xml) which when declared
by IME, will be responsible for handling mentioned
configuration changes.

This CL re-introduces [1] with fix: Use new Configuration instance for
IMS#mLastKnownConfig and also handle followup comments.

[1] Ib94fddadb0dae648cf73a4c1642e51edebd19f50

Note: this change has no impact for devices not using DisplayAreas.

Bug: 167948419
Test: atest InputMethodServiceTest
    Manually:
      1. Patch Ie91e7a8e06b80864ef9409031e8543858552d70d to use dual
         display area.
      2. Open applications with editors on both display areas.
      3. Attach a debug point for IMS#onConfigurationChanged().
      4. Make sure IMS#resetStateForNewConfiguration() is not called
         when IME moves between these two identical DisplayAreas
    Also verify that bug 182604598 don't happen.

Change-Id: I43b6b80cdb35410554412ee1d3b0917ee3198272
2021-03-30 20:03:55 +00:00
Wilson Wu
1b8593fdfe Make IInputMethodPrivilegedOperations to async (1/N)
-. Remove VoidResultCallback of setImeWindowStatus
   and let it be asynchronous.
-. Rename function naming to setImeWindowStatusAsync.

Bug: 183587528
Test: atest CtsInputMethodTestCases
Change-Id: Ia9f19ca5ae418089ce43816dcd50487e1b1172f1
2021-03-29 11:53:42 +08:00
Yohei Yukawa
1e7d125662 Revert "Avoid IME restart for configChanges"
Revert "Add cts for InputMethodService configChanges"

Revert submission 13727407-167948419

Reason for revert:
Possible root cause of Bug 182604598.

Reverted Changes:
Ib94fddadb:Avoid IME restart for configChanges
Ieca327b2e:Add cts for InputMethodService configChanges

Bug: 167948419
Bug: 182604598
Test: presubmit
Change-Id: I3accc55ac65d0e2ec30c3f6023680fda27ad3e97
2021-03-13 01:08:48 +00:00
Taran Singh
9a2eed9f49 Avoid IME restart for configChanges
Handle onConfigurationChanged() in order to prevent restarting
InputMethodService everytime. We introduce a new API attribute
"configChanges" in InputMethod(attrs.xml) which when declared
by IME, will be responsible for handling mentioned
configuration changes.

This CL re-introduces [1] with fix: Use new Configuration instance for
IMS#mLastKnownConfig

[1] Iff88b768c6b06cf5cf1fe9e97ee97f8f78e6f0bd

Bug: 167948419
Test: atest InputMethodServiceTest
    Manually:
      1. Patch Ie91e7a8e06b80864ef9409031e8543858552d70d to use dual
         display area.
      2. Open applications with editors on both display areas.
      3. Attach a debug point for IMS#onConfigurationChanged().
      4. Make sure IMS#resetStateForNewConfiguration() is not called
         when IME moves between these two identical DisplayAreas

Change-Id: Ib94fddadb0dae648cf73a4c1642e51edebd19f50
2021-03-10 08:22:42 +00:00
Taran Singh
712fc24a34 Revert "Avoid IME restart for configChanges"
Revert "Add cts for InputMethodService configChanges"

Revert submission 13417792-b/167948419

Reason for revert: Causes bugs like b/181195100
Reverted Changes:
Iff88b768c:Avoid IME restart for configChanges
Ib7ce13340:Add cts for InputMethodService configChanges

Bug: 167948419
Fix: 181195100
Change-Id: I36bca545b09b4f870560964ec61fa6bb344fceaf
2021-03-01 18:28:10 +00:00
Taran Singh
d6f8a1ada1 Avoid IME restart for configChanges
Handle onConfigurationChanged() in order to prevent restarting
InputMethodService everytime. We introduce a new API attribute
"configChanges" in InputMethod(attrs.xml) which when declared
by IME, will be responsible for handling mentioned
configuration changes.

Bug: 167948419
Test: atest InputMethodServiceTest
    Manually:
      1. Patch Ie91e7a8e06b80864ef9409031e8543858552d70d to use dual
         display area.
      2. Open applications with editors on both display areas.
      3. Attach a debug point for IMS#onConfigurationChanged().
      4. Make sure IMS#resetStateForNewConfiguration() is not called
         when IME moves between these two identical DisplayAreas

Change-Id: Iff88b768c6b06cf5cf1fe9e97ee97f8f78e6f0bd
2021-02-18 18:22:27 +00:00
TreeHugger Robot
4b0a9bd7dd Merge "Make EditorInfo.internalImeOptions parcelable." into sc-dev 2021-02-06 04:53:22 +00:00
Treehugger Robot
3ae343dfd8 Merge "OWNERS for InlineSuggestion* in view/inputmethod" am: 2745c788a0 am: a42ad625ac am: a13d5a3cba
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1562186

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I3a018097be211007dc599da7eaee41250f4b58b9
2021-02-04 01:11:37 +00:00
Treehugger Robot
a13d5a3cba Merge "OWNERS for InlineSuggestion* in view/inputmethod" am: 2745c788a0 am: a42ad625ac
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1562186

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I2c009ee37657466cc94974af0331d922aa413279
2021-02-04 00:40:33 +00:00
Ahaan Ugale
4aa50a2f0f OWNERS for InlineSuggestion* in view/inputmethod
Change-Id: I4eec1c36afeb563ff050e0d0ee570cdeea80916f
2021-02-02 18:38:42 +00:00
Taran Singh
2b4bd4c6fb Make EditorInfo.internalImeOptions parcelable.
Followup to I5a5e73e1dec776665f28a7e2eb091b555198001b.
internalImeOptions field should be parcelable.

Fix: 157870379
Test: Manually using steps in bug
Change-Id: I12b442b8b2d8cf83aa4cc789133b42251ad2c191
2021-01-29 16:29:04 +00:00
Taran Singh
533596c71d Retain IME surface with a timeout
As of today, IME surface is removed immidiately after its hidden.
This causes IME surface to be recreated when next time its requested,
which takes noticeable amount of time ~30ms on a typical phone [1]
In order to improve IME latency, we keep the surface in memory a little
longer.
This is ideal for use cases where IME has to move between DisplayAreas
OR when IME is closed only briefly.
While there could be other strategies to hold IME surface in memory,
timeout is simplistic and is also unaffected by IMF lifecycle, which
could vary when moving between DisplayAreas or Displays.

Bug: 167948419
Bug: 167948123
Test: atest CtsInputMethodTestCases

[1] refer design doc in bug 167947940

Change-Id: Ib062640b68164efbb647e7bf27b7f8eb5ed252dc
2021-01-12 18:58:44 +00:00
Taran Singh
dc211bfac3 Prevent Fullscreen IME when app is in portrait.
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
2020-12-21 05:57:47 -08:00
Jeff Sharkey
0ab7007631 resolve merge conflicts of 358f0d4fc8 to master
Bug: 174932174
Test: I solemnly swear I tested this conflict resolution.
Exempt-From-Owner-Approval: refactoring with team leads buy-in
Change-Id: I9262a08ffc1ccede8e519d0eed90ed2bfcf0232c
2020-12-08 11:01:05 -07:00
Jeff Sharkey
358f0d4fc8 Merge changes from topic "dec5" am: c2793cf12b am: 9af6ac78b0
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1519384

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I2776a545a24f007ccb4b9ee14705978571265ef3
2020-12-08 16:43:19 +00:00
Jeff Sharkey
9af6ac78b0 Merge changes from topic "dec5" am: c2793cf12b
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1519384

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: Ifdc390f5ae046c515a30158f3f55b831be147547
2020-12-08 16:05:11 +00:00
Jeff Sharkey
52b9862f87 Improve OWNERS coverage across frameworks/base/.
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
2020-12-08 08:36:28 -07:00
Xin Li
8836e88707 DO NOT MERGE - Merge RQ1A.201205.011
Bug: 172690556
Merged-In: I26bed08456197721d07f2fab563be0c54e43efd2
Change-Id: Ic1ac100efa50687ccfcbb87ee91a57703105afad
2020-12-07 00:39:42 -08:00
Ming-Shin Lu
4ba8484ffb Revert "Revert "Let IME#onFinishInput called without dup onStart..."
Revert^2 "Verify lifecycle test when screen on/off"

c2769e41ea17d7f0d261396d28ddde3563422701

Reason: Fix forward Bug 174512702 and Bug 174445559
        with CL[1].

CL[1]: Icf1504d40b25fc5f53eae65d4bab48a3070db1d6

Change-Id: Id4e71a822bfde5fe6a263bbe094c0d238017efe1
2020-12-04 11:40:20 +08:00
Jeff DeCew
13fa153e25 Merge "Revert "Let IME#onFinishInput called without dup onStartInput wh..."" 2020-12-04 01:02:15 +00:00
Jeff DeCew
3d62f739a8 Revert "Let IME#onFinishInput called without dup onStartInput wh..."
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
2020-12-03 19:13:34 +00:00
TreeHugger Robot
9203d45c5b Merge "Measure and optimize IMF latency 6/n" 2020-12-03 16:38:38 +00:00
Ioana Stefan
0653b692d1 Add InputConnection app and service dump
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
2020-12-02 14:08:04 +00:00
Xin Li
d31ee38811 Merge rvc-qpr-dev-plus-aosp-without-vendor@6881855
Bug: 172690556
Merged-In: I78222391b83a4add8e964340ec08bb8a1306e1c6
Change-Id: I28bbf40820674675ccf765c912aa8140d3f74ab2
2020-12-02 00:38:58 -08:00
TreeHugger Robot
a0b6a8dbd8 Merge changes I48be0250,I58634142
* changes:
  Measure IMF latency 5/n
  Measure IMF latency 4/n
2020-12-01 19:10:15 +00:00
Ming-Shin Lu
152eacec4f Let IME#onFinishInput called without dup onStartInput when screen-off
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
2020-11-25 23:32:49 +08:00
Taran Singh
d663b62186 Measure IMF latency 4/n
Add more traces to measure cold IMF startup.

Bug: 167947940
Test: atest ImePerfTests

Change-Id: I586341426916f9b9e0f1efe988894621972da4ff
2020-11-18 17:09:24 -08:00
Tiger Huang
4b1cbf3844 Merge "Do let IME fit invisible insets" into rvc-qpr-dev am: edf2036691
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/13070507

Change-Id: I9d087f60cd3244b763812895e33d110db8e559fc
2020-11-18 06:17:24 +00:00
Ioana Stefan
06f759835a Merge changes from topics "ime-tracing-interface", "optimized-ime-tracing-clients", "optimized-ime-tracing-imms", "optimized-ime-tracing-ims"
* 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
2020-11-17 15:18:30 +00:00
Tiger Huang
604b284349 Do let IME fit invisible insets
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)
2020-11-17 22:38:26 +08:00
Tiger Huang
f9125afce0 Merge "Do let IME fit invisible insets" 2020-11-17 14:19:38 +00:00
Taran Singh
a2b45708ef Measure and optimize IMF latency 6/n
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
2020-11-13 13:31:20 -08:00
Ioana Stefan
8418bef70a Optimized workflow for IME tracing on InputMethodService side
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
2020-11-13 12:29:25 +00:00
Aurimas Liutikas
796760c56e Suppress all hidden abstract methods in constructable classes.
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
2020-11-11 23:16:32 +00:00
Tiger Huang
145f71182a Do let IME fit invisible insets
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
2020-11-08 19:12:36 +08:00
Mathew Inwood
5d123b6775 Add maxTargetSdk restriction to unused APIs.
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
2020-11-04 09:45:53 +00:00
Taran Singh
5c61eefbaf Measure baseline IMF latency (2/n)
Add methods to trace.
Refer to design doc in bug.

Bug: 167947940
Test: atest ImePerfTests and also refer to README.md
Change-Id: I423e4f3f9253707d9b6d3d5a2dee260f872b879f
2020-11-03 12:42:54 -08:00
TreeHugger Robot
0815de7ab6 Merge "Only use system gesture insets for exclusion rects with root ime view" into rvc-qpr-dev am: 68349e8aaf
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/12950872

Change-Id: I33e6ab4c4e4320b8e5e6d938d364d969ed5179fe
2020-11-03 20:06:09 +00:00
Winson Chung
3f5b1ef5c1 Only use system gesture insets for exclusion rects with root ime view
- 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)
2020-11-03 18:04:38 +00:00