OSDN Git Service

android-x86/frameworks-native.git
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 "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 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 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 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 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 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 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

7 years agoMerge "Convert the pose buffer into a more generic named buffer" into oc-dev
TreeHugger Robot [Wed, 12 Apr 2017 07:37:16 +0000 (07:37 +0000)]
Merge "Convert the pose buffer into a more generic named buffer" into oc-dev

7 years agoMerge "IDirectReport.configure returns token" into oc-dev
TreeHugger Robot [Wed, 12 Apr 2017 05:01:12 +0000 (05:01 +0000)]
Merge "IDirectReport.configure returns token" into oc-dev

7 years agolibhwc2on1adapter: mark as vendor_available
Steven Moreland [Wed, 12 Apr 2017 04:28:39 +0000 (21:28 -0700)]
libhwc2on1adapter: mark as 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 libhwc2on1adapter
Test: attempt to compile with BOARD_VNDK_VERSION := current
Change-Id: Ide1e74a5e99b30fef9daca2b551e7eb9f46727a5

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

7 years agoMerge "VR: Update VR HWC to use buffer metadata passed by SurfaceFlinger" into oc-dev
TreeHugger Robot [Wed, 12 Apr 2017 01:11:33 +0000 (01:11 +0000)]
Merge "VR: Update VR HWC to use buffer metadata passed by SurfaceFlinger" into oc-dev

7 years agoegl: Use reserved values for eglGetFrameTimestamps
Brian Anderson [Tue, 11 Apr 2017 19:54:59 +0000 (12:54 -0700)]
egl: Use reserved values for eglGetFrameTimestamps

Also update opengl/specs/README so it's clear which blocks
of values are already reserved.

Bug: 36887025
Test: --deqp-case=dEQP-EGL*get_frame_timestamps*
Change-Id: I2cd83553cc475fdf3f8cdfadf2eaf32abc8a7c09

7 years agoegl: Differentiate pending vs invalid timestamps.
Brian Anderson [Mon, 20 Mar 2017 23:54:25 +0000 (16:54 -0700)]
egl: Differentiate pending vs invalid timestamps.

Test: adb shell /data/nativetest/libgui_test/libgui_test
    --gtest_filter=*GetFrameTimestamps*

Change-Id: Iaa418ff1753a4339bfefaa68a6b03e8c96366a87

7 years agoMerge "libui: support GRALLOC1_CAPABILITY_RELEASE_IMPLY_DELETE" into oc-dev
TreeHugger Robot [Tue, 11 Apr 2017 23:52:37 +0000 (23:52 +0000)]
Merge "libui: support GRALLOC1_CAPABILITY_RELEASE_IMPLY_DELETE" into oc-dev

7 years agoMerge "Avoid a potential race condition on mDisplays" into oc-dev
TreeHugger Robot [Tue, 11 Apr 2017 23:52:19 +0000 (23:52 +0000)]
Merge "Avoid a potential race condition on mDisplays" into oc-dev

7 years agoConvert the pose buffer into a more generic named buffer
Hendrik Wagenaar [Thu, 6 Apr 2017 17:56:23 +0000 (10:56 -0700)]
Convert the pose buffer into a more generic named buffer

* It's likely that we'll have more than one pose buffer
* It's cleaner to separate the vsync info into a separate buffer

Bug: 37001881
Bug: 37240552
Test: Added and manually ran TestNamedBuffersSetup
Change-Id: I76621d3cfa8c21c9d5d1e6e648854067673be9ab

7 years agoegl: Avoid use of retire as present
Brian Anderson [Tue, 4 Apr 2017 17:51:39 +0000 (10:51 -0700)]
egl: Avoid use of retire as present

Retire fences from HWC1 are implemented inconsitently,
so present emulation doesn't always work well.

This patch disables present for all HWC1 based devices.

Test: adb shell /data/nativetest/libgui_test/libgui_test
  --gtest_filter=*GetFrameTimestamps*
Bug: 3673084936887025

Change-Id: I1eba2f8490c2f6feced2a36d1efc4cd66be7da40

7 years agoMerge "schedulerservice: implement getMaxAllowedPriority" into oc-dev
TreeHugger Robot [Tue, 11 Apr 2017 21:45:01 +0000 (21:45 +0000)]
Merge "schedulerservice: implement getMaxAllowedPriority" into oc-dev

