OSDN Git Service

android-x86/frameworks-native.git
7 years agomerge in oc-release history after reset to oc-dev
gitbuildkicker [Wed, 19 Apr 2017 07:09:01 +0000 (00:09 -0700)]
merge in oc-release history after reset to oc-dev

7 years agoMerge "atrace: Don't NPE if we can't access hal-related tracepoint files." into oc-dev
TreeHugger Robot [Wed, 19 Apr 2017 01:06:26 +0000 (01:06 +0000)]
Merge "atrace: Don't NPE if we can't access hal-related tracepoint files." into oc-dev

7 years agoMerge "Add atrace_userdebug.rc to enable some tracepoints for userdebug only." into...
Carmen Jackson [Tue, 18 Apr 2017 23:37:48 +0000 (23:37 +0000)]
Merge "Add atrace_userdebug.rc to enable some tracepoints for userdebug only." into oc-dev

7 years agoatrace: Don't NPE if we can't access hal-related tracepoint files.
Carmen Jackson [Tue, 18 Apr 2017 22:37:57 +0000 (15:37 -0700)]
atrace: Don't NPE if we can't access hal-related tracepoint files.

This currently NPEs when Traceur attempts to start a trace.
Based on b/34242478, this is currently expected and we should fail
gracefully instead.

Bug: 37281960

Test: Starting a trace using Traceur on a userdebug build succeeds.

Change-Id: I082d5750625dec0e1db4a1dd341dc332d8dd752f

7 years agoMerge "Fix query management in GpuProfiler" into oc-dev
Steven Thomas [Tue, 18 Apr 2017 22:25:39 +0000 (22:25 +0000)]
Merge "Fix query management in GpuProfiler" into oc-dev

7 years agoMerge "[vr] Add DVR API to get native handle for buffers" into oc-dev
TreeHugger Robot [Tue, 18 Apr 2017 22:08:09 +0000 (22:08 +0000)]
Merge "[vr] Add DVR API to get native handle for buffers" into oc-dev

7 years agoMerge "SurfaceFlinger: Inherit non-transform Scaling from parent." into oc-dev
Rob Carr [Tue, 18 Apr 2017 20:10:44 +0000 (20:10 +0000)]
Merge "SurfaceFlinger: Inherit non-transform Scaling from parent." into oc-dev

7 years agoMerge "Move VR HWC HAL impl to vr/hardware_composer and cleanup deps" into oc-dev
TreeHugger Robot [Tue, 18 Apr 2017 19:39:07 +0000 (19:39 +0000)]
Merge "Move VR HWC HAL impl to vr/hardware_composer and cleanup deps" into oc-dev

7 years agoMerge "Expose EGL_ANDROID_native_fence_sync." into oc-dev
TreeHugger Robot [Tue, 18 Apr 2017 19:37:37 +0000 (19:37 +0000)]
Merge "Expose EGL_ANDROID_native_fence_sync." into oc-dev

7 years ago[vr] Add DVR API to get native handle for buffers
John Bates [Tue, 18 Apr 2017 17:45:23 +0000 (10:45 -0700)]
[vr] Add DVR API to get native handle for buffers

This is required to support GPU late latching features in
VRCore. This can be removed once vendors support using
AHardwareBuffer instead of int fd for shared memory
buffer objects.

Bug: b/37472908
Test: builds and runs
Change-Id: I2a957723c4025773181071491a45a53b83e5ba64

7 years agoSurfaceFlinger: Inherit non-transform Scaling from parent.
Robert Carr [Mon, 17 Apr 2017 21:56:57 +0000 (14:56 -0700)]
SurfaceFlinger: Inherit non-transform Scaling from parent.

When a Layer is fixed-size, we may apply additional scaling
to the buffer not accounted for in the transform. This means
that if the WindowManager calls setSize we will scale the parent
surface but not the child surfaces, breaking the contract that
the WM can treat the child surfaces as pixels in the parent.

Test: Included test in Transaction_test.
Bug: 36820947
Bug: 37344435
Change-Id: I5478bad176388fe8e5407379bc36cdfd6600ab97

7 years agoMerge "Dvr api usages should follow AHardwareBuffer" into oc-dev
TreeHugger Robot [Tue, 18 Apr 2017 17:36:18 +0000 (17:36 +0000)]
Merge "Dvr api usages should follow AHardwareBuffer" into oc-dev

7 years agoFix query management in GpuProfiler
Steven Thomas [Mon, 17 Apr 2017 18:55:34 +0000 (11:55 -0700)]
Fix query management in GpuProfiler

GL query objects were being used incorrectly in GpuProfiler across GL
context resets, which could cause endless creation of additional GL
query objects.

Have the compositor notify the GpuProfiler when the GL context is
created and destroyed, so it can reset its state appropriately.

Also impose a limit of 32 outstanding queries to help prevent endless
query object creation in the future. If we hit the limit we print a log,
reset everything, and start over.

Bug: 34256609

Test: Manually tested that: (a) we no longer get GL errors after
glGetQueryObjectiv() calls after a context destroy/create cycle, and (b)
the queue overflow handling works as expected.

Change-Id: I64905b766a3ea7cb62d543b776ac975d0762868e

7 years agoMove VR HWC HAL impl to vr/hardware_composer and cleanup deps
Daniel Nicoara [Thu, 13 Apr 2017 19:19:15 +0000 (15:19 -0400)]
Move VR HWC HAL impl to vr/hardware_composer and cleanup deps

