Previously setColorMode must be called before view is set, and has no effect
after that. The state of WCG on Android when this patch was written, was that
most hardware out there can not handle mixed color spaces composition well
which results in GPU composition. And this situation will remain true for a
long time.
Despite photography applications want to have WCG, it's a power cost especially
during video playback. In order to mitigate this fact and the desire to move
the ecosystem forward in WCG, we make setColorMode togglable such that in the
next app vsync, when color mode is changed we issue a surface update which
results in the old EGLSurface or VkSurface being destroyed and new EGLSurface
or VkSurface being created with the target color space being set. As a result,
applications can now togglable WCG on/off.
BUG: 120288123
Test: Build, flash and boot. Verify with SurfaceFlinger dumpsys on demo app.
Change-Id: I09bf8c380a01f4dde364873d37b248cedc6ccfd3
We have defined the same constant twice. Let's move it to
ViewConfiguration to avoid redundancy.
Test: build only
Bug: 123368517
Change-Id: I2ac765a85ccd71584429edc693d3ef33b2515c9d
Each ContentCaptureManager has a MainContentCaptureSession associated with, and the main session
has a mDisabled state that's set to true when it failed to start (for example, because there's no
service associated with the user). Both objects used to share a common AtomicBoolean for the
disabled state, but a recent refactoring split then in a way that the manager's mDisabled was never
updated.
Test: atest ChildlessActivityTest#testGetContentCapture_enabledWhenNoService
Test: atest CtsContentCaptureServiceTestCases # sanityCheck
Bug: 123579223
Bug: 123307965
Bug: 123658889
Change-Id: Ib1f08f23721f208b28d0f339f39b21262b55e30d
Currently, Chrome is using this flag via reflection.
Let's allow developers to use this flag.
Fixes: 120487602
Test: presubmit only
Change-Id: Id28bd1f2cb862bb49f27758a4948f197bba124e2
This reverts commit 139c77763b.
Reason: Device gets put into GL comp pretty much all the time,
trashing performance and battery.
Bug: 123686354
Bug: 122561221
Change-Id: Icf658f331c407d03e844557cc2531c034aa38083
Exempt-From-Owner-Approval: Simple revert
Also remove the restriction of extractNativeLibs.
Test: build, (new) CTS in progress
Bug: 112037137
Change-Id: If0ad13b0d63b288c2da3a82b911d8dad0db8c07a
This logs a "view" event for the translate action *once* for each
selection session that involves a foreign language. It logs a "click"
action when the translate action is clicked.
The logged action index will give an indication of whether the translate
action was the primary action (index 0) and thus immediately visible to the
user or whether it was one of the secondary actions (index > 0) and
possibly in the selection toolbar's overflow.
Bug: 123414932
Bug: 120837847
Test: atest core/tests/coretests/src/android/view/textclassifier
Test: atest cts/tests/tests/view/src/android/view/textclassifier
Test: atest android.widget.TextViewTest
Test: atest android.widget.cts.TextViewTest
Test: (MANUAL):
1. Ensure device has an app that supports Intent.ACTION_TRANSLATE
2. Run the following command on the shell: adb logcat -c "TCEventTronLogger"
3. Select some foreign lanugage text in a TextView
4. Click on "Translate" item on the toolbar
5. Observe that the device logs a "view" and a "click" event
6. Repeat 3
7. Click on a different menu item, e.g. "Copy"
8. Observe that the device logs only a "view" event
Change-Id: I36f32459c577cf8f8bcf1e65960c4e6d7ffa5e01
The bitmap.createHardwareBitmap doesn't take a ColorSpace as input, as a result
the returned bitmap is always in SRGB color space. Given that we want to remove
the assumption of SRGB color space, we replace the usage of
createHardwareBitmap with wrapHardwareBuffer which takes an extra argument
ColorSpace. As a result, we will be able to also fix SurfaceControl and various
other places that use screenshot in follow up patches.
BUG: 120904891
Test: CtsUiRenderingTestCases
Change-Id: I57fc0c85d68df43b0e69f9a1ebac00d2ba39554d
Add ability for developers to check which layout file did a given
View was inflated from.
Bug: 111439551
Test: atest CtsViewTestCases:android.view.cts.ViewSourceLayoutTest
Change-Id: I0f2981648629d74fd576687a54a31b00cd636976
Add a hidden API, getDisplayNativePrimaries(), used to get the
coordinates of a display's native color primaries.
At this time, the implementation of this API supports only a single
internal panel.
Bug: 123104704
Change-Id: Ie8910f34a59fa6d50b526ddb5ce799d5de82857b
Change-related variables are null when not changing, thus
we need to check for that before trying to write them to proto
Bug: 123538318
Test: ActivityLifecycleTopResumedStateTests#testTopPositionLostOnFinish
passes
Change-Id: I643c48621602b5203f7f64a9af0578273f115dbe
Previously when we sent the Surface to the client (as opposed to
the SurfaceControl) Surface::readFromParcel would take care of reusing
the object if the underlying IGBP had not changed. Now that we send
the SC and copy it in to the Surface, we need to add similar logic
in Surface::copyFrom.
Bug: 122588130, 122659537
Test: Manual
Change-Id: Id0c8e61a9aff9b3c37b2a783717c15df3b36f175
We want to be able to control at a fine grained level whether precompiled
layouts are enabled so we can compare inflation results with and without. This
changes adds a @TestApi method that supports this.
Bug: 111895153
Change-Id: Ib6b62d79a9ca7aefefff8639752aa5838e491038
The goal is to eliminate the latency caused by forwarding the event.
In this CL, we put an input portal window behind an ActivityView, and
subtract the touchable region of the the ActivityView, so that the user
can touch through the portal window, and let the touch arrive on the
embedded activity.
Bug: 120675821
Test: Manual test with ActivityViewTest
Test: atest CtsActivityManagerDeviceTestCases:ActivityViewTest
Change-Id: I6776387b65cf6a7d2ea60cb00ffdd38be22081ac
WindowContainers surfaces will never have a buffer so change them to be
container layers to avoid confusion on the buffer count in
SurfaceFlinger.
Also restrict SurfaceControl Builder to set a single surface type to
avoid confusion.
Test: go/wm-smoke
Bug: 122561221
Change-Id: I26b5810675ef3a3cc1a33533b6afcb0d0489d5ba
Here's the current code:
mHandler.sendMessage(obtainMessage(ContentCaptureManager::handleGetComponentName, this, resultReceiver));
return resultReceiver.getParcelableResult();
That code posts a message to a handler, than blocks waiting for the result. It used to work fine,
but now it deadlocks because the handler is also running in the UI thread.
The solution is to not use the handler anymore, at least for these non-session related methods.
Test: atest BlankActivityTest#testGetServiceComponentName_onUi
Fixes: 123521559
Change-Id: I774dc6338f685d185447cd61da31bcc63b085996