7 years agohwc2: Remove Display::{mIsVirtual,setVirtual}
Chris Forbes [Tue, 11 Apr 2017 19:20:00 +0000 (12:20 -0700)]
hwc2: Remove Display::{mIsVirtual,setVirtual}

Trivial cleanup.

Now that mType is available, we don't need a separate flag for whether
the display is virtual. The remaining effect of setVirtual was to set
the display connected, so just use setConnected.

Bug: b/36597125
Test: build
Change-Id: Ia1fa4a324cc07b0d6c124f4f50966c8b0cbe4827

7 years agohwc2: Cache display type at construction
Chris Forbes [Tue, 11 Apr 2017 17:04:31 +0000 (10:04 -0700)]
hwc2: Cache display type at construction

The display type is constant for the life of the display. Query it
upfront to avoid the binder transaction later.

V2: fixup HWC1 path

Test: boot to launcher on bullhead; build on fugu for HWC1 path
Bug: b/36597125
Change-Id: I2a4c3d9ff449960957376afef78f424261fcc282

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

Update: The HWC1 path needed to be updated in light of a change to
SurfaceFlinger.h. The build now works for both paths.

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
Test: Compiled for both HWC1 and HWC2 surface flinger builds.
      Normal behavior is unchanged. Explicitly testing the race
      condition required instrumenting code with sleep statements.

Change-Id: I0b00e857a3b2fd01948a888db2f0715d2a8204c1

7 years agoIDirectReport.configure returns token
Yifan Hong [Mon, 10 Apr 2017 19:47:45 +0000 (12:47 -0700)]
IDirectReport.configure returns token

Test: pass
Test: VtsHalSensorManagerV1_0TargetTest

Bug: 37244013

Change-Id: I104a33420089c13cc85973b470f8179292d8094d

7 years agoMediaCas: combine openSession methods
Chong Zhang [Fri, 7 Apr 2017 21:10:01 +0000 (14:10 -0700)]
MediaCas: combine openSession methods

bug: 22804304
Change-Id: I380ed6c1fe0f79be9e05d671f9370e5eae18a351

7 years agolibui: support GRALLOC1_CAPABILITY_RELEASE_IMPLY_DELETE
Chia-I Wu [Tue, 11 Apr 2017 17:03:38 +0000 (10:03 -0700)]
libui: support GRALLOC1_CAPABILITY_RELEASE_IMPLY_DELETE

Honor GRALLOC1_CAPABILITY_RELEASE_IMPLY_DELETE in
GraphicBufferMapper and advertise the cap in the adapter.

Bug: 36355756
Test: boots on gralloc0 and gralloc1 devices
Change-Id: I54a4855883904255fba9a0821ff9d866d265d25a

7 years agoMark as vendor_available
Dan Willemsen [Fri, 7 Apr 2017 21:14:08 +0000 (14:14 -0700)]
Mark as 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: Android-aosp_arm.mk is the same before/after
Test: build.ninja is the same before/after
Test: build-aosp_arm.ninja is the same before/after
Test: attempt to compile with BOARD_VNDK_VERSION := current
Merged-In: I875a75d785aa13b97751e1c145183d87add01845
Change-Id: I875a75d785aa13b97751e1c145183d87add01845

7 years agoMerge "Update BufferHub service/client with support for gralloc1 usage." into oc-dev
TreeHugger Robot [Tue, 11 Apr 2017 16:51:44 +0000 (16:51 +0000)]
Merge "Update BufferHub service/client with support for gralloc1 usage." into oc-dev

7 years agoMerge "android.frameworks.sensorservice@1.0: Looper thread SCHED_FIFO" into oc-dev
TreeHugger Robot [Tue, 11 Apr 2017 16:28:45 +0000 (16:28 +0000)]
Merge "android.frameworks.sensorservice@1.0: Looper thread SCHED_FIFO" into oc-dev

7 years agoMerge "Prevent runtime restart for crashed clients to framework sensorservice." into...
TreeHugger Robot [Tue, 11 Apr 2017 16:28:45 +0000 (16:28 +0000)]
Merge "Prevent runtime restart for crashed clients to framework sensorservice." into oc-dev

7 years agoandroid.frameworks.sensorservice@1.0: Looper thread SCHED_FIFO
Yifan Hong [Mon, 10 Apr 2017 18:49:21 +0000 (11:49 -0700)]
android.frameworks.sensorservice@1.0: Looper thread SCHED_FIFO

Looper thread uses SCHED_FIFO with a priority 10.