VR HWC is no longer built into VR WM, but in VR HWC, so update its
location. Also cleanup dead code.

Bug: 36051907
Test: Compiled
Change-Id: I15763234fa93bf3b95b8df6461428fe65fd5f611

7 years agomerge in oc-release history after reset to oc-dev
gitbuildkicker [Tue, 18 Apr 2017 07:08:24 +0000 (00:08 -0700)]
merge in oc-release history after reset to oc-dev

7 years agoExpose EGL_ANDROID_native_fence_sync.
Craig Donner [Mon, 17 Apr 2017 22:31:06 +0000 (15:31 -0700)]
Expose EGL_ANDROID_native_fence_sync.

Bug: 37439141
Test: Manually tried to use function cross-process from user app
Change-Id: Ia260cb3d11d6667df9de34402c27adea7374c2bc

7 years agoDvr api usages should follow AHardwareBuffer
Hendrik Wagenaar [Mon, 17 Apr 2017 22:24:19 +0000 (15:24 -0700)]
Dvr api usages should follow AHardwareBuffer

* Since vrcore doesn't have access to gralloc1 usages
* Since gralloc1 may be replaced in the future

Bug: 37435415
Test: TestNamedBufferUsage
Change-Id: Iaa47396aca26460541d1b9031dce0b971b630555

7 years agoOtaPreopt: Add version support
Andreas Gampe [Sat, 15 Apr 2017 03:39:56 +0000 (20:39 -0700)]
OtaPreopt: Add version support

Add versioning to otapreopt:

Give up on having otapreopt being a mostly-ignorant frontend to a
blackbox dexopt function. Remove the dexopt helper taking a char*[], and
replace with a direct call to the typed signature.

Add support for a versioned dexopt command. The current version is
"2." An unversioned command string is either version "1" (N) or
version "2" (O pre-versioning).

Translate version 1 to version 2 by
* filter DEXOPT_OTA
* override dexopt_needed to DEX2OAT_FROM_SCRATCH
* add null se_info

Bug: 37256688
Test: m
Test: Manual OTA N (v1) -> O (v2)
Test: Manual OTA O (pre-versioning) -> O (v2)
Test: Manual OTA O (v2) -> O (v2)
Change-Id: I9fff673f3ba99833e88cf1c5c9625f42436ec150

7 years agoMerge "Otapreopt: Remove param count checking in otapreopt_chroot" into oc-dev
TreeHugger Robot [Mon, 17 Apr 2017 23:05:46 +0000 (23:05 +0000)]
Merge "Otapreopt: Remove param count checking in otapreopt_chroot" into oc-dev

7 years agoMerge "Move AHardwareBuffer_getNativeHandle to VNDK" into oc-dev
Jesse Hall [Mon, 17 Apr 2017 21:52:20 +0000 (21:52 +0000)]
Merge "Move AHardwareBuffer_getNativeHandle to VNDK" into oc-dev

7 years agoMove AHardwareBuffer_getNativeHandle to VNDK
Jesse Hall [Mon, 17 Apr 2017 15:52:32 +0000 (08:52 -0700)]
Move AHardwareBuffer_getNativeHandle to VNDK

This was added to the NDK only because we didn't have a way to do
VNDK-only declarations. Now we do.

Bug: 34050596
Test: make checkbuild
Change-Id: I039fccfd9f29c5cc960e7691f0baa70101659949

7 years agoOtapreopt: Remove param count checking in otapreopt_chroot
Andreas Gampe [Fri, 14 Apr 2017 18:15:17 +0000 (11:15 -0700)]
Otapreopt: Remove param count checking in otapreopt_chroot

Pass on parameters without a check. This will simplify future updates.

Bug: 37256688
Test: m
Test: manual OTA
Change-Id: I9db3749856a1281a777136436ce255c5dd7f7f3c

7 years agomerge in oc-release history after reset to oc-dev
gitbuildkicker [Sun, 16 Apr 2017 07:09:24 +0000 (00:09 -0700)]
merge in oc-release history after reset to oc-dev

7 years agoMerge "Fix use-after-free issue caught by ASAN." into oc-dev
TreeHugger Robot [Sat, 15 Apr 2017 22:47:06 +0000 (22:47 +0000)]
Merge "Fix use-after-free issue caught by ASAN." into oc-dev

7 years agoMerge "Fix profile disk space accounting bugs." into oc-dev
TreeHugger Robot [Sat, 15 Apr 2017 22:39:29 +0000 (22:39 +0000)]
Merge "Fix profile disk space accounting bugs." into oc-dev

7 years agoMerge "Hopefully fix funky SELinux labels." into oc-dev
TreeHugger Robot [Sat, 15 Apr 2017 22:39:04 +0000 (22:39 +0000)]
Merge "Hopefully fix funky SELinux labels." into oc-dev

7 years agoHopefully fix funky SELinux labels.
Jeff Sharkey [Sat, 15 Apr 2017 18:09:22 +0000 (12:09 -0600)]
Hopefully fix funky SELinux labels.

We've seen reports of cases where DE storage cache directories are
missing the SELinux category information, so explicitly offer to
restorecon those directories to fix the labels.

This matches what we're already doing for CE storage.

Test: builds, boots
Bug: 35991539
Change-Id: I0eb6df801e933fbb005e3f8fdfe57a4e5ce3313d

