OSDN Git Service
Todd Poynor [Sat, 26 Aug 2017 07:53:06 +0000 (00:53 -0700)]
thermalservice: don't register IThermalCallback service
This service is only to be registered with IThermal 1.1 HALs via a
registration method, not for lookup via hwservicemanager.
Bug:
64986538
Bug:
30982366
Test: manual on w
Change-Id: I2c14a454dd4446267529f2e1cbf99ff23fbd1737
Siarhei Vishniakou [Fri, 25 Aug 2017 03:36:28 +0000 (20:36 -0700)]
Ensure history has pointer id of interest.
When two events with different pointer id's end up
next to each other in touch history, then crash may
occur by trying to access the data associated with
the second to last pointer id by using the last event's
pointer id.
Test: monkey testing on sailfish
Command: adb shell monkey -p com.google.android.deskclock -p
com.android.calculator2 -p com.google.android.contacts -p
com.android.launcher -p com.google.android.launcher -p com.android.mms
-p com.google.android.apps.messaging -p com.android.phone -p
com.google.android.dialer -p com.android.providers.downloads.ui -p
com.android.settings -p com.google.android.calendar -p
com.google.android.GoogleCamera -p com.google.android.apps.photos -p
com.google.android.gms -p com.google.android.setupwizard -p
com.google.android.googlequicksearchbox -p
com.google.android.packageinstaller -p
com.google.android.apps.nexuslauncher -c
android.intent.category.LAUNCHER --ignore-security-exceptions
--monitor-native-crashes -s 611 -v -v -v 125000
Native tests will be added later.
Fixes:
65012433
Change-Id: I560a54d7f59a8892adfad3a54db9c436e4089343
Lajos Molnar [Thu, 24 Aug 2017 21:48:43 +0000 (14:48 -0700)]
omx: fix constrained profile support
Bug:
64691727
Change-Id: Idd4639466bc53cc2a49e31a6107209adfb250765
Siarhei Vishniakou [Mon, 12 Jun 2017 14:01:41 +0000 (15:01 +0100)]
Fix resampling logic for duplicate events.
When events with identical coordinates are
reported by the input driver, resampling can lead to
false change of direction due to extrapolation.
The added logic will compare the current event to the
previous event, and will use the previously resampled values
for the new event if the raw (as reported by the driver)
coordinates of the two events match.
This commit makes events with identical coordinates possible,
so it must be submitted together with the new impulse-based
VelocityTracker strategy commit. The currently used 2nd degree
polynomical unweighted least squares strategy cannot handle
consecutive events with identical coordinates.
Bug:
35412046
Test: Recorded bad scroll event on swordfish, and replayed
the event to reproduce this bug. To twitch is no longer observed.
Also tested common usecase scenarios on sailfish, no regressions observed.
Change-Id: Icb5cf6c76959f3514b8b94c09e38cc5434f31b23
(cherry picked from commit
0aeec07971d86c635412c672bd69d91f589a0cd9)
Merged-In: Icb5cf6c76959f3514b8b94c09e38cc5434f31b23
TreeHugger Robot [Wed, 23 Aug 2017 00:51:22 +0000 (00:51 +0000)]
Merge "Add dumpsys finish timestamp" into oc-mr1-dev
TreeHugger Robot [Tue, 22 Aug 2017 22:42:11 +0000 (22:42 +0000)]
Merge "Rename servicetool to pdx_tool" into oc-mr1-dev
Jiwen 'Steve' Cai [Mon, 21 Aug 2017 23:23:06 +0000 (16:23 -0700)]
Rename servicetool to pdx_tool
As we are planning to include the pdx diagnosis binary into Android
system image, the name of servicetool is too general to fit in. Rename
it to pdx_tool as it's quite unique, short and sufficiently descriptive
to what it actually is.
Bug:
64802424
Test: Build pdx binary, push to device and dump
Change-Id: I9b5e9094e2253e994bd4b7ec9e47af5c0b442531
TreeHugger Robot [Mon, 21 Aug 2017 23:27:00 +0000 (23:27 +0000)]
Merge "Fix VR surface attributes not being read on surface create." into oc-mr1-dev
TreeHugger Robot [Sat, 19 Aug 2017 00:12:44 +0000 (00:12 +0000)]
Merge "Clarify docs a bit" into oc-mr1-dev
John Reck [Fri, 18 Aug 2017 16:44:38 +0000 (09:44 -0700)]
Clarify docs a bit
Bug:
64394076
Test: N/A
Change-Id: I79756c90fdafc076f51097af709e1f44d60738c9
Chia-I Wu [Thu, 17 Aug 2017 23:58:18 +0000 (23:58 +0000)]
Merge "surfaceflinger: fix a nullptr dereference" into oc-dev am:
29e5fa3fda
am:
cefb8a6742
Change-Id: I6d3e51289f6a7c435523a8cb9bc6ccc677923fae
Chia-I Wu [Thu, 17 Aug 2017 23:54:07 +0000 (23:54 +0000)]
Merge "surfaceflinger: fix a nullptr dereference" into oc-dev
am:
29e5fa3fda
Change-Id: I8b183fcc791880d464847340b8024a81d9f3b498
TreeHugger Robot [Thu, 17 Aug 2017 23:35:14 +0000 (23:35 +0000)]
Merge "surfaceflinger: fix a nullptr dereference" into oc-dev
TreeHugger Robot [Thu, 17 Aug 2017 17:39:09 +0000 (17:39 +0000)]
Merge "Fix HdrCapabilities flattening" into oc-mr1-dev
TreeHugger Robot [Thu, 17 Aug 2017 03:56:30 +0000 (03:56 +0000)]
Merge "Add cpuset switching to scheduler policy mechanism." into oc-mr1-dev
Corey Tabaka [Thu, 17 Aug 2017 02:59:48 +0000 (19:59 -0700)]
Fix VR surface attributes not being read on surface create.
The API to create VR surfaces allows attributes to be passed during
creation. Attributes can also be set/unset after creation. This CL
fixes an issue where visible and z-order attributes are not honored
when passed during creation, only when set after creation. This
required redundant IPCs and confused a lot of people using this
API.
Bug:
64127728
Test: dvr_api-test
Change-Id: Ife319bcca86115ba1bd2ece0ae93f71f15c0dd0e
Corey Tabaka [Wed, 16 Aug 2017 21:52:01 +0000 (14:52 -0700)]
Add cpuset switching to scheduler policy mechanism.
Add the ability to add a cpuset to the supported scheduler policies.
This enables services that use the scheduler policy API to run in
the correct cpuset without explicitly requesting a cpuset via the
deprecated API.
Add tests to confirm the correct operation and fix flaky test due
to racing with thread.join().
Also fix log messages on performanced startup related to failure to
access /proc/<pid> directories for certain tasks: this failure is
expected due to sepolicy settings and the log spam is unnecessary.
Bug:
64337476
Test: performance_service_tests passes.
Change-Id: I8a82852e63e39fe72fa3b731e03237f3652cddc7
Jay Patel [Wed, 16 Aug 2017 21:51:09 +0000 (14:51 -0700)]
Fix HdrCapabilities flattening
Modify vector reserve() to resize() to allocate and initialize the
updated vector
Bug:
64309771
Test: n/a
Change-Id: I76fd088493327b00cca39ef67e2362e4c79314be
Siarhei Vishniakou [Wed, 16 Aug 2017 22:23:04 +0000 (22:23 +0000)]
Remove window obscurement information. am:
ff7dd3b9ea am:
f431a7cbf8 am:
3cc2b38fe3 -s ours am:
27f3e039d8 -s ours am:
2f1a072f37 -s ours am:
f5b4455491 -s ours am:
4c0b934cca -s ours am:
56618d838c -s ours am:
fd78a0345a -s ours am:
693e897408 -s ours am:
2a46ddbd61 -s ours am:
2566e4686a -s ours am:
ce50585702 -s ours
am:
14f845729b -s ours
Change-Id: I1711a931c7551918db7c247723e24edf8004ba1f
Siarhei Vishniakou [Wed, 16 Aug 2017 22:00:38 +0000 (22:00 +0000)]
Remove window obscurement information. am:
ff7dd3b9ea am:
f431a7cbf8 am:
3cc2b38fe3 -s ours am:
27f3e039d8 -s ours am:
2f1a072f37 -s ours am:
f5b4455491 -s ours am:
4c0b934cca -s ours am:
56618d838c -s ours am:
fd78a0345a -s ours am:
693e897408 -s ours am:
2a46ddbd61 -s ours am:
2566e4686a -s ours
am:
ce50585702 -s ours
Change-Id: Ifa1dac1ddb5c9ab76527f90e1ca900b79215f5da
Siarhei Vishniakou [Wed, 16 Aug 2017 21:51:09 +0000 (21:51 +0000)]
Remove window obscurement information. am:
ff7dd3b9ea am:
f431a7cbf8 am:
3cc2b38fe3 -s ours am:
27f3e039d8 -s ours am:
2f1a072f37 -s ours am:
f5b4455491 -s ours am:
4c0b934cca -s ours am:
56618d838c -s ours am:
fd78a0345a -s ours am:
693e897408 -s ours am:
2a46ddbd61 -s ours
am:
2566e4686a -s ours
Change-Id: Id8eaeb73beca2ed388f6446a2bca3048c65831fa
Siarhei Vishniakou [Wed, 16 Aug 2017 21:43:04 +0000 (21:43 +0000)]
Remove window obscurement information. am:
ff7dd3b9ea am:
f431a7cbf8 am:
3cc2b38fe3 -s ours am:
27f3e039d8 -s ours am:
2f1a072f37 -s ours am:
f5b4455491 -s ours am:
4c0b934cca -s ours am:
56618d838c -s ours am:
fd78a0345a -s ours am:
693e897408 -s ours
am:
2a46ddbd61 -s ours
Change-Id: I88bc5be0fb0672a9edd7d9571b8bcd7db938a6fc
Siarhei Vishniakou [Wed, 16 Aug 2017 21:33:01 +0000 (21:33 +0000)]
Remove window obscurement information. am:
ff7dd3b9ea am:
f431a7cbf8 am:
3cc2b38fe3 -s ours am:
27f3e039d8 -s ours am:
2f1a072f37 -s ours am:
f5b4455491 -s ours am:
4c0b934cca -s ours am:
56618d838c -s ours am:
fd78a0345a -s ours
am:
693e897408 -s ours
Change-Id: I1368abe1a36bfa8f32fc3d5c7e173e28a9d18ef9
Siarhei Vishniakou [Wed, 16 Aug 2017 21:26:02 +0000 (21:26 +0000)]
Remove window obscurement information. am:
ff7dd3b9ea am:
f431a7cbf8 am:
3cc2b38fe3 -s ours am:
27f3e039d8 -s ours am:
2f1a072f37 -s ours am:
f5b4455491 -s ours am:
4c0b934cca -s ours am:
56618d838c -s ours
am:
fd78a0345a -s ours
Change-Id: I04e14d78a5d0ced89b7ad6220c056efe51dbddc2
Siarhei Vishniakou [Wed, 16 Aug 2017 21:14:32 +0000 (21:14 +0000)]
Remove window obscurement information. am:
ff7dd3b9ea am:
f431a7cbf8 am:
3cc2b38fe3 -s ours am:
27f3e039d8 -s ours am:
2f1a072f37 -s ours am:
f5b4455491 -s ours am:
4c0b934cca -s ours
am:
56618d838c -s ours
Change-Id: Id92244f080cf20e87d76e0b8df1155b6a989cbc3
Siarhei Vishniakou [Wed, 16 Aug 2017 21:07:08 +0000 (21:07 +0000)]
Remove window obscurement information. am:
ff7dd3b9ea am:
f431a7cbf8 am:
3cc2b38fe3 -s ours am:
27f3e039d8 -s ours am:
2f1a072f37 -s ours am:
f5b4455491 -s ours
am:
4c0b934cca -s ours
Change-Id: I45a115d25132a6211c656def10417033ae22296b
Siarhei Vishniakou [Wed, 16 Aug 2017 20:59:30 +0000 (20:59 +0000)]
Remove window obscurement information. am:
ff7dd3b9ea am:
f431a7cbf8 am:
3cc2b38fe3 -s ours am:
27f3e039d8 -s ours am:
2f1a072f37 -s ours
am:
f5b4455491 -s ours
Change-Id: I20195d51ae2fcb2ddee1237d3f7d8013769cd1f2
Siarhei Vishniakou [Wed, 16 Aug 2017 20:51:58 +0000 (20:51 +0000)]
Remove window obscurement information. am:
ff7dd3b9ea am:
f431a7cbf8 am:
3cc2b38fe3 -s ours am:
27f3e039d8 -s ours
am:
2f1a072f37 -s ours
Change-Id: Ie134ebccadc7984c7c674f1515ba7b7b756213ce
Siarhei Vishniakou [Wed, 16 Aug 2017 20:46:40 +0000 (20:46 +0000)]
Remove window obscurement information. am:
ff7dd3b9ea am:
f431a7cbf8 am:
3cc2b38fe3 -s ours
am:
27f3e039d8 -s ours
Change-Id: I7b5770ee14516de87179470d398f33f34b36ad20
Siarhei Vishniakou [Wed, 16 Aug 2017 20:39:48 +0000 (20:39 +0000)]
Remove window obscurement information. am:
ff7dd3b9ea am:
f431a7cbf8
am:
3cc2b38fe3 -s ours
Change-Id: Ia2b6838ce682d4e361c9cff9502d6ed6623704e0
Siarhei Vishniakou [Wed, 16 Aug 2017 20:32:41 +0000 (20:32 +0000)]
Remove window obscurement information. am:
ff7dd3b9ea
am:
f431a7cbf8
Change-Id: Ifdaed9e6e75c06fc89b042c37ded20b2b273531b
Siarhei Vishniakou [Wed, 16 Aug 2017 20:24:33 +0000 (20:24 +0000)]
Remove window obscurement information.
am:
ff7dd3b9ea
Change-Id: I3da41df019f3d660a5fd10d1f4239846158c62fe
TreeHugger Robot [Wed, 16 Aug 2017 19:58:47 +0000 (19:58 +0000)]
Merge "Add dvr API to create write queue locally" into oc-mr1-dev
Chia-I Wu [Wed, 16 Aug 2017 15:57:15 +0000 (15:57 +0000)]
Merge "surfaceflinger: fix z-relative layer destruction" into oc-mr1-dev
Nicolas Geoffray [Wed, 16 Aug 2017 15:15:47 +0000 (15:15 +0000)]
Merge "Unconditionally unlink image." into oc-mr1-dev
Nicolas Geoffray [Tue, 15 Aug 2017 13:51:05 +0000 (14:51 +0100)]
Unconditionally unlink image.
In case there is a stale one. Useful when doing:
adb shell cmd package compile --reset ...
bug:
64708178
Test: adb shell cmd package compile removes the app image
Change-Id: I459920d8ddd6071aee60668c90ee082d86e1e282
Jiwen 'Steve' Cai [Tue, 15 Aug 2017 20:44:08 +0000 (13:44 -0700)]
Add dvr API to create write queue locally
Currently, this API is mostly for testing purpose. But also note that
this API might eventually deemed useful if BufferHub-based ANativeWindow
becomes binder parseable.
Bug:
37517761,
64723700
Test: dvr_api-test --gtest_filter='DvrBufferQueueTest.*'
Change-Id: I9429079a4936d474fabb0026c38d3a1a4dcab92e
Thierry Strudel [Wed, 16 Aug 2017 01:46:14 +0000 (01:46 +0000)]
Revert "Postpone color mode change until after boot animation"
am:
2924d01304
Change-Id: If182308e0602e3e5af0998698f0e428f7c3ff18d
Kevin Rocard [Tue, 15 Aug 2017 03:40:24 +0000 (20:40 -0700)]
Add dumpsys finish timestamp
Dumpsys are very helpful to debug issues.
Nevertheless a recurrent problem is that the dumpsys take time especially
if multiple are taken like during a bug report generation.
Due to this delay, it can be hard to understand during
which logs a dumpsys was taken.
This commit changes the last line of a dumpsys to contain the time it
was generated.
Here is an example:
[... normal dumpsys...]
- Mix ID 8 I/O handle 37
- 1 sinks:
- Device ID 7 AUDIO_DEVICE_OUT_TELEPHONY_TX
Audio Policy Mix:
--------- 0.036s was the duration of dumpsys media.audio_policy, ending at: 2017-08-14 20:35:43
This patch adds the last part:
*, ending at: 2017-08-14 20:35:43*
Bug:
64699427
Test: adb bugreport
Test: mmm -j32 frameworks/native/cmds/dumpsys && adb sync data && adb shell /data/nativetest/dumpsys_test/dumpsys_test --gtest_filter=-DumpsysTest.DumpRunningServiceTimeout
# DumpRunningServiceTimeout is broken independently of this patch
Change-Id: I9873e7dd915b4f7cdd6eac5c44487ae5740fa805
Signed-off-by: Kevin Rocard <krocard@google.com>
Chia-I Wu [Tue, 15 Aug 2017 18:18:17 +0000 (11:18 -0700)]
surfaceflinger: fix z-relative layer destruction
Layer::commitTransaction is called before Layer::onRemoved. The
removal of a layer from another layer's zOrderRelatives is not
reflected in Layer::mDrawingState until Layer::commitTransaction is
called again. As a result, we may draw a removed layer, which is
not supposed to own any HWC or GL resource.
Add Layer::onRemovedFromCurrentState that is called when a layer is
removed from mCurrentState to mLayersPendingRemoval. Move
zOrderRelative* updates from onRemoved to the new
onRemovedFromCurrentState, and set eTraversalNeeded as needed.
Also fix Layer::~Layer to restore the old behavior and destroy all
stale HWC layers just in case.
Bug:
64572777
Test: manual and AUPT
Change-Id: I546c5b4b7ecac0937fead655733402fae664331c
Thierry Strudel [Mon, 14 Aug 2017 22:19:37 +0000 (15:19 -0700)]
Revert "Postpone color mode change until after boot animation"
This reverts commit
c53d3558d55dfd1d1c424b0d632fea693113e83e.
To have better control on when the color shift is happening, the
bootloader asset will be aligned with the Android OS applied
saturation. So apply the color setting as soon as SF is up.
Bug:
63520186
Bug:
63823274
Test: Verify that sRGB is applied at the start of boot animation
Change-Id: I611eb61266c909fde50e7ea2b4c1314541228736
TreeHugger Robot [Tue, 15 Aug 2017 10:16:18 +0000 (10:16 +0000)]
Merge "Mark libEGL, GLESv1_CM, GLESv2, and GLESv3 as LLNDK" into oc-mr1-dev
Lajos Molnar [Tue, 15 Aug 2017 03:13:39 +0000 (03:13 +0000)]
Merge "omx: add constrained AVC profile constants" into oc-mr1-dev
TreeHugger Robot [Tue, 15 Aug 2017 00:37:35 +0000 (00:37 +0000)]
Merge "media/omx: fix VP9 level enums" into oc-mr1-dev
TreeHugger Robot [Mon, 14 Aug 2017 21:01:31 +0000 (21:01 +0000)]
Merge "BufferHubQueueProducer reset buffers on disconnect" into oc-mr1-dev
TreeHugger Robot [Mon, 14 Aug 2017 06:44:15 +0000 (06:44 +0000)]
Merge "Add useful helper functions for tests" into oc-mr1-dev
Lajos Molnar [Sat, 12 Aug 2017 00:40:50 +0000 (17:40 -0700)]
omx: add constrained AVC profile constants
Bug:
63864332
Change-Id: I7bcf85a723f86088540ce9f429b315655eee86c6
Lajos Molnar [Mon, 3 Jul 2017 14:41:18 +0000 (07:41 -0700)]
media/omx: fix VP9 level enums
Bug:
62361245
Change-Id: If8bacbecd7698ef38e3428ad4a9daa1c4c6bbe82
Jeff Sharkey [Fri, 11 Aug 2017 21:13:31 +0000 (15:13 -0600)]
Fix casting bug, add control for hard quotas.
Bug:
64160395,
63255278
Test: /data/nativetest/installd_service_test/installd_cache_test
Change-Id: I8e2e24afd88da4dc13afdf05927e59c268e69825
Siarhei Vishniakou [Fri, 11 Aug 2017 02:39:32 +0000 (02:39 +0000)]
[automerger] DO NOT MERGE Remove window obscurement information. am:
edac95e737 am:
dda3bdf8a8 am:
3cd049ca28 skipped:
2564b9fdf5 am:
67c9dace8b am:
09c59e7f69 am:
a31fb53edd am:
b63caaf102 skipped:
c2116af15c am:
dfe44a12ab
am:
34ec404b4b
Change-Id: I0c3beccebe7e7accd9a4f08ea90f52a99da145ee
Siarhei Vishniakou [Fri, 11 Aug 2017 02:30:36 +0000 (02:30 +0000)]
[automerger] DO NOT MERGE Remove window obscurement information. am:
edac95e737 am:
dda3bdf8a8 am:
3cd049ca28 skipped:
2564b9fdf5 am:
67c9dace8b am:
09c59e7f69 am:
a31fb53edd am:
b63caaf102 skipped:
c2116af15c
am:
dfe44a12ab
Change-Id: I90f59bd979e33e39a9f9cfa8ca8f58d93a00994f
Jiyong Park [Thu, 10 Aug 2017 11:30:56 +0000 (20:30 +0900)]
Mark libEGL, GLESv1_CM, GLESv2, and GLESv3 as LLNDK
They are used by libRSDriver and libRS_internal which are VNDK-SP
libraries. Therefore, the EGL/GLES libs must be LLNDK or VNDK-SP. We
choose to make them as LLNDK since they already have stable ABIs (as
they are NDK).
In addition, two more functions of libEGL are exposed to vendors
eglQueryStringImplementationANDROID and eglDupNativeFenceFDANDROID are
non-NDK symbols but are being used by libgui, which is a library marked
with vendor_available:true. In order to provide the symbols to the
library, they are added to the map.txt file and tagged as "# vndk" so
that they are exposed only when built for vendor libs (and hidden when
built for NDK).
Furthermore, eglQueryStringImplementationANDROID is changed to C-symbol
in order to be mentioned in the map.txt file, where C++ mangled symbol
name can't be used.
Bug:
64425518
Test: BOARD_VNDK_VERSION=current m -j libRSDriver.vendor
Test: BOARD_VNDK_VERSION=current m -j libRS_internal.vendor
Change-Id: I4d5bcd5f72fb05a7908887f5192de70fd1d8c8f1
Courtney Goeltzenleuchter [Thu, 27 Jul 2017 14:11:24 +0000 (08:11 -0600)]
Add useful helper functions for tests
Trying to reduce code duplication by putting common
EGL functions used by opengl and surfaceflinger tests
here.
Test: adb shell /data/nativetest/test-opengl-gl2_basic/test-opengl-gl2_basic
Merged-In: Id7a32aedc565f3fbe56fa62ceb79cbb1e8c80727
Change-Id: Id7a32aedc565f3fbe56fa62ceb79cbb1e8c80727
(cherry picked from commit
fe98f50b02746f4a1980d0fd31fd8126c5d4e445)
Android Build Merger (Role) [Fri, 11 Aug 2017 00:24:46 +0000 (00:24 +0000)]
[automerger] DO NOT MERGE Remove window obscurement information. am:
edac95e737 am:
dda3bdf8a8 am:
3cd049ca28 skipped:
2564b9fdf5 am:
67c9dace8b am:
09c59e7f69 am:
a31fb53edd am:
b63caaf102 skipped:
c2116af15c
Change-Id: Ieec59681e3dc14340da368355ead622a7f0dcc1c
Android Build Merger (Role) [Fri, 11 Aug 2017 00:24:37 +0000 (00:24 +0000)]
[automerger] DO NOT MERGE Remove window obscurement information. am:
edac95e737 am:
dda3bdf8a8 am:
3cd049ca28 skipped:
2564b9fdf5 am:
67c9dace8b am:
09c59e7f69 am:
a31fb53edd am:
b63caaf102
Change-Id: I6a904953ea2d7f3943dd0daaf3f28efed121f15d
Siarhei Vishniakou [Fri, 11 Aug 2017 00:19:48 +0000 (00:19 +0000)]
[automerger] DO NOT MERGE Remove window obscurement information. am:
edac95e737 am:
dda3bdf8a8 am:
3cd049ca28 skipped:
2564b9fdf5 am:
67c9dace8b am:
09c59e7f69
am:
a31fb53edd
Change-Id: I28d7687ca2590be1e14a0113fdd5734c76310f9d
Chia-I Wu [Tue, 18 Jul 2017 18:30:05 +0000 (11:30 -0700)]
surfaceflinger: fix a nullptr dereference
When the child layer latched a buffer but the fixed-size parent
layer never did (for reasons such as no buffer queued or buffer got
rejected), we could end up with p->mActiveBuffer being nullptr.
Bug:
62996512
Test: manual (I could never repro anyway)
Change-Id: Id7e4c7037633b8a37039baa6e8a306e55170b894
(cherry picked from commit
0a68b461d382304ae438fa8b52920fa75d178a1c)
Siarhei Vishniakou [Thu, 10 Aug 2017 22:18:45 +0000 (22:18 +0000)]
[automerger] DO NOT MERGE Remove window obscurement information. am:
edac95e737 am:
dda3bdf8a8 am:
3cd049ca28 skipped:
2564b9fdf5 am:
67c9dace8b am:
09c59e7f69
Change-Id: Ieedde100761fe504f080fbc4d538353c3dbd59e8
Siarhei Vishniakou [Thu, 10 Aug 2017 22:18:41 +0000 (22:18 +0000)]
[automerger] DO NOT MERGE Remove window obscurement information. am:
edac95e737 am:
dda3bdf8a8 am:
3cd049ca28 skipped:
2564b9fdf5 am:
67c9dace8b
Change-Id: Iabd279c9b858e4117d3f37a2c9dc6b08d18e9b3f
Siarhei Vishniakou [Thu, 10 Aug 2017 22:18:37 +0000 (22:18 +0000)]
[automerger] DO NOT MERGE Remove window obscurement information. am:
edac95e737 am:
dda3bdf8a8 am:
3cd049ca28 skipped:
2564b9fdf5
Change-Id: I9340b61f66403d4a76aef61e8d5c523d46604f34
Siarhei Vishniakou [Thu, 10 Aug 2017 22:18:33 +0000 (22:18 +0000)]
[automerger] DO NOT MERGE Remove window obscurement information. am:
edac95e737 am:
dda3bdf8a8 am:
3cd049ca28
Change-Id: I75bc0db5679a6ae55c647b31f206755128fa47f7
Siarhei Vishniakou [Thu, 10 Aug 2017 22:18:29 +0000 (22:18 +0000)]
[automerger] DO NOT MERGE Remove window obscurement information. am:
edac95e737 am:
dda3bdf8a8
Change-Id: I313f92051e52e6b1b0f3d2f564781c66e6ad4918
Siarhei Vishniakou [Thu, 10 Aug 2017 22:18:25 +0000 (22:18 +0000)]
[automerger] DO NOT MERGE Remove window obscurement information. am:
edac95e737
Change-Id: I61e9a4e826ef2cafd73ad3591f3a3560a7002253
Siarhei Vishniakou [Thu, 10 Aug 2017 20:53:51 +0000 (20:53 +0000)]
DO NOT MERGE Remove window obscurement information. am:
5508ca2c19 am:
3847972ad2 am:
cd71708eca am:
88855f8de7 am:
41f75ecb79 -s ours am:
d0cd82abe9
am:
3a0e3d6a81
Change-Id: I496f7040816a3457effb97bc89e467023d270c44
Siarhei Vishniakou [Thu, 10 Aug 2017 20:41:09 +0000 (20:41 +0000)]
DO NOT MERGE Remove window obscurement information. am:
5508ca2c19 am:
3847972ad2 am:
cd71708eca am:
88855f8de7 am:
41f75ecb79 -s ours
am:
d0cd82abe9
Change-Id: I4727fefa936cbafaa2a2d138909ae0a468d76c32
Siarhei Vishniakou [Thu, 10 Aug 2017 20:26:25 +0000 (20:26 +0000)]
DO NOT MERGE Remove window obscurement information. am:
5508ca2c19 am:
3847972ad2 am:
cd71708eca am:
88855f8de7
am:
41f75ecb79 -s ours
Change-Id: Id698475c3c67bbacecdb92b6d5de50e62ecd135c
Siarhei Vishniakou [Thu, 10 Aug 2017 19:46:58 +0000 (19:46 +0000)]
DO NOT MERGE Remove window obscurement information. am:
5508ca2c19 am:
3847972ad2 am:
cd71708eca
am:
88855f8de7
Change-Id: I29b20c983adb81d9a3669f3bae6b1cde4ccd37e0
TreeHugger Robot [Thu, 10 Aug 2017 19:41:54 +0000 (19:41 +0000)]
Merge "Add ASharedMemory_dupFromJava NDK API" into oc-mr1-dev
Siarhei Vishniakou [Thu, 10 Aug 2017 19:40:02 +0000 (19:40 +0000)]
DO NOT MERGE Remove window obscurement information. am:
5508ca2c19 am:
3847972ad2
am:
cd71708eca
Change-Id: I7f55cd96dbf257b25e5b1c6d69d9ae65d0947598
Siarhei Vishniakou [Thu, 10 Aug 2017 19:33:00 +0000 (19:33 +0000)]
DO NOT MERGE Remove window obscurement information. am:
5508ca2c19
am:
3847972ad2
Change-Id: I0761c69032de13e471210a716ccca78e0cb2a36e
Siarhei Vishniakou [Thu, 10 Aug 2017 19:25:29 +0000 (19:25 +0000)]
DO NOT MERGE Remove window obscurement information.
am:
5508ca2c19
Change-Id: Ida11ec9828763593ec0ecceddd9f022ed691ecfa
TreeHugger Robot [Thu, 10 Aug 2017 19:12:13 +0000 (19:12 +0000)]
Merge "Signal display refresh when a VR_HWC client is registered" into oc-mr1-dev
TreeHugger Robot [Thu, 10 Aug 2017 15:12:01 +0000 (15:12 +0000)]
Merge "libgui: support 64-bit BQ consumer usage" into oc-mr1-dev
Courtney Goeltzenleuchter [Thu, 10 Aug 2017 06:46:51 +0000 (06:46 +0000)]
Merge "Fix DEQP failure regarding VK_COLOR_SPACE_EXTENDED_SRGB_LINEAR_EXT:" into oc-dr1-dev
am:
4e831d2e4e
Change-Id: Ic931253156a23da71112fb6608427efee54b77e4
TreeHugger Robot [Thu, 10 Aug 2017 06:40:10 +0000 (06:40 +0000)]
Merge "Fix DEQP failure regarding VK_COLOR_SPACE_EXTENDED_SRGB_LINEAR_EXT:" into oc-dr1-dev
Hsin-Yi Chen [Thu, 10 Aug 2017 06:12:46 +0000 (06:12 +0000)]
Cast binder data type to uint64_t in high bits test am:
7e04edd5b3
am:
c165493cfe
Change-Id: If87350a981f4eab3418a0a5c1376c66f19b9fed6
Hsin-Yi Chen [Thu, 10 Aug 2017 06:03:47 +0000 (06:03 +0000)]
Cast binder data type to uint64_t in high bits test
am:
7e04edd5b3
Change-Id: Idad9b44edb27f34ac1bebebfe07b1246c348804e
Daniel Nicoara [Wed, 9 Aug 2017 22:10:44 +0000 (18:10 -0400)]
Signal display refresh when a VR_HWC client is registered
In steady state, SurfaceFlinger will not update the surfaces. If the
observer is registered after steady state, the client will not receive
any updates. This forces SurfaceFlinger to update the display surfaces
Bug:
64207223
Test: Updated unittest
Change-Id: Ied7ffcaaacec25d36dafb948489538155a0c865f
Courtney Goeltzenleuchter [Mon, 7 Aug 2017 23:13:04 +0000 (17:13 -0600)]
Fix DEQP failure regarding VK_COLOR_SPACE_EXTENDED_SRGB_LINEAR_EXT:
Needed to teach GetNativeDataspace about the new color space.
Bug:
64402817
Test: adb -s HT7391A00040 -d shell am start \
-n com.drawelements.deqp/android.app.NativeActivity \
-e cmdLine '"deqp --deqp-case=dEQP-VK.wsi.android.swapchain.* \
--deqp-log-filename=/sdcard/dEQP-Log.qpa"'
Change-Id: I3fe7fefff1f074656d766f2b24639adcdbfd2fb7
(cherry picked from commit
e327e9adfc85028d77d1252746c9ee07ff99f0b3)
Jorim Jaggi [Wed, 9 Aug 2017 16:16:14 +0000 (16:16 +0000)]
Merge "Fix out-of-order transactions (2/2)" into oc-dr1-dev
am:
0436b01d1b
Change-Id: I021a2635b40e74f29e1d94ad4a738f3b043ed5db
Jorim Jaggi [Wed, 9 Aug 2017 16:10:29 +0000 (16:10 +0000)]
Merge "Fix out-of-order transactions (2/2)" into oc-dr1-dev
TreeHugger Robot [Tue, 8 Aug 2017 23:45:33 +0000 (23:45 +0000)]
Merge "Change UniquePtr to std::unique_ptr" into oc-mr1-dev
Chia-I Wu [Mon, 7 Aug 2017 17:36:08 +0000 (10:36 -0700)]
libgui: support 64-bit BQ consumer usage
Add NATIVE_WINDOW_GET_CONSUMER_USAGE64. Support 64-bit consumer
usage flags in BufferItemConsumer and GLConsumer.
In H2BGraphicBufferProducer::getConsumerUsage, however, we will
issue a warning and return 32-bit consumer usage. We will need a
HIDL interface version bump to fix it.
Bug:
35215313
Test: manual
Change-Id: I1f8884a7db71bbdb269d05b94443ddec2ff46f8a
Hsin-Yi Chen [Fri, 28 Jul 2017 03:28:52 +0000 (11:28 +0800)]
Cast binder data type to uint64_t in high bits test
1. Cast fb->binder to uint64_t before shifting by 32 bits. It avoids
undefined result when binder is 32-bit.
2. Swap EXPECT_EQ arguments. The first one is expected value and the
second is actual value.
Bug:
64118463
Test: ./binderLibTest on x86 emulator
Change-Id: I4f736bd5b55db5af8598db0d5cd5fbd9ef323448
Steven Thomas [Tue, 8 Aug 2017 19:29:10 +0000 (19:29 +0000)]
Merge "Use a separate hwcomposer hidl instance for vr flinger" into oc-mr1-dev
Chia-I Wu [Tue, 8 Aug 2017 19:22:06 +0000 (19:22 +0000)]
libsurfaceflinger: fix screenshot permission check
am:
fc0b911090
Change-Id: I9a2c42ea76572e5200f99d65f56ee4b10da4ca15
TreeHugger Robot [Tue, 8 Aug 2017 16:53:13 +0000 (16:53 +0000)]
Merge "Mark libGLESv2.so and libEGL.so as VNDK libs." into oc-mr1-dev
TreeHugger Robot [Tue, 8 Aug 2017 16:53:13 +0000 (16:53 +0000)]
Merge "Mark libui and libgui as VNDK in Android.bp" into oc-mr1-dev
TreeHugger Robot [Tue, 8 Aug 2017 15:58:42 +0000 (15:58 +0000)]
Merge "Add native bindings for getNamesForUids" into oc-mr1-dev
Jorim Jaggi [Tue, 8 Aug 2017 13:22:08 +0000 (15:22 +0200)]
Fix out-of-order transactions (2/2)
The following sequence of order may happen which cause wrong
surface positions:
- WA.animate updates surfaces properties to S
- WA.animate closes the surface transaction
- Since the previous animation transaction wasn't commited yet,
closeSurfaceTransaction blocks and updating the surface properties
on SF side is deferred.
- In the meantime, since we are not holding WM lock, we have
another thread updating surfaces properties to S'
- Closing the transaction in this thread completes immediately
because it's not a synchronous transaction or animation
transaction.
- After a frame has been processed S gets applied on SF side as
the other transaction is done waiting for the frame to complete.
The issue here is that properties are now set to S instead of S'.
Sad!
We originally started calling closeTransaction without the WM
lock being held because it lead to thread starvation (b/
38192114).
However, that fix has this big flaw as described above.
To fix this, we create an empty animation transaction before
updating the animation properties to simulate the back-pressuring
behavior of animation transactions without the WM lock being held.
If that transaction arrives out of order, it doesn't matter at all
because it is empty.
After that, we perform the animation udpate in a transaction that
is not marked as an animation transaction, and thus will not
block, which avoids the starvation issue.
Part of this change is also a change in SF to allow executing
empty animation transactions.
Test: go/wm-smoke
Test: Open VideoPlayer from VRCore, close it, observe no wrong
positiioning of surfaces.
Test: Inspect traces while animating. Ensure back pressuring still
works.
Change-Id: Ie545463e71e0d1bc73439d14381077a290d2f959
Fixes:
63905190
Bug:
38192114
Steven Thomas [Thu, 27 Jul 2017 01:48:28 +0000 (18:48 -0700)]
Use a separate hwcomposer hidl instance for vr flinger
Improve robustness of vr flinger <--> surface flinger switching by
having vr flinger use a separate hardware composer hidl instance instead
of sharing the instance with surface flinger. Sharing the hardware
composer instance has proven to be error prone, with situations where
both the vr flinger thread and surface flinger main thread would write
to the composer at the same time, causing hard to diagnose
crashes (b/
62925812).
Instead of sharing the hardware composer instance, when switching to vr
flinger we now delete the existing instance, create a new instance
directed to the vr hardware composer shim, and vr flinger creates its
own composer instance connected to the real hardware composer. By
creating a separate composer instance for vr flinger, crashes like the
ones found in b/
62925812 are no longer impossible.
Most of the changes in this commit are related to enabling surface
flinger to delete HWComposer instances cleanly. In particular:
- Previously the hardware composer callbacks (which come in on a
hwbinder thread) would land in HWC2::Device and bubble up to the
SurfaceFlinger object. But with the new behavior the HWC2::Device
might be dead or in the process of being destroyed, so instead we have
SurfaceFlinger receive the composer callbacks directly, and forward
them to HWComposer and HWC2::Device. We include a composer id field in
the callbacks so surface flinger can ignore stale callbacks from dead
composer instances.
- Object ownership for HWC2::Display and HWC2::Layer was shared by
passing around shared_ptrs to these objects. This was problematic
because they referenced and used the HWC2::Device, which can now be
destroyed when switching to vr flinger. Simplify the ownership model
by having HWC2::Device own (via unique_ptr<>) instances of
HWC2::Display, which owns (again via unique_ptr<>) instances of
HWC2::Layer. In cases where we previously passed std::shared_ptr<> to
HWC2::Display or HWC2::Layer, instead pass non-owning HWC2::Display*
and HWC2::Layer* pointers. This ensures clean composer instance
teardown with no stale references to the deleted HWC2::Device.
- When the hardware composer instance is destroyed and the HWC2::Layers
are removed, notify the android::Layer via a callback, so it can
remove the HWC2::Layer from its internal table of hardware composer
layers. This removes the burden to explicitly clear out all hardware
composer layers when switching to vr flinger, which has been a source
of bugs.
- We were missing an mStateLock lock in
SurfaceFlinger::setVsyncEnabled(), which was necessary to ensure we
were setting vsync on the correct hardware composer instance. Once
that lock was added, surface flinger would sometimes deadlock when
transitioning to vr flinger, because the surface flinger main thread
would acquire mStateLock and then EventControlThread::mMutex, whereas
the event control thread would acquire the locks in the opposite
order. The changes in EventControlThread.cpp are to ensure it doesn't
hold a lock on EventControlThread::mMutex while calling
setVsyncEnabled(), to avoid the deadlock.
I found that without a composer callback registered in vr flinger the
vsync_event file wasn't getting vsync timestamps written, so vr flinger
would get stuck in an infinite loop trying to parse a vsync
timestamp. Since we need to have a callback anyway I changed the code in
hardware_composer.cpp to get the vsync timestamp from the callback, as
surface flinger does. I confirmed the timestamps are the same with
either method, and this lets us remove some extra code for extracting
the vsync timestamp that (probably) wasn't compatible with all devices
we want to run on anyway. I also added a timeout to the vysnc wait so
we'll see an error message in the log if we fail to wait for vsync,
instead of looping forever.
Bug:
62925812
Test: - Confirmed surface flinger <--> vr flinger switching is robust by
switching devices on and off hundreds of times and observing no
hardware composer related issues, surface flinger crashes, or
hardware composer service crashes.
- Confirmed 2d in vr works as before by going through the OOBE flow on a
standalone. This also exercises virtual display creation and usage
through surface flinger.
- Added logs to confirm perfect layer/display cleanup when destroying
hardware composer instances.
- Tested normal 2d phone usage to confirm basic layer create/destroy
functionality works as before.
- Monitored surface flinger file descriptor usage across dozens of
surface flinger <--> vr flinger transitions and observed no file
descriptor leaks.
- Confirmed the HWC1 code path still compiles.
- Ran the surface flinger tests and confirmed there are no new test
failures.
- Ran the hardware composer hidl in passthrough mode on a Marlin and
confirmed it works.
- Ran CTS tests for virtual displays and confirmed they all pass.
- Tested Android Auto and confirmed basic graphics functionality still
works.
Change-Id: I17dc0e060bfb5cb447ffbaa573b279fc6d2d8bd1
Merged-In: I17dc0e060bfb5cb447ffbaa573b279fc6d2d8bd1
TreeHugger Robot [Tue, 8 Aug 2017 01:15:42 +0000 (01:15 +0000)]
Merge changes from topic 'thermal-notify-mr1' into oc-mr1-dev
* changes:
thermalservice: add HIDL ThermalCallback implementation
thermalservice: add ThermalService interfaces and thermalserviced
Calin Juravle [Tue, 8 Aug 2017 00:17:45 +0000 (00:17 +0000)]
Merge "Change the location of current profiles for secondary dex files" into oc-mr1-dev
Siarhei Vishniakou [Mon, 31 Jul 2017 21:25:02 +0000 (14:25 -0700)]
Remove window obscurement information.
If ACTION_OUTSIDE_EVENTS contain information about whether the touch is
obscured, then a pattern of invisible, untouchable, unfocusable
SYSTEM_ALERT_WINDOWS can be placed across the screen to determine
approximate locations of touch events without the user knowing.
Bug:
31097064
Test: cts-tradefed run cts --class android.security.cts.MotionEventTest
Merged-In: Ie30dcc2402d5422a19a43ffe7d1411d91681efc2
Change-Id: I1dc5f003ada7ad3c753e078a8c1fbe10a89fb42f
Todd Poynor [Fri, 23 Jun 2017 01:13:56 +0000 (18:13 -0700)]
thermalservice: add HIDL ThermalCallback implementation
The IThermalCallback implementation in thermalserviced enables vendor
thermal management code to send thermal events to ThermalService.
Test: manual: marlin with modified thermal-engine.conf
Bug:
30982366
Change-Id: Ic566bc51aebcd03163f8909f846ee4f7025ed472
Todd Poynor [Thu, 25 May 2017 00:19:18 +0000 (17:19 -0700)]
thermalservice: add ThermalService interfaces and thermalserviced
Binder interfaces IThermalService and IThermalEventListener are used
by frameworks native and Java code to publish and subscribe to
thermal events, and to detect thermal throttling status.
A following change adds HwBinder interfaces for vendor thermal
management code to send thermal events to this service.
Test: marlin
Bug:
30982366
Change-Id: I246ddd9b386e2388701b73fa0ecf9aff78ce0adb
Jiwen 'Steve' Cai [Sat, 5 Aug 2017 00:34:37 +0000 (17:34 -0700)]
BufferHubQueueProducer reset buffers on disconnect
When Surface.cpp disconnects a IGraphicBufferProducer, it clears up all
the buffer cache it holds. Thus our implementation should do the same.
New tests:
1/ BufferHubQueueProducerTest.ConnectDisconnectReconnect: tests
IGraphicBufferProducer to behave proper after disconnect and
re-connect.
2/ BufferHubQueueTest.TestFreeAllBuffers: tests BufferHubQueue handles
FreeAllBuffers() properly under different producer/consumer state.
Bug:
64402829
Test: Pause and resume GVR video player demo and observer no more fails
around IGraphicBufferProducer::requestBuffer and Surface::dequeueBuffer.
Change-Id: Ia61e3f991248135cecf22039045f6960226bda42
Chia-I Wu [Mon, 7 Aug 2017 22:27:49 +0000 (15:27 -0700)]
libsurfaceflinger: fix screenshot permission check
Fix the logic for layers we check isSecure or isVisible for. It was
regressed by my previous change to support
WINDOW_TYPE_DONT_SCREENSHOT.
Bug:
63311708
Bug:
62656774
Test: CTS
Change-Id: I7768cb590014cc610ec564847958bbd98742c277
John Reck [Mon, 7 Aug 2017 18:18:40 +0000 (11:18 -0700)]
Add ASharedMemory_dupFromJava NDK API
Bug:
64394076
Test: SharedMemory CTS tests
Change-Id: I0ee5badff48ce72c8a664180beacfcf89112f6bf
Calin Juravle [Thu, 27 Jul 2017 23:31:55 +0000 (16:31 -0700)]
Change the location of current profiles for secondary dex files
Update the installd code to handle the new location for secondary dex
profiles.
Tighten up the validation code and add tests.
Counter part for frameworks commit
a07ca21f9727325d76d2ddbfa119513f47f0b45f.
Bug:
62336157
Test: adb shell cmd package compile -r bg-dexopt --secondary-dex
com.google.android.googlequicksearchbox
adb shell cmd package reconcile-secondary-dex-files
com.google.android.googlequicksearchbox
Change-Id: Ib7af091a35fe53e7f6bb5f30a09911188caff88f