Test: sensor works (sanity checks with camera app), logcat
      doesn't show SCHED_FIFO could not be used

b/34386025 [Treble] Identify and fix Binder usage by camera HALs that isn't NDK-based
b/35219747 [Treble] Figure out the new interface between camera and sensor
b/36651814 [QCOM Treble] [REDACTED] Camera HAL uses Binder
b/36651420 [QCOM Treble] [REDACTED] location daemon uses Binder

Change-Id: I0f236a77cccdc8d67a933daf7d5046947c82a3cf

7 years agoVR: Update VR HWC to use buffer metadata passed by SurfaceFlinger
Daniel Nicoara [Mon, 10 Apr 2017 17:27:32 +0000 (13:27 -0400)]
VR: Update VR HWC to use buffer metadata passed by SurfaceFlinger

Without gralloc1 support, need to pass buffer metadata in order to
import native buffers and used them as graphic buffers.

Bug: 36481301
Test: Compiled and ran on device; Verified VR Window Manager properly
displays SurfaceFlinger buffers.

Change-Id: I8426be1d79dcc2fbd631c399427ae03cb2afc21d

7 years agoIServiceManager: dump stack on blocked vndbinder requests
Iliyan Malchev [Mon, 10 Apr 2017 21:09:04 +0000 (14:09 -0700)]
IServiceManager: dump stack on blocked vndbinder requests

Dump the stack of the thread requesting a service over /dev/vndbinder,
when the requestor is blocked waiting on the service.  This is very
helpful in identifying bugs in converting code to /dev/vndbinder.

Test: sailfish

Change-Id: Iaaf6a83df3465dd5b64cd83c19d8918cfa01d3d8
Signed-off-by: Iliyan Malchev <malchev@google.com>
7 years agobinder: add getDriverName()
Iliyan Malchev [Mon, 10 Apr 2017 21:06:11 +0000 (14:06 -0700)]
binder: add getDriverName()

Ass ProcessState::getDriverName() to retrieve the /dev node that
libbinder is initialized with in this process.  This can be used
elsewhere to add debug code that is enabled for only one binder domain
or another.

Test: sailfish

Change-Id: I3ea9f0dcc97204508791bdeb70f790980be278a5
Signed-off-by: Iliyan Malchev <malchev@google.com>
7 years agoMerge changes from topic 'llndk_rename' into oc-dev
TreeHugger Robot [Tue, 11 Apr 2017 07:22:19 +0000 (07:22 +0000)]
Merge changes from topic 'llndk_rename' into oc-dev

* changes:
  Remove .(ll)ndk suffix from (ll)ndk_library
  Remove .(ll)ndk suffix from (ll)ndk_library

7 years agoschedulerservice: implement getMaxAllowedPriority
Steven Moreland [Tue, 11 Apr 2017 05:09:03 +0000 (22:09 -0700)]
schedulerservice: implement getMaxAllowedPriority

Test: SCHED_FIFO gets set on vendor marlin camera
Bug: 29251823
Change-Id: Ia6231651acb30620dd1655c8e65f3b380ec575d0

7 years agoPrevent runtime restart for crashed clients to framework sensorservice.
Andreas Huber [Fri, 7 Apr 2017 19:52:17 +0000 (12:52 -0700)]
Prevent runtime restart for crashed clients to framework sensorservice.

This only happens when the client dies, in which case the event queue
reference will be dropped on the client side, so the call to handleEvent
won't even be fired, except for a race condition.

The race condition is, if handleEvent is already fired,
then client dies and the event queue is going to be destroyed and the
fd is going to be removed, but before that the call onEvent fails.

Test: clients of SensorManager that uses event queue no longer
      crashes.
Bug: 35219747

Change-Id: Ibdf062528a219fae65ee6263ed742229ec3cd0d6

7 years agoMerge "Load Vulkan driver into sphal namespace" into oc-dev
TreeHugger Robot [Tue, 11 Apr 2017 03:14:13 +0000 (03:14 +0000)]
Merge "Load Vulkan driver into sphal namespace" into oc-dev

7 years agoAdd PERMISSION_DENIED to convertResult.
Yifan Hong [Mon, 10 Apr 2017 20:37:25 +0000 (13:37 -0700)]
Add PERMISSION_DENIED to convertResult.

Test: pass
Change-Id: Idb0316a21ec22fca07168a25e15acc18652ff0ff