7 years agoFix profile disk space accounting bugs.
Jeff Sharkey [Sat, 15 Apr 2017 18:03:31 +0000 (12:03 -0600)]
Fix profile disk space accounting bugs.

Profile data is only stored on internal storage (it doesn't move to
adoptable devices), so only count it when asking about internal
storage (which has a null UUID).

Also fix bug where "current" profile data was being double-counted
for apps.

Test: runtest -x frameworks/base/services/tests/servicestests/src/com/android/server/pm/InstallerTest.java
Bug: 3610217236101738
Change-Id: I22b82e8cfb3bf1be1155fb827a538c21f09d88eb

7 years agoFix use-after-free issue caught by ASAN.
Jeff Sharkey [Sat, 15 Apr 2017 00:54:49 +0000 (18:54 -0600)]
Fix use-after-free issue caught by ASAN.

Keep strong references to std::string objects around while we're
actively using them in fts_open().

Test: builds, boots
Bug: 36975037
Change-Id: Icd7cba5852a01f0a1015e7d0d7dcd3087fa44ae8

7 years agoMerge "Avoid a potential race condition on mDisplays" into oc-dev
TreeHugger Robot [Sat, 15 Apr 2017 00:08:31 +0000 (00:08 +0000)]
Merge "Avoid a potential race condition on mDisplays" into oc-dev

7 years agoMerge "Add "android.software.preview_sdk" feature" into oc-dev
Justin Klaassen [Fri, 14 Apr 2017 22:39:58 +0000 (22:39 +0000)]
Merge "Add "android.software.preview_sdk" feature" into oc-dev

7 years agoAdd atrace_userdebug.rc to enable some tracepoints for userdebug only.
Carmen Jackson [Fri, 14 Apr 2017 18:58:58 +0000 (11:58 -0700)]
Add atrace_userdebug.rc to enable some tracepoints for userdebug only.

These tracepoints are currently approved by security for userdebug only
(see linked bug).

These are enabled for use in Traceur, which is currently only available
for userdebug builds.

Bug: 37110010
Test: Compiled and installed for userdebug and verified correct permissions
for a file in atrace.rc as well as a file in atrace_userdebug.rc:

(atrace_userdebug.rc)
$ adb shell ls -al /sys/kernel/debug/tracing/events/workqueue/enable
-rw-rw-rw- 1 root shell 0 1970-01-01 00:00 /sys/kernel/debug/tracing/events/workqueue/enable

(atrace.rc only)
$ adb shell ls -al /sys/kernel/debug/tracing/trace_clock
-rw-rw-r-- 1 root shell 0 1970-01-01 00:00 /sys/kernel/debug/tracing/trace_clock

Test: Compiled and installed a user build and verified correct
permissions for the file modified in atrace.rc, but that
atrace_userdebug.rc was not executed:

(atrace_userdebug.rc)
$ adb shell ls -al
/sys/kernel/debug/tracing/events/workqueue/enable
-rw-r--r-- 1 root root 0 1969-12-31 19:00

