To support non-rectangular visible area for windows, add new APIs
about RegionInScreen in A11yWindowInfo to represent the actual
interact-able area of a window.
Bug: 132146558
Test: a11y CTS & unit tests
Change-Id: I86bb6bc8c567e09f01a3f853a3cffd896ce934c8
When the WindowManager lock is contended, reportSystemGestureExclusionChanged can cause
jank. Making it oneway avoids this.
Fixes: 137650591
Test: make droid
Change-Id: I5d96b7e2225745b146014ad11cafaf0ad9a1b734
Returns visible if device enables magnification and node is visible
but outside of magnified area.
Bug: 79162853
Bug: 79531479
Test: atest AccessibilityMagnificationTest
Change-Id: I481bd5c3d73d01c0cd8b3e0ebd7a1584c9ae7064
This mechanically reverts making MULTI_CLIEN_IME_ENABLED
testable originally introduced in [1].
CTS tests can check for FEATURE_INPUT_METHODS instead.
FEATURE_INPUT_METHODS is false for Android auto and true for
devices that support installable IMEs.
[1] Id7b4dceb2dbfaf3d7ed1084957dd14b04cad0cdf
Bug: 137203665
Test: Manually built and verified that it builds.
Change-Id: I6e430458dd05dec363f67b62416d424c395f2d5a
PER_PROFILE_IME_ENABLED is default enabled in Q. We no longer need this
property.
Bug: 135775619
Test: atest CtsInputMethodTestCases CtsInputMethodServiceHostTestCases
Change-Id: Ia957118fabc2dd794cb4f5018692b8548b85233a
Sys UI runs on user 0. This can lead to the TextClassifier (TC)
running for the wrong user. Consequencies are user A can launch apps
in user B via the TC's predicted actions and selected text being
unintentionally shared from user A to an app running in user B.
This fix ensures that the correct user id is passed and verified for
every TC request going across process boundaries (i.e. via SystemTC).
- Sys UI sets the appropriate user id in the TextView
- TextClassificationManager (TCM) system service is constructed using
a context generated from this user id
- SystemTC sets this user id before querying the TCMService
- TCMService validates the user id before forwarding the request to
the TCService belonging to that user id.
Bug: 136483597
Test: atest android.view.textclassifier
atest android.widget.TextViewActivityTest
(manual) Verified according to steps in bug 123232892
Change-Id: I2fdffd8eb4221782cb1f34d2ddbe41dd3d36595c
fromIndex is inclusive, so it should be startIndex +1.
This bug is fixed in our new logging APIs, but to those who
is still using the old pipeline, e.g: webview, will hit the issue.
Fixes: 136805228
Test: Enable verbose logging, try to select something in webview,
observe that the version number is logged.
Test: atest SmartSelectionEventTrackerTest
Change-Id: I7e8212d9be9684b9988634cf30043765dd8afe38
For backward compatibility, SurfaceView ignores alpha value by
default. In order to reflect alpha value set on the SurfaceView
to its underlying surface, setUseAlpha() needs to be called.
Translucent alpha only works when the surface is placed z-above.
Otherwise only fully opaque and transparent status are supported.
Bug: 130442248
Test: Manual, use BubblesTest app and checks if alpha is set.
Change-Id: I86847de59109b2adf12a2c7c50c988c2cbcf0450
In Q, these APIs were either:
- removed from the greylist entirely without good reason
- Moved to the restricted greylist without any public alternative
information added
So they are being moved back to the greylist for Q.
Test: Treehugger
Bug: 136102585
Change-Id: Ie3dd15c8e17d530d853473a013717e6175383080
For purposes of parcelling SurfaceControl to embed view hierarchies across
processes. We also want these Surfaces to receive input, but we can't
let the clients call setInputWindowInfo directly (or we could have issues
with clients stealing focus, etc...) and so we provide a method
blessInputSurface which has the WM configure a surface for input with
a minimal and safe set of parameters.
Test: WindowlessWmTests
Bug: 111373437
Bug: 134365580
Change-Id: I45fde62ba9b810e783d62c4dd5442abd038734d5
Currently when calling attachAndQueueBuffer, the color space information is
lost. This results in color shift if the color space doesn't match the color
space of the surface.
BUG: b/135002842, b/131928312
Test: boot. Manually verified on P19
Change-Id: I95ec73c24942f79197d25ee85f139b2aaf805677
Holding on to a reference of the handle in Java will keep the server-side surface alive until
the reference is removed by GC. This may cause surfaces to be kept alive longer than necessary.
Instead hold on the surface control and call SurfaceControl#release which will release the local
reference to the server-side surface.
Bug: 136004147
Test: go/wm-smoke
Change-Id: Iff7d48ae1593cea2e188aa07c417f4c5a98887d5
Holding on to a reference of the handle in Java will keep the server-side surface alive until
the reference is removed by GC. This may cause surfaces to be kept alive longer than necessary.
Instead hold on the surface control and call SurfaceControl#release which will release the local
reference to the server-side surface.
Bug: 136004147
Test: go/wm-smoke
Test: gesture nav sanity tests
Test: atest CompositionSamplingListenerTest
Change-Id: Iab33680746c8f48c28783e6a2a13c9ac7ae04980
Updated all callers of SC.remove to use Transaction.remove(sc) and apply
immediately since that's the equivalent. Eventually, the transactions
that contain remove could combine with other transactions if it makes
sense to avoid duplicate applies.
Test: SurfaceControlTest
Change-Id: I13c6ec86de6a6d60f142c2269337557510dd006d
... as throwing an exception in there somehow will mess up the
hwui task queue.
Test: Have a crashy app, swipe up while the app is crashing
Fixes: 134583193
Change-Id: Ie3ba5f991759f807b154f55f9fc816e7efe2fdfe