7 years agoMerge "libui: update for revised HIDL gralloc" into oc-dev
Chia-I Wu [Tue, 11 Apr 2017 01:08:37 +0000 (01:08 +0000)]
Merge "libui: update for revised HIDL gralloc" into oc-dev

7 years agoAdd private helpers needed for job queue.
Dianne Hackborn [Mon, 10 Apr 2017 22:34:35 +0000 (15:34 -0700)]
Add private helpers needed for job queue.

We need to compare the data in parcels.  Bleah.

Test: not relevant here.

Change-Id: I7b694ec89793449bf7ac342f663dc534feedf9b6

7 years agoMerge "Work on issue #36863299: [Fugu] CTS: PermissionFeatureTest failures:..." into...
TreeHugger Robot [Tue, 11 Apr 2017 00:47:50 +0000 (00:47 +0000)]
Merge "Work on issue #36863299: [Fugu] CTS: PermissionFeatureTest failures:..." into oc-dev

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

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

Bug: 37102512
Test: m -j32 broadcast_ring_tests; broadcast_ring_tests

Change-Id: I8122b98d9cc5fc9f148bbe9a823b17ac9d7a5626

7 years agoRemove .(ll)ndk suffix from (ll)ndk_library
Steven Moreland [Mon, 10 Apr 2017 19:56:54 +0000 (12:56 -0700)]
Remove .(ll)ndk suffix from (ll)ndk_library

Soong handles these automatically now.

Bug: 33241851
Test: Android-aosp_arm.mk is the same before/after
Test: build.ninja is the same before/after
Test: build-aosp_arm.ninja is the same before/after
Change-Id: I5a16edfb57ca9d3059cdef0a57c7c79e614878fe

7 years agoRemove .(ll)ndk suffix from (ll)ndk_library
Dan Willemsen [Fri, 7 Apr 2017 22:48:39 +0000 (15:48 -0700)]
Remove .(ll)ndk suffix from (ll)ndk_library

Soong handles these automatically now.

Bug: 33241851
Test: Android-aosp_arm.mk is the same before/after
Test: build.ninja is the same before/after
Test: build-aosp_arm.ninja is the same before/after
Change-Id: Ie1cd267564095c51e536b7a84d53e7aed9dca288

7 years agoWork on issue #36863299: [Fugu] CTS: PermissionFeatureTest failures:...
Dianne Hackborn [Mon, 10 Apr 2017 18:55:24 +0000 (11:55 -0700)]
Work on issue #36863299: [Fugu] CTS: PermissionFeatureTest failures:...

...File ata/etc/tv_core_hardware.xml does not exist

Add new separate file for the CTS feature.

Test: none needed

Change-Id: I3be83072e65781224c735b920b0b4fba22f57e4c

7 years agoMerge "Get a hack in place for broken quotas." into oc-dev
TreeHugger Robot [Mon, 10 Apr 2017 18:45:47 +0000 (18:45 +0000)]
Merge "Get a hack in place for broken quotas." into oc-dev

7 years agolibui: update for revised HIDL gralloc
Chia-I Wu [Thu, 6 Apr 2017 19:34:32 +0000 (12:34 -0700)]
libui: update for revised HIDL gralloc

The revised HIDL gralloc is implementable on top of gralloc0 and
gralloc1, which enables us to remove all legacy code.

However, it lacks the ability to query buffer properties from a
buffer handle.  GetBufferFromHandle in VR always fails.

Bug: 36481301
Test: builds and boots on Pixel
Change-Id: Id7cfa2d2172dfc008803860f24fcf4f03ba05f11

7 years agoMerge "Add missing functor for DVR API" into oc-dev
TreeHugger Robot [Mon, 10 Apr 2017 15:46:58 +0000 (15:46 +0000)]
Merge "Add missing functor for DVR API" into oc-dev

7 years agoMerge "Revert "Avoid a potential race condition on mDisplays"" into oc-dev
Polina Bondarenko [Mon, 10 Apr 2017 11:07:31 +0000 (11:07 +0000)]
Merge "Revert "Avoid a potential race condition on mDisplays"" into oc-dev

7 years agoRevert "Avoid a potential race condition on mDisplays"
Polina Bondarenko [Mon, 10 Apr 2017 10:15:42 +0000 (10:15 +0000)]
Revert "Avoid a potential race condition on mDisplays"

This reverts commit 5576a555a14edd8c76addce2cee37b9b9ced2c3f.