(atrace.rc
$ adb shell ls -al /sys/kernel/debug/tracing/trace_clock
-rw-rw-r-- 1 root shell 0 1969-12-31 19:00
/sys/kernel/debug/tracing/trace_clock

Change-Id: Ifb0ce9942a2e7a48f480b46bf944fcbc69c1707d

7 years agoMerge "Fix gralloc direct channel bug and polish log messages" into oc-dev
Peng Xu [Fri, 14 Apr 2017 20:29:47 +0000 (20:29 +0000)]
Merge "Fix gralloc direct channel bug and polish log messages" into oc-dev

7 years agoMerge "Release virtual display hwcId during vr mode transition." into oc-dev
TreeHugger Robot [Fri, 14 Apr 2017 20:11:41 +0000 (20:11 +0000)]
Merge "Release virtual display hwcId during vr mode transition." into oc-dev

7 years agoAvoid a potential race condition on mDisplays
Stephen Kiazyk [Wed, 5 Apr 2017 23:46:49 +0000 (16:46 -0700)]
Avoid a potential race condition on mDisplays

I've now run this on a HWC1 and HWC2 build. Both appear to be running
correctly.

Original Message:

The race could occur when transitioning in/out of VR flinger mode.
It is now avoided by ensuring that the primary |DisplayDevice| is always
created once |mStateLock| is released, and ensuring that all accesses
to the primary |DisplayDevice| are guarded by |mStateLock|.

Bug: 36194616
Bug: 37249613
Bug: 37288476

Test: Compiled, installed, and ran with both HWC1 and HWC2 variants.
  HWC1 was tested on Nexus 6P. Was able to boot, install apps, run apps,
  turn screen on/off, and reboot phone.
  HWC2 was tested on sailfish. Was able to boot, install apps, run apps,
  run VR apps using both N path, and O1 path, turn screen on/off, and
  reboot phone.

Change-Id: I0e80c2553f40cce2116b718bbb0d2566679f794a

7 years agoMerge "vrwm: Push all the properties to vr window manager" into oc-dev
TreeHugger Robot [Fri, 14 Apr 2017 19:45:06 +0000 (19:45 +0000)]
Merge "vrwm: Push all the properties to vr window manager" into oc-dev

7 years agoMerge "libbinder: vendor_available" into oc-dev
TreeHugger Robot [Fri, 14 Apr 2017 17:57:40 +0000 (17:57 +0000)]
Merge "libbinder: vendor_available" into oc-dev

7 years agoMerge "Move include/binder to libs/binder/include" into oc-dev
TreeHugger Robot [Fri, 14 Apr 2017 17:57:36 +0000 (17:57 +0000)]
Merge "Move include/binder to libs/binder/include" into oc-dev

7 years agoMerge "Update optics" into oc-dev
TreeHugger Robot [Fri, 14 Apr 2017 17:31:15 +0000 (17:31 +0000)]
Merge "Update optics" into oc-dev

7 years agoMerge "binder: allow repeated invocations of initWithDriver" into oc-dev
Iliyan Malchev [Fri, 14 Apr 2017 15:08:32 +0000 (15:08 +0000)]
Merge "binder: allow repeated invocations of initWithDriver" into oc-dev

7 years agobinder: allow repeated invocations of initWithDriver
Iliyan Malchev [Fri, 14 Apr 2017 07:34:57 +0000 (00:34 -0700)]
binder: allow repeated invocations of initWithDriver

As long as the driver name is the same, calls to
ProcessState::initWithDriver() will succeed, returning the
already-created object.

Test: marlin

Change-Id: I87d5ca2a105becd8d4fa6fa85c00b879360229b3
Signed-off-by: Iliyan Malchev <malchev@google.com>
7 years agoMerge "Refine the binder latency test" into oc-dev
PO HUNG CHEN [Fri, 14 Apr 2017 06:42:50 +0000 (06:42 +0000)]
Merge "Refine the binder latency test" into oc-dev

7 years agoget rid of IGraphicBufferAlloc
Mathias Agopian [Wed, 22 Mar 2017 22:49:32 +0000 (15:49 -0700)]
get rid of IGraphicBufferAlloc

Buffers can now be allocated directly through
the graphic allocator HAL.

Test: marlin: run full camera cts
Test: angler: take screenshot, take photo w/ and w/o HDR, video, panorama, refocus, slo-mo
Bug: 36462585
Bug: 36333314
Change-Id: Ie5222c53c3b9462e0ac7a41568718aad131eb328

7 years agolibbinder: vendor_available
Steven Moreland [Fri, 14 Apr 2017 04:19:48 +0000 (21:19 -0700)]
libbinder: vendor_available

By setting vendor_available, the following may become true:

* a prebuilt library from this release may be used at runtime by
  in a later releasse (by vendor code compiled against this release).
  so this library shouldn't depend on runtime state that may change
  in the future.
* this library may be loaded twice into a single process (potentially
  an old version and a newer version). The symbols will be isolated
  using linker namespaces, but this may break assumptions about 1
  library in 1 process (your singletons will run twice).

Background:

This means that these modules may be built and installed twice --
once for the system partition and once for the vendor partition. The
system version will build just like today, and will be used by the
framework components on /system. The vendor version will build
against a reduced set of exports and libraries -- similar to, but
separate from, the NDK. This means that all your dependencies must
also mark vendor_available.

At runtime, /system binaries will load libraries from /system/lib*,
while /vendor binaries will load libraries from /vendor/lib*. There
are some exceptions in both directions -- bionic(libc,etc) and liblog
are always loaded from /system. And SP-HALs (OpenGL, etc) may load
/vendor code into /system processes, but the dependencies of those
libraries will load from /vendor until it reaches a library that's
always on /system. In the SP-HAL case, if both framework and vendor
libraries depend on a library of the same name, both versions will be
loaded, but they will be isolated from each other.

It's possible to compile differently -- reducing your source files,
exporting different include directories, etc. For details see:

https://android-review.googlesource.com/368372

None of this is enabled unless the device opts into the system/vendor
split with BOARD_VNDK_VERSION := current.

Bug: 36426473
Bug: 36079834
Test: m -j libbinder
Test: attempt to compile with BOARD_VNDK_VERSION := current
Change-Id: Iec94a66adbc852f7f23352307cf36f49a79ee3a6

7 years agoUpdate optics
Hendrik Wagenaar [Tue, 4 Apr 2017 21:38:36 +0000 (14:38 -0700)]
Update optics

* Specify optics via system properties

Bug: 36039976
Test: Ran on device

Change-Id: I7a38e5a9eb3b8a861f1997d5011ec109f5e79cca

7 years agoRefine the binder latency test
Howard Chen [Mon, 10 Apr 2017 10:51:20 +0000 (18:51 +0800)]
Refine the binder latency test

* limit the output line length be be under 80.
* fix the target service when pair > 2

Bug:36705188
Test: sailfish with prebuilt kernel on oc-dev
Change-Id: I5ce2754418a669a61f9913a30dbeb7176796e230

7 years agoMove include/binder to libs/binder/include
Vijay Venkatraman [Fri, 24 Mar 2017 23:13:58 +0000 (16:13 -0700)]
Move include/binder to libs/binder/include

Also moved include/private/binder to libs/binder/include/private/binder.
This allows libbinder to be compiled without depending on global
headers.

Bug: 33241851
Test: Build, flash, and run sailfish.
Test: Try building with BOARD_VNDK_VERSION := current
Change-Id: I0a82b733353add589de26eb2db7af5a246e5c97f

7 years agoMerge "Update to allow multiple HALs in a manifest." into oc-dev
TreeHugger Robot [Fri, 14 Apr 2017 00:11:05 +0000 (00:11 +0000)]
Merge "Update to allow multiple HALs in a manifest." into oc-dev

7 years agoMerge "Import broadcast_ring.h from GVR (reland)" into oc-dev
TreeHugger Robot [Fri, 14 Apr 2017 00:07:42 +0000 (00:07 +0000)]
Merge "Import broadcast_ring.h from GVR (reland)" into oc-dev

7 years agoMerge "libpdx_uds: Handle EACCES error when connecting to PDX service" into oc-dev
TreeHugger Robot [Thu, 13 Apr 2017 22:21:03 +0000 (22:21 +0000)]
Merge "libpdx_uds: Handle EACCES error when connecting to PDX service" into oc-dev

7 years agovrwm: Push all the properties to vr window manager
Albert Chaulk [Mon, 10 Apr 2017 17:53:32 +0000 (13:53 -0400)]
vrwm: Push all the properties to vr window manager

Bug: 37204430
Test: Manual
Change-Id: I6cda2732f4aff2433152ffc3549677d23bc598b3

7 years agoMerge "Use a separate heap size to receive buffer" into oc-dev
TreeHugger Robot [Thu, 13 Apr 2017 21:18:49 +0000 (21:18 +0000)]
Merge "Use a separate heap size to receive buffer" into oc-dev

7 years agoMerge "Revert "Avoid a potential race condition on mDisplays"" into oc-dev
TreeHugger Robot [Thu, 13 Apr 2017 21:07:43 +0000 (21:07 +0000)]
Merge "Revert "Avoid a potential race condition on mDisplays"" into oc-dev

7 years agoAdd "android.software.preview_sdk" feature
Justin Klaassen [Thu, 13 Apr 2017 20:51:29 +0000 (13:51 -0700)]
Add "android.software.preview_sdk" feature

Conditionally add the "android.software.preview_sdk" feature to any
targets that have a Build.VERSION.CODENAME != "REL". This allows clients
to filter out platforms that are not running official Android releases.

Bug: 31064561
Test: verified using PackageManager#getSystemAvailableFeatures()
Change-Id: I0c6a96d611df0823769feb12105b9669a2109358

7 years agoMerge changes Ica5f5f5c,Ifb7d2cec,Ia402b4bc,I9c3b6b7e,I36ba19c7, ... into oc-dev
TreeHugger Robot [Thu, 13 Apr 2017 20:30:48 +0000 (20:30 +0000)]
Merge changes Ica5f5f5c,Ifb7d2cec,Ia402b4bc,I9c3b6b7e,I36ba19c7, ... into oc-dev

* changes:
  libgui: Make IGraphicBufferConsumer a SafeInterface
  libbinder: Add vector<Parcelable> to SafeInterface
  libbinder: Add sp<NativeHandle> to SafeInterface
  libbinder: Support enums in SafeInterface
  libbinder: Support sp<Flattenable> in SafeInterface
  libbinder: Add int64_t/uint64_t to SafeInterface
  libgui: Normalize IGraphicBufferConsumer methods
  libgui: Format IGraphicBufferConsumer

7 years agoRevert "Avoid a potential race condition on mDisplays"
Tomasz Wasilczyk [Thu, 13 Apr 2017 19:14:30 +0000 (19:14 +0000)]
Revert "Avoid a potential race condition on mDisplays"

This reverts commit 8d6c16dc3dc8b88a0046f53668a4e3be074507ff.

Bug: b/37282502
Change-Id: Ibf64607f9e14ede201510e2c1b502c49a31e9f2a

7 years agoMerge "Add autofill feature API" into oc-dev
Svetoslav Ganov [Thu, 13 Apr 2017 18:54:01 +0000 (18:54 +0000)]
Merge "Add autofill feature API" into oc-dev

7 years agoAdd autofill feature API
Svet Ganov [Thu, 13 Apr 2017 18:51:44 +0000 (11:51 -0700)]
Add autofill feature API

bug:35956220

Test: manual (requires a custom build)

Change-Id: I5d42919d9419ac34825709cd80affa705cce32ed

7 years agoImport broadcast_ring.h from GVR (reland)
Michael Spang [Sat, 8 Apr 2017 00:22:17 +0000 (20:22 -0400)]
Import broadcast_ring.h from GVR (reland)

This will be used as a transport by the pose plumbing.

Remove host_supported=true from the blueprint. Although this library is
portable C++11, some of the tests aren't, and I don't know how to test
the various SDK targets in order to properly #ifdef them.

Bug: 37102512
Test: m -j32 broadcast_ring_tests; broadcast_ring_tests

Change-Id: Ib91387f2feba9030d2e892dc5145e353b88bad45

7 years agoUse a separate heap size to receive buffer
Craig Donner [Thu, 13 Apr 2017 01:38:07 +0000 (18:38 -0700)]
Use a separate heap size to receive buffer

Bug: 37216168
Bug: 37245884
Test: cts-tradefed run cts -m CtsNativeHardwareTestCases -t AHardwareBufferTest#AHardwareBuffer_SendAndRecv_Succeeds
Change-Id: I3bdf9c6a24ee1b07a14499f0987b0ac028bbae09

7 years agolibpdx_uds: Handle EACCES error when connecting to PDX service
Alex Vakulenko [Wed, 12 Apr 2017 21:02:19 +0000 (14:02 -0700)]
libpdx_uds: Handle EACCES error when connecting to PDX service

There is a race condition in the way init process creates socket
files before it forks into a child (see system/core/init/util.cpp,
function create_socket()). It first creates a socket, then calls
bind() which creates a file entry, then calls chown/chmod to change
ownership and access permissions of that file object. If a client
process connects to the socket just after bind() was called but before
chmod(), the socket file will have incorrect permissions and the
connect call will be aborted with EACCESS (Permission denied) error.

We should retry connection in case we get EACCESS. A proper fix would
be is to find a way for init to create the file entry with the proper
permissions to start with, and eliminate the race condition altogether.

Bug: 37171113
Test: `lunch sailfish-eng && m -j32` succeeds
      Device boots correctly.
      Error recovery is handled correctly even after adding sleep(5)
      to init process just before calling chmod on the socket.

Change-Id: If97c316daa0c0be5ff7b5aa302a69aa60e9fb237

7 years agoMerge "Fix installd test" into oc-dev
Calin Juravle [Thu, 13 Apr 2017 16:55:50 +0000 (16:55 +0000)]
Merge "Fix installd test" into oc-dev

7 years agoMerge "libvrhwc: Fix dependency order because Soong." into oc-dev
TreeHugger Robot [Thu, 13 Apr 2017 16:54:16 +0000 (16:54 +0000)]
Merge "libvrhwc: Fix dependency order because Soong." into oc-dev

7 years agoMerge "Add android.hardware.nfc.any to NFC features." into oc-dev
Martijn Coenen [Thu, 13 Apr 2017 16:53:18 +0000 (16:53 +0000)]
Merge "Add android.hardware.nfc.any to NFC features." into oc-dev

7 years agoMerge "Cleanup VR HWC type names in libdvr" into oc-dev
TreeHugger Robot [Thu, 13 Apr 2017 16:35:03 +0000 (16:35 +0000)]
Merge "Cleanup VR HWC type names in libdvr" into oc-dev

7 years agoMerge "Only enumerate display_timing when present timestamp supported" into oc-dev
Ian Elliott [Thu, 13 Apr 2017 14:08:45 +0000 (14:08 +0000)]
Merge "Only enumerate display_timing when present timestamp supported" into oc-dev

7 years agoMerge "Revert "Import broadcast_ring.h from GVR"" into oc-dev
TreeHugger Robot [Thu, 13 Apr 2017 11:54:37 +0000 (11:54 +0000)]
Merge "Revert "Import broadcast_ring.h from GVR"" into oc-dev

7 years agoRevert "Import broadcast_ring.h from GVR"
Tony Mak [Thu, 13 Apr 2017 09:39:04 +0000 (09:39 +0000)]
Revert "Import broadcast_ring.h from GVR"

This reverts commit e5c34974f2dd8a8e9ec61e68799d55f6df343224.

Reason for revert: Failing SDK target, see

https://android-build.googleplex.com/builds/quarterdeck?branch=git_master&target=sdk_phone_armv7-sdk_mac&lkgb=3906845&fkbb=3908362

Seems fix should be something like this:
https://android-review.googlesource.com/#/c/316195/1/src/code-buffer-vixl.cc

Anyway, I am not native code expert, so going to revert this :)

