We first need to dispatch insets, then we can measure so we don't
need to immediately measure again.
Fixes: 210881360
Bug: 190379081
Test: Presubmit, Boots
Change-Id: Id40a083dd2e122ca71a96213e94b5bbbb45d596d
As the legacy flag SHOW_FORCED when calling showSoftInput keeps
remaining soft-keyboard visible, even though switching focus to another
application the situation still remains, unless someone calls
hideSoftInputFromWindow explicitly.
In case SHOW_FORCED flag affects the next client to keep IME visible and
hard to handle for the app developer, we introduce a platform
compatibility flag, when enabled, if the current client is leaving due
to the next focused client, in IMMS side will clear mShowForced flag when
the next client's targetSdkVersion is T or higher.
Also, deprecated SHOW_FORCED flag with updating the reason in
the documentation.
Fix: 214016041
Test: atest KeyboardVisibilityControlTest#\
testShowSoftInputWithShowForcedFlagWhenAppIsLeaving
Change-Id: I47efe5cb02ba69cbe018619e5bdc8f3995a55b4b
Otherwise the results can be quite confusing, each time we call
getSurfacePackage it returns a new SurfacePackage but after releasing
the first one all the others become invalid. This normally isn't
noticed as SurfaceControlViewHost is frequently used only in
cross process scenarios so the additional step of parcelling
can prevent this issue from occuring.
Bug: 196926363
Test: SurfaceViewSurfacePackageValidatorTest#testSurfacePackageNoFlicker
Change-Id: Id77f6daab4bb80d4d23d40d24d74b39bd694f350
This CL undoes part of [1] making removing a local variable.
[1]: Id4c85be1c0eab51f167ba00fc355386f852c424d
Test: make
Change-Id: I6b890e5536c17dd53722e2c3a781c85dd9d6bdf0
(cherry picked from commit d90033999f)
Merged-In:I6b890e5536c17dd53722e2c3a781c85dd9d6bdf0
We now allow OEMs to extend the window to cutout area in below cutout
mode, only if the cutout overlaps at most 16dp with the app windows.
- LAYOUT_IN_DISPLAY_CUTOUT_MODE_DEFUALT
- LAYOUT_IN_DISPLAY_CUTOUT_MODE_SHORT_EDGES
Bug: 218603390
Test: make
Change-Id: I8c83cde40f321de2a301b5865445ff765c824d43
When the pane title changes, the view may not be actually visible on screen.
Check parent visibility before sending a pane event.
Bug: 133131221
Test: manual check to ensure we don't receive title event, atest AccessibilityPaneTest
Change-Id: I8bad8f742cc3e8f4d906c2b6fe80a3516c900ef1
This is a follow up CL to my previous CL [1], which introduced
InputMethodManager#invalidateInput(View).
One thing I overlooked is that apps may call that API even before
InputMethodManager#mCurrentInputMethodSession,
which results in a NullPointerException.
With this CL, such a case will be gracefully fallen back into
InputMethodManager#restartInput(View)
like other cases when IMM#invalidateInput() is not available.
[1]: I3161755779080f98bcef0e47dd0c5247d8a3a256
daa6695c2e
Fix: 213350732
Test: atest CtsInputMethodTestCases:InputMethodStartInputLifecycleTest
Change-Id: I67458494b3069498a1395e3278f6a975e821e610
The java API is not consistent with the now deprecated native ASurfaceTransaction_setGeometry API. The existing functionality can be
better composed with the available API to set position, scale, transform
and crop.
Bug: 220336806
Test: presubmit
Change-Id: Ib2bf75876e2ce5e700da3085fab66218723ff54e
If a View detaches, its keep clear areas should no longer be considered
when placing a PiP.
Bug: 209577354
Test: atest KeepClearRectsTests#testIgnoreKeepClearRectsFromDetachedViews
Change-Id: I0caa74d4bef2ee157fc3f48747788e30752d09ad
- updateAboveInsetsState() now updates the entire hierarchy everytime
it is called.
- updateAboveInsetsState() also takes care of passing the local Insets
Sources to the insets-state of every children in the subtree of the
WindowContainer for which the API was called.
- addLocalInsetsSourceProvider() adds a new local InsetsSourceProvider
to the WindowContainer.
- removeLocalInsetsSourceProvider() removes a local InsetsSourceProvider
- Made InsetsSourceProvider abstract and added a
WindowContainerInsetsSourceProvider to be used instead. Eventually
all the window specific logic will be moved to WindowContainerInsets-
-SourceProvider.
Bug: 199449177
Test: atest InsetsStateControllerTest WindowContainerTests WindowManagerServiceTests
Test: atest ActivityRecordTests
Change-Id: I8d93b739df6d5f18a0d2219d9b00d96a2829746c
JankData.PREDICTION_ERROR is asserted when SF vsync calculation
is incorrect and should be attributed to SF missed frames.
Bug: 211763914
Test: SF unit tests
Change-Id: I332480ad1017c220501ed938319f8b2fbfe22826
This new attr will allow IME to specify whether they support inline suggestion with touch exploration
Fixes: 207007377
Test: atest android.view.inputmethod.InputMethodInfoTest
Change-Id: I1fa36d7fd57a9b25838d4dd48243c19630495648
Only public java choreographer API changes for small CL.
Bug: 217370454
Test: atest ChoreographerTest
Change-Id: Ibe5cecb5a6f16e2694c038cddc31d0f233741d07
Avoid using nested callback classes, move the Executor to register
function and update the Javadoc to emphasize unregister call is always
expected even when a task is already destoryed.
Bug: b/216628683
Test: atest TaskFpsCallbackTest
Change-Id: I801898d082a6eeb6a6f991e3765795a270943d42
Add a manifest flag for applications to opt-out of the new back
navigation system.
Test: atest
CtsWindowManagerDeviceTestCases: android.server.wm.BackNavigationLegacyTest
Bug: 217709328
Change-Id: I43d09a37b126e59bdb8f20bb83cf6d99e53a1e91
This is a clean up CL to our previous CL [1], which introduced an
unused @hide method
InputMethod#setCurrentShowInputToken().
Since that method has never been called, there should be no behavior
change in this CL.
[1]: Ia49e23dd077d264a58d28a7b8acffde54b7db187
bb0e2f753b
Bug: 111084606
Bug: 192412909
Test: presubmit
Change-Id: Idd607ef62c91a92006da4bf26a86338ea7224ce8
This is a clean up CL to our previous CL [1], which introduced an
unused @hide method
InputMethod#setCurrentHideInputToken().
Since that method has never been called, there should be no behavior
change in this CL.
[1]: Ia596a392eb73ae46debd097151c8c9a7edd59833
44e2ae4afc30b6a873e1536e31619db258f6cf00
Bug: 133381284
Bug: 149870112
Bug: 192412909
Test: presubmit
Change-Id: I8906360dc51ad3468b9ce4c97d477ae9bcdb2e91
These 3 options (--autofill, --contentcapture, and --tranlation)
are now available as '--dump-dumpable DUMPABLE' (where DUMPABLE is
AutofillManager, ContentCaptureManager, and UiTranslationController
respectively).
Test: adb shell am start com.android.settings && adb shell dumpsys activity com.android.settings --autofill
Test: m -j update-api
Bug: 149254050
Change-Id: Iaf9040a4afcd87d32c60e32d19aaca8e1d2c817a
- Fix handle of special args (they were not called unless the app
targeted T).
- Lazy-adds some dumpables to Activity (so the list of dumpables
is not created until dump() is called).
Test: adb shell am start com.android.settings && adb shell dumpsys activity com.android.settings --list-dumpables
Test: atest CtsAppTestCases:android.app.cts.ActivityDumpTest
Bug: 149254050
Change-Id: Id25d115d4aef8ab16ceb3d035c134c637e16dadd