Change-Id: I5d5889fccd94acacfbfef29847e4b65ef2543c75

7 years agoGet a hack in place for broken quotas.
Jeff Sharkey [Mon, 10 Apr 2017 06:19:46 +0000 (00:19 -0600)]
Get a hack in place for broken quotas.

Sadly we mixed together both UID and GID quotas in such a way that
we couldn't detangle the actual data-vs-cache usage in all cases.

Temporarily patch over this to get CTS passing until we can circle
back and try again.

Test: cts-tradefed run commandAndExit cts-dev -m CtsAppSecurityHostTestCases -t android.appsecurity.cts.StorageHostTest
Bug: 3673117537193650
Change-Id: I5870b4e9c22398762fc47672e4d5d78c06bef79f

7 years agoMerge "Load GL graphics drivers explicitly from sphal namespace" into oc-dev
TreeHugger Robot [Mon, 10 Apr 2017 01:53:32 +0000 (01:53 +0000)]
Merge "Load GL graphics drivers explicitly from sphal namespace" into oc-dev

7 years agoLoad Vulkan driver into sphal namespace
Jesse Hall [Fri, 7 Apr 2017 23:48:02 +0000 (16:48 -0700)]
Load Vulkan driver into sphal namespace

Test: bit CtsGraphicsTestCases:.VulkanFeaturesTest
Bug: 37143654
Change-Id: I4d14b7a7642071648d52d716870a41cfb4e844f1

7 years agoLoad GL graphics drivers explicitly from sphal namespace
Jiyong Park [Wed, 5 Apr 2017 05:23:52 +0000 (14:23 +0900)]
Load GL graphics drivers explicitly from sphal namespace

In Treble term, GL wrappers (libEGL.so, libGLES*.so, ...) are called
SP-NDK and actual drivers (libEGL_*.so, libGLESv2_*.so, ...)
are called SP-HALs. (SP = Same-Process).

SP-HALs are developed by vendors and thus they can use only a subset of
framework libraries that we call vndk-stable and subset of NDK
libraries. It consists of libc, libm, liblog, libz, libnativewindow,
libc++, ..., but not framework-only libraries such as libui, libandroid,
etc.

In order to enforce such restriction at run-time, we will use the linker
namespace. Specifically, we create a new namespace named 'sphal' and
configure it so that...
1) it can only search and load libraries from /vendor/lib,
2) it redirects the load/link request to the default namespace when the
allowed list of libraries are requested from the caller, and
3) it rejects to search/load any library other than 1) and 2).