Test: treehugger only

Change-Id: Iba00bec4c2c8667dffd96f90a57948c827c4a6a3

7 years agolibvrhwc: Fix dependency order because Soong.
Corey Tabaka [Thu, 13 Apr 2017 08:24:56 +0000 (01:24 -0700)]
libvrhwc: Fix dependency order because Soong.

Static library dependencies must (usually) be in reverse order of
dependency. Use the correct dependency order to fix the build.

Bug: None
Test: make -j30
Change-Id: I332c800d993561ade3afb3c5eadeee73f97fb475

7 years agoMerge "Remove UID requirement for set sched_fifo for sensor thread" into oc-dev
TreeHugger Robot [Thu, 13 Apr 2017 08:25:33 +0000 (08:25 +0000)]
Merge "Remove UID requirement for set sched_fifo for sensor thread" into oc-dev

7 years agoUpdate to allow multiple HALs in a manifest.
Yifan Hong [Thu, 13 Apr 2017 08:00:12 +0000 (01:00 -0700)]
Update to allow multiple HALs in a manifest.

Test: libvintf_test
Test: lshal --init_vintf

Bug: 37294247
Change-Id: I202787d7856db6e06e595bd52c644f6a0eefcb66

7 years agoMerge "SurfaceFlinger: Add parent-less relative layering." into oc-dev
TreeHugger Robot [Thu, 13 Apr 2017 07:12:51 +0000 (07:12 +0000)]
Merge "SurfaceFlinger: Add parent-less relative layering." into oc-dev

7 years agomerge in oc-release history after reset to oc-dev
gitbuildkicker [Thu, 13 Apr 2017 07:08:50 +0000 (00:08 -0700)]
merge in oc-release history after reset to oc-dev

7 years agoMerge "MediaCas: combine openSession methods" into oc-dev
TreeHugger Robot [Thu, 13 Apr 2017 06:23:45 +0000 (06:23 +0000)]
Merge "MediaCas: combine openSession methods" into oc-dev

7 years agoMerge "libhwc2on1adapter: mark as vendor_available" into oc-dev
TreeHugger Robot [Thu, 13 Apr 2017 04:12:33 +0000 (04:12 +0000)]
Merge "libhwc2on1adapter: mark as vendor_available" into oc-dev

7 years agoMerge "Import broadcast_ring.h from GVR" into oc-dev
TreeHugger Robot [Thu, 13 Apr 2017 03:07:15 +0000 (03:07 +0000)]
Merge "Import broadcast_ring.h from GVR" into oc-dev

7 years agoRemove UID requirement for set sched_fifo for sensor thread
Peng Xu [Tue, 11 Apr 2017 05:16:48 +0000 (22:16 -0700)]
Remove UID requirement for set sched_fifo for sensor thread

Allow all requests to set priority.

Test: check error message in log, check thread prio using systrace
Bug: 35219747
Change-Id: I2b43c172ec0c982cb829764f484a057d096d82bc