The problem here is, GL wrapper need to tell the linker to load the
drivers from the separate namespace (the 'sphal' namespace other than
the default namespace. To specify the namespace, we need to use
android_dlopen_ext() instead of dlopen().`

Bug: 34407260
Bug: 37049319
Test: none, no op for now since we haven't create sphal namespace.

Change-Id: I376dd9e5cc904452f669c27eb85c59b30b43dc39

7 years agoMerge "Add HIDL Scheduler Service implementation." into oc-dev
TreeHugger Robot [Sat, 8 Apr 2017 02:26:56 +0000 (02:26 +0000)]
Merge "Add HIDL Scheduler Service implementation." into oc-dev

7 years agoMerge "Enable FEATURE_ACTIVITIES_ON_SECONDARY_DISPLAYS on phones and tablets" into...
Andrii Kulian [Sat, 8 Apr 2017 01:51:23 +0000 (01:51 +0000)]
Merge "Enable FEATURE_ACTIVITIES_ON_SECONDARY_DISPLAYS on phones and tablets" into oc-dev

7 years agoMerge "Avoid a potential race condition on mDisplays" into oc-dev
TreeHugger Robot [Sat, 8 Apr 2017 01:48:20 +0000 (01:48 +0000)]
Merge "Avoid a potential race condition on mDisplays" into oc-dev

7 years agoUpdate BufferHub service/client with support for gralloc1 usage.
Corey Tabaka [Sat, 8 Apr 2017 01:03:57 +0000 (18:03 -0700)]
Update BufferHub service/client with support for gralloc1 usage.

- Add support for gralloc1 usage flags.
- Mimic how GraphicBuffer supports gralloc0 usage flags: (usage, usage).
- Move to using pdx::Status<T> since we're touching signatures everywhere.

Bug: 36401174
Test: bufferhub_tests; buffer_hub_queue-test
Change-Id: I0e5184197b21eda9806bbea44f63b546b030692a

7 years agoAdd HIDL Scheduler Service implementation.
Steven Moreland [Fri, 7 Apr 2017 17:46:25 +0000 (10:46 -0700)]
Add HIDL Scheduler Service implementation.

Test: marlin camera successfully sets permissions
Bug: 29251823
Change-Id: Ic7dc0377e5b0c3b08d32cf97dae39b6d35a0f631

7 years agoMerge "(DO NOT MERGE) media: Add new OMX extension for setting latency." into oc-dev
TreeHugger Robot [Sat, 8 Apr 2017 00:02:08 +0000 (00:02 +0000)]
Merge "(DO NOT MERGE) media: Add new OMX extension for setting latency." 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

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
Test: Normal behavior is unchanged. Explicitly testing the race
condition required instrumenting code with sleep statements.

Change-Id: I1f8fcf23982c311d47267beca8127b6c29562ce5

7 years agoEnable FEATURE_ACTIVITIES_ON_SECONDARY_DISPLAYS on phones and tablets
Andrii Kulian [Fri, 7 Apr 2017 23:12:44 +0000 (16:12 -0700)]
Enable FEATURE_ACTIVITIES_ON_SECONDARY_DISPLAYS on phones and tablets

Bug: 36776777
Test: android.server.cts.ActivityManagerDisplayTests
Change-Id: If3fbf32f1f6c3de2f12f4b446f9350ea666a0d97

7 years agoMerge "Don't stack-allocate binder objects." into oc-dev
TreeHugger Robot [Fri, 7 Apr 2017 22:53:02 +0000 (22:53 +0000)]
Merge "Don't stack-allocate binder objects." into oc-dev

7 years agoMerge "Fix binderValueTypeTest" into oc-dev
TreeHugger Robot [Fri, 7 Apr 2017 22:27:03 +0000 (22:27 +0000)]
Merge "Fix binderValueTypeTest" into oc-dev

7 years agoFix binderValueTypeTest
Tri Vo [Fri, 7 Apr 2017 20:15:06 +0000 (13:15 -0700)]
Fix binderValueTypeTest

Bug: 36903040
Test: compile, push, run on device.
Change-Id: I788dd7f5b5800a894aba4262553c7c6361549850

7 years agoMerge "Add separate 'vndservice' binary." into oc-dev
TreeHugger Robot [Fri, 7 Apr 2017 20:03:29 +0000 (20:03 +0000)]
Merge "Add separate 'vndservice' binary." into oc-dev

7 years agoMerge "vr_hwc: Address ion buffer leakage" into oc-dev
TreeHugger Robot [Fri, 7 Apr 2017 18:35:08 +0000 (18:35 +0000)]
Merge "vr_hwc: Address ion buffer leakage" into oc-dev

7 years agoMerge "libpdx: Fix ThreadLocalBufferTest.InitialValue unittest" into oc-dev
TreeHugger Robot [Fri, 7 Apr 2017 17:49:22 +0000 (17:49 +0000)]
Merge "libpdx: Fix ThreadLocalBufferTest.InitialValue unittest" into oc-dev

7 years agoAdd separate 'vndservice' binary.
Martijn Coenen [Fri, 7 Apr 2017 17:46:57 +0000 (10:46 -0700)]
Add separate 'vndservice' binary.

This is installed on the vendor partition,
and can be used to call into vndservicemanager
and the services it hosts.

Bug: 36987120
Test: vndservice list works
Change-Id: I2d72312276cd4402ee1b399713cd5322b125b00f

7 years agoVR HWC: Relax checks around layer presentation
Daniel Nicoara [Thu, 6 Apr 2017 15:10:33 +0000 (11:10 -0400)]
VR HWC: Relax checks around layer presentation

Rather than error out on layers without buffers, simply discard them.
This is more in line with other HWComposer implementations which deal
with this error, since SurfaceFlinger doesn't handle it appropriately.

Bug: 37091090
Test: Ran on device and verified errors are no longer reported in logcat
Change-Id: Iacfd9fa707d86367c7b6dbf62edea297fc9dfb8e

7 years agoDon't stack-allocate binder objects.
Kevin Schoedel [Thu, 6 Apr 2017 17:49:41 +0000 (13:49 -0400)]
Don't stack-allocate binder objects.

These inherit from RefBase and need to be owned in an sp<>.

Bug: 36854729
Test: manual on Pixel phone
Change-Id: I5ac6f50c1a21d4c8b224d41149b16da4d438dba7
Merged-In: I54dac1298dca1eb3ab5e6751366ba67bb2e1906c

7 years agoMerge "Fix the latency model." into oc-dev
Okan Arikan [Fri, 7 Apr 2017 16:51:21 +0000 (16:51 +0000)]
Merge "Fix the latency model." into oc-dev

7 years agoMerge changes from topic 'vrflinger-prep' into oc-dev
TreeHugger Robot [Fri, 7 Apr 2017 16:48:04 +0000 (16:48 +0000)]
Merge changes from topic 'vrflinger-prep' into oc-dev

* changes:
  libpdx: Decay variant types to correctly handle cv-reference types.
  libpdx: Fix forward declarations using default template args.
  Add additional accessors to IonBuffer and BufferHubBuffer.
  Update BufferHubQueue in preparation for VrFlinger refactor.

7 years agolibpdx: Fix ThreadLocalBufferTest.InitialValue unittest
Alex Vakulenko [Fri, 7 Apr 2017 15:55:03 +0000 (08:55 -0700)]
libpdx: Fix ThreadLocalBufferTest.InitialValue unittest

A call to GetBuffer() has been inadvertently removed during code
upstreaming to master. See the BUG below for more details.

Bug: 36456321
Test: `pdx_tests` now succeed on Sailfish
Change-Id: Ic7d6ecbbd9b0e59e74b48a66a9e3701dc44695bc

7 years agoFix the latency model.
Okan Arikan [Thu, 6 Apr 2017 23:35:56 +0000 (16:35 -0700)]
Fix the latency model.

We were being too clever in modeling the latency using exponentially
moving average. The issue is that the average changes as new samples come in
which we then use to update the timestamps.

If the sampling rate is high enough (like IMU) then the changes in the average
are close to the delta times between samples. This causes the sample times
to move, and sometimes even change their updated timestamp order. This
causes all kinds of mess when we linearly extrapolate because the slope is bogus.

The fix is to just average a certain number of latency samples and then stick with that
constant average.

Bug: 36997591
Test: Run any 3DOF VR app.
Change-Id: I5411b2a6b7c3f258bf197f0615c0339d68fd2fd7

7 years agoMerge "Support halt the trace when schd-dbg hit deadline" into oc-dev
TreeHugger Robot [Fri, 7 Apr 2017 03:39:19 +0000 (03:39 +0000)]
Merge "Support halt the trace when schd-dbg hit deadline" into oc-dev

7 years agoMerge "Add option to list vndservicemanager services." into oc-dev
TreeHugger Robot [Fri, 7 Apr 2017 02:09:00 +0000 (02:09 +0000)]
Merge "Add option to list vndservicemanager services." into oc-dev

7 years agoMerge "vrwm: Handle intents launched by the VR app" into oc-dev
TreeHugger Robot [Fri, 7 Apr 2017 01:45:22 +0000 (01:45 +0000)]
Merge "vrwm: Handle intents launched by the VR app" into oc-dev

7 years agoMerge "libpdx_uds: Fix RPC channel ID allocation to not recycle values as often"...
TreeHugger Robot [Fri, 7 Apr 2017 01:07:57 +0000 (01:07 +0000)]
Merge "libpdx_uds: Fix RPC channel ID allocation to not recycle values as often" into oc-dev

7 years agoCorrect configure direct report function document
Peng Xu [Fri, 7 Apr 2017 01:02:29 +0000 (18:02 -0700)]
Correct configure direct report function document

Test: comment change, compiles
Change-Id: If9f13996d5cfc55370fefd3fabd2f78abaf2c5fa

7 years agoMerge changes from topics 'seinfo', 'public_dex' into oc-dev
Calin Juravle [Fri, 7 Apr 2017 00:23:43 +0000 (00:23 +0000)]
Merge changes from topics 'seinfo', 'public_dex' into oc-dev

* changes:
  Restore selinux labels for secondary dex oat directory
  Fix permission for public secondary dex files

7 years agovr_hwc: Address ion buffer leakage
Mark Urbanus [Thu, 6 Apr 2017 22:29:57 +0000 (15:29 -0700)]
vr_hwc: Address ion buffer leakage

Problem:
system is running out of memory while switching between apps back and forth.

Root-cause:
vr_hwc is leaking ion buffers by holding an unreleased reference.

Solution:
No need to register the buffer when getting buffer info. This removes the
additional (unreleased) reference on the buffer.

Test: Validated vr_hwc is no longer leaking ion buffers when switching
      apps.
Bug: 36449218

Change-Id: I1c1c5d2cca35c50a4bcbcf7b879d37914b8d835f

7 years agolibpdx_uds: Fix RPC channel ID allocation to not recycle values as often
Alex Vakulenko [Thu, 6 Apr 2017 21:51:54 +0000 (14:51 -0700)]
libpdx_uds: Fix RPC channel ID allocation to not recycle values as often

The value of channel ID for PDX service on UDS transport was actual file
descriptor value for the data socket. Since channels are open and closed
constantly, it is quite often that channel ID is being reused immediately,
so it is almost impossible to use `cid` as unique identifier for objects
being passed around.

Instead, we now use monotonically growing channel ID value.

To prevent the possibility of using channel ID as the socket FD and vice
versa, changed all helper functions that used to take socket_fd as an int
to explicitly use BorrowedHandle which disables implicit conversion from
int (and hence makes it impossible to mistakenly pass in the channel ID).

Bug: 37082296
Test: `m -j32` succeeds for sailfish-eng
      Ran libpdx_uds_tests on the device -> all pass
      Device boots and CubeSea and VrHome render correctly with vr_flinger

Change-Id: Ibb8dfee4d6c3f4b6120c0b6e20a253f1b9307c19

7 years agoMerge "vndservicemanager: use separate SELinux class." into oc-dev
TreeHugger Robot [Thu, 6 Apr 2017 22:06:36 +0000 (22:06 +0000)]
Merge "vndservicemanager: use separate SELinux class." into oc-dev

7 years agoRestore selinux labels for secondary dex oat directory
Calin Juravle [Wed, 5 Apr 2017 03:22:50 +0000 (20:22 -0700)]
Restore selinux labels for secondary dex oat directory

Bug: 36896515
Test: adb shell cmd package compile -r bg-dexopt --secondary-dex com.google.android.gms
      adb shell ls
/data/user_de/0/com.google.android.gms/app_chimera/m/0000000c/oat/arm64/
-Z
      youtube loads gms modules without extracting from apk

Change-Id: I4e12a6f532a1442a840e3ed8d01b98dd9a328eb6

7 years agoMerge changes I2f531131,Ibaaca2a1,Ib0cba4c7,I5ea748b8,I046e3f07, ... into oc-dev
TreeHugger Robot [Thu, 6 Apr 2017 21:51:17 +0000 (21:51 +0000)]
Merge changes I2f531131,Ibaaca2a1,Ib0cba4c7,I5ea748b8,I046e3f07, ... into oc-dev

* changes:
  libgui: Make IDisplayEventConn... a SafeInterface
  libgui: Remove RefBase from BitTube
  libgui: Make BitTube Parcelable and use unique_fd
  libgui: Format BitTube and move into gui namespace
  libgui: Move BitTube out of system include dir
  libgui: Normalize IDisplayEventConnection methods
  libgui: Format IDisplayEventConnection

7 years agovrwm: Handle intents launched by the VR app
Albert Chaulk [Thu, 6 Apr 2017 20:36:29 +0000 (16:36 -0400)]
vrwm: Handle intents launched by the VR app

This gives us the following cases
Same appid, vr mode = 1: normal use
Same appid, vr mode = 0: VR app 2D intent
Different appid, vr mode = 1: Switching apps
Different appid, vr mode = 0: 2D app

Bug: 37099690
Test: Manual with calculator and oobetest
Change-Id: I7ba6588fb80d4c8de4f1372d047682f1d5d54860

7 years ago(DO NOT MERGE) media: Add new OMX extension for setting latency.
Hangyu Kuang [Mon, 27 Feb 2017 22:30:39 +0000 (14:30 -0800)]
(DO NOT MERGE) media: Add new OMX extension for setting latency.

Test: Video Recording
Bug: 34221970
Change-Id: I525d86358f3f25a04ae0ac1a80461f8414e5a163
(cherry picked from commit 0c77369428af1e6baaf98a069aa2873bc4d3df1d)

7 years agovndservicemanager: use separate SELinux class.
Martijn Coenen [Thu, 6 Apr 2017 20:05:27 +0000 (13:05 -0700)]
vndservicemanager: use separate SELinux class.

For doing access control.

Bug: 36052864
Test: device boots
Change-Id: I263679ed4532ec52b1e64e5e60bdc064b7484073