7 years agoFix installd test
Calin Juravle [Thu, 13 Apr 2017 01:20:44 +0000 (18:20 -0700)]
Fix installd test

CreatePrimaryCurrentProfile was using the wrong userid for the expected
value.

Test: adb shell /data/nativetest/installd_utils_test/installd_utils_test
Bug: 36101738
Change-Id: I80b8212d09a0e4b600c00f85ac604a0e5fa1cc11

7 years agoMerge "display_manager_client unused parameter warning fixes" into oc-dev
TreeHugger Robot [Thu, 13 Apr 2017 01:06:30 +0000 (01:06 +0000)]
Merge "display_manager_client unused parameter warning fixes" into oc-dev

7 years agoMerge "surfaceflinger: start grahpics allocator when requested" into oc-dev
Iliyan Malchev [Thu, 13 Apr 2017 00:42:12 +0000 (00:42 +0000)]
Merge "surfaceflinger: start grahpics allocator when requested" into oc-dev

7 years agoMerge "Add PERMISSION_DENIED to convertResult." into oc-dev
Yifan Hong [Wed, 12 Apr 2017 23:53:00 +0000 (23:53 +0000)]
Merge "Add PERMISSION_DENIED to convertResult." into oc-dev

7 years agolibgui: Make IGraphicBufferConsumer a SafeInterface
Dan Stoza [Mon, 10 Apr 2017 20:41:53 +0000 (13:41 -0700)]
libgui: Make IGraphicBufferConsumer a SafeInterface

Converts IGraphicBufferConsumer to be a SafeInterface such that all
parceling/unparceling is done automatically.

Test: libgui_tests + manual testing
Change-Id: Ica5f5f5c3e6b5735f0f1327a50cefe8f3f6f0feb

7 years agolibbinder: Add vector<Parcelable> to SafeInterface
Dan Stoza [Mon, 10 Apr 2017 20:28:54 +0000 (13:28 -0700)]
libbinder: Add vector<Parcelable> to SafeInterface

Adds support fo sending and receiving std::vector<Parcelable>
parameters (such as the vector of OccupancyTracker::Segments in
IGraphicBufferConsumer::getOccupancyHistory) as part of a SafeInterface.

Test: New test in binderSafeInterfaceTest
Change-Id: Ifb7d2cece79ee9fd52791f61d2488e6a490805f3

7 years agolibbinder: Add sp<NativeHandle> to SafeInterface
Dan Stoza [Fri, 7 Apr 2017 23:32:38 +0000 (16:32 -0700)]
libbinder: Add sp<NativeHandle> to SafeInterface

Adds support for sending and receiving sp<NativeHandle> parameters as
part of a SafeInterface.

Test: New test in binderSafeInterfaceTest
Change-Id: Ia402b4bceedff358864669d201b4c1e22be6d0fa

7 years agoMerge "Mark as vendor_available" into oc-dev
Steven Moreland [Wed, 12 Apr 2017 23:10:18 +0000 (23:10 +0000)]
Merge "Mark as vendor_available" into oc-dev

7 years agodisplay_manager_client unused parameter warning fixes
Frank Barchard [Wed, 12 Apr 2017 23:04:42 +0000 (16:04 -0700)]
display_manager_client unused parameter warning fixes

Bug: 37206802
Test: builds locally with no warnings
Change-Id: I5755ee30d6ce4057297c367222d3cdd44904e23e
Edit

7 years agoOnly enumerate display_timing when present timestamp supported
Ian Elliott [Mon, 10 Apr 2017 20:42:30 +0000 (14:42 -0600)]
Only enumerate display_timing when present timestamp supported

Test: CTS and cube demo.
Bug: 36887025

Vulkan should only enumerate the VK_GOOGLE_display_timing extension if
the device supports reliably returning the present timestamp.  Vulkan
will determine this by reading a property that SurfaceFlinger will set
(based on the HWC2::Capability::PresentFenceIsNotReliable capability).

Change-Id: I6025be5f9120a8f02f228b8437b64be4ff8cfb17

7 years agoMerge "Correct configure direct report function document" into oc-dev
TreeHugger Robot [Wed, 12 Apr 2017 22:08:34 +0000 (22:08 +0000)]
Merge "Correct configure direct report function document" into oc-dev

7 years agoMerge changes from topic 'presentFenceNotReliable' into oc-dev
Brian C. Anderson [Wed, 12 Apr 2017 21:26:22 +0000 (21:26 +0000)]
Merge changes from topic 'presentFenceNotReliable' into oc-dev

* changes:
  egl: Use reserved values for eglGetFrameTimestamps
  egl: Differentiate pending vs invalid timestamps.
  egl: Avoid use of retire as present

7 years agoMerge "Link vndservicemanager against libselinux statically." into oc-dev
TreeHugger Robot [Wed, 12 Apr 2017 21:11:42 +0000 (21:11 +0000)]
Merge "Link vndservicemanager against libselinux statically." into oc-dev

7 years agoRelease virtual display hwcId during vr mode transition.
Alex Sakhartchouk [Wed, 12 Apr 2017 21:09:42 +0000 (17:09 -0400)]
Release virtual display hwcId during vr mode transition.

When we recreate the display state during VR mode transition, we were not
previously releasing hwcId with vr hardware composer. That resulted in VR
using the only VirtualDisplay provided by vr_hwc during the first run.
Every subsequent run failed to allocate a new hwcId id.

This manifested itself when DON (device on) flow quickly kicked the device
into and out of VR mode. Normally the binding is cleaned up when java
frameworks destroy the VD upon exiting VR mode, but it does so with a
short delay to account for rapid in/out transition, during which the
hwcId was getting left behind.

Bug: 34281731
Test: Run VR app, launch 2D app in VirtualDisplay, see it on the screen.
Close VR app, exit to 2D mode, repeat and observe 2D app in VR again.

Change-Id: I8faabdcd3516190ad88d1361c468f7f472ead588

7 years agoAdd android.hardware.nfc.any to NFC features.
Martijn Coenen [Wed, 12 Apr 2017 20:49:52 +0000 (13:49 -0700)]
Add android.hardware.nfc.any to NFC features.

So we can start the NFC process whenever one of
these is present.

Bug: 36873979
Bug: 37269025
Test: NFC is still started on devices with this feature
Change-Id: I879c084c1ed56e33a4249172c8fa3c04b1c5f236

7 years agosurfaceflinger: start grahpics allocator when requested
Chia-I Wu [Thu, 30 Mar 2017 18:56:21 +0000 (11:56 -0700)]
surfaceflinger: start grahpics allocator when requested

When ISurfaceFlingerConfigs::startGraphicsAllocatorService returns
true, start graphics allocator service.

Bug: 36462585
Test: YouTube, Play Movies
Change-Id: Iac177e96ec89465398ec3eef46208bdb817934e3

7 years agoOtapreopt: Check dexopt return status before retry
Andreas Gampe [Tue, 21 Mar 2017 01:42:49 +0000 (18:42 -0700)]
Otapreopt: Check dexopt return status before retry

Only retry compilation (triggering a wipe and boot image regeneration)
when dex2oat failed in runtime creation.

(cherry picked from commit 2c925927ee7524086965be324e614c9041126085)

Bug: 36336122
Test: m
Test: Device boots
Test: Can install apps
Test: Can run A/B OTA
Change-Id: I1a2ae3a871a926002980acd8b7fa777fe8f7d739
(cherry picked from commit 54e1a402610d7f392f7e421dcafcf6b017a99d88)

7 years agoSurfaceFlinger: Add parent-less relative layering.
Robert Carr [Mon, 10 Apr 2017 23:55:57 +0000 (16:55 -0700)]
SurfaceFlinger: Add parent-less relative layering.

This is a temporary functionality for the intermediate state where not
all child-surface like things in WM land are ported to use Child
Surfaces. In particular, we have ported SurfaceView to use child
surfaces and relative Z ordering. However the TV frameworks provide a
View framework component which overlays views over the SurfaceView but
below the main application window. Since we have not ported View
framework surfaces to use child layers, there is nothing the WM or
View Framework can do about this situation. Luckily the WM API's to
have requested this are @hide but we have the one media framework
component using it. In order to solve this issue we provide a method
to set Z ordering relative to another window without inheriting
its coordinate space as a child window would. This way the WM can
recognize these TYPE_APPLICATION_MEDIA_OVERLAY windows and Z-order
them at -1 with respect to the parents (and the SurfaceView can be at
-2).

Test: Included in transaction tests. Also manual test of bug repro steps with accomp frameworks/base CL
Bug: 36693738
Change-Id: I921852d3d34f67f79ec745b9703f9e679867e7a1

7 years agoLink vndservicemanager against libselinux statically.
Martijn Coenen [Wed, 12 Apr 2017 18:50:42 +0000 (11:50 -0700)]
Link vndservicemanager against libselinux statically.

Bug: 37189668
Test: vndservicemanager works
Change-Id: I8187fb86371d5a2073287beb6b17e263eedfb17b

7 years agoCleanup VR HWC type names in libdvr
Daniel Nicoara [Thu, 6 Apr 2017 18:29:40 +0000 (14:29 -0400)]
Cleanup VR HWC type names in libdvr

Add DvrHwc prefix to enums and types defined in the API to avoid naming
conflicts.

Bug: 36050795
Test: Compiled
Change-Id: Ic5071ccd6f2b16863f0001009a4255f8279ce1e8

7 years agoMerge "Add private helpers needed for job queue." into oc-dev
Dianne Hackborn [Wed, 12 Apr 2017 17:55:49 +0000 (17:55 +0000)]
Merge "Add private helpers needed for job queue." into oc-dev

7 years agoMerge "Otapreopt: Check dexopt return status before retry" into oc-dev
TreeHugger Robot [Wed, 12 Apr 2017 17:19:19 +0000 (17:19 +0000)]
Merge "Otapreopt: Check dexopt return status before retry" into oc-dev

7 years agoMerge changes Ia1fa4a32,I2a4c3d9f into oc-dev
TreeHugger Robot [Wed, 12 Apr 2017 08:01:41 +0000 (08:01 +0000)]
Merge changes Ia1fa4a32,I2a4c3d9f into oc-dev

* changes:
  hwc2: Remove Display::{mIsVirtual,setVirtual}
  hwc2: Cache display type at construction