Commit Graph

152 Commits

Author SHA1 Message Date
Dan Albert
536a560df2 Merge "Remove an API that doesn't exist." am: 454b1e37eb
am: a9725d2d6d

Change-Id: Ie7fea7d068053b4e502e2ac8448d392db9c9d54f
2018-04-05 19:40:32 -07:00
Dan Albert
d377f90dc7 Remove an API that doesn't exist.
Apparently this was removed in Jelly Bean:
https://stackoverflow.com/q/24312632/632035. Keeping the decl in the
NDK just confuses people: https://stackoverflow.com/q/49646596/632035.

Test: make checkbuild
Bug: None
Change-Id: If549fcd8f4052e633646c4ce8a054a0bbcd8b2bf
2018-04-05 15:00:00 -07:00
Adam Lesinski
bebfcc46a2 Refactor AssetManager
Bug: 64071469
Test: atest CtsContentTestCases
Change-Id: Ia6856157e8813856268fba003e1e591d690cb26e
2018-02-28 19:06:48 -08:00
Steven Moreland
df7675f1cb Merge "Don't use cutils/Atomic.h" am: 07735797a2 am: a272d540d8
am: 0f4ca4a5c0

Change-Id: I4b9798b39d890537f888415b5ac283227970e4de
2018-02-28 14:13:52 +00:00
Steven Moreland
fb7952f57e Don't use cutils/Atomic.h
Test: builds
Change-Id: I74485a5cbecb8710714f7bf3e54da61dd787838f
2018-02-23 15:02:42 -08:00
Lorenzo Colitti
cfaaecf9ce Merge changes Icd56662d,I0ece820f am: 47ef64b0d2 am: bf66580c0b
am: 00d125652e

Change-Id: Idbfe334fec6ded270635eb204686a89d4666a61a
2018-02-15 14:14:36 +00:00
Lorenzo Colitti
8a2105759b Add OWNERS to the libandroid_net library.
Test: None
Change-Id: I0ece820fc0de786a81df9f922135acdf92f1d136
2018-02-15 15:57:25 +09:00
Adam Lesinski
bde1df21ad Revert "Replace AssetManager with AssetManager2 implementation"
This reverts commit 1187590da3.

Bug: 73134570
Change-Id: I59b4d714e447478ea124f086356f127f42251fb7
2018-02-09 12:43:24 -08:00
Adam Lesinski
3160c8b0f7 Revert "AssetManager2: Fix issue with native cast"
This reverts commit 9381153209.

Bug: 73134570
Change-Id: I5a63ed4b79d5c249ff77059783d9c9d56f0dcf93
2018-02-09 12:42:50 -08:00
Adam Lesinski
9381153209 AssetManager2: Fix issue with native cast
The NDK wasn't fully updated to be aware of the fact that
the implementation of AAssetManager changed.

Bug: 73120367
Test: manual - YouTube TV doesn't crash
Change-Id: I6d897ddf197bdcac8118d26e55f40ab9542f5013
2018-02-08 23:23:08 -08:00
Adam Lesinski
1187590da3 Replace AssetManager with AssetManager2 implementation
Test: atest CtsContentTestCases:android.content.res.cts
Test: make libandroidfw_tests
Change-Id: I2bb6d7656d2516d371e83e541ed02f91405f6d94
2018-02-05 18:38:49 -08:00
Mathias Agopian
c3c8d423de New NDK APIs for SurfaceTexture
These native APIs give access to most SurfaceTexture
java APIs from native code.

In addition to java APIs it also gives access to
the current buffer using AHardwareBuffer.

The main goal of this is to allow game engines
(mostly) to access things like camera or video
without having to call back into java from
their GL thread.

Test: Manual with filament. Created a SurfaceTexture from java
pointed to a camera stream. Visualized the
camera stream on a 3D mesh.

Change-Id: I0aa104c38553b00f9dadbbaecca06be5dd2868ea
2018-02-02 03:06:05 +00:00
Adam Lesinski
f7d01dd7e1 Revert "Replace AssetManager with AssetManager2 implementation"
This reverts commit dcb3c6559b.

Bug:72511998
Change-Id: I665966ca109f66f85d8665db388c71ea2303c3b8
2018-01-25 17:39:40 -08:00
Adam Lesinski
dcb3c6559b Replace AssetManager with AssetManager2 implementation
Test: atest CtsContentTestCases:android.content.res.cts
Test: make libandroidfw_tests
Change-Id: I572eb13c6a4372c7f656f5912821cececd5bf3d4
2018-01-24 15:19:04 -08:00
Adam Lesinski
7fb3831136 Revert "Replace AssetManager with AssetManager2 implementation"
This reverts commit b20a0ce59f.
2018-01-23 03:17:26 -08:00
Adam Lesinski
1f62f7c72e Merge changes from topic "assetmanager-refactor"
* changes:
  libandroidfw: Improve performance of AssetManager2
  libandroidfw: Add ApplyStyle and SetConfiguration benchmark
  Make idiomatic use of ApkAssets and AssetManager
  Replace AssetManager with AssetManager2 implementation
2018-01-23 05:28:11 +00:00
Lorenzo Colitti
e4fc6322a4 Change the netId to nethandle mapping.
Being able to update this handle is necessary to ensure that
system-only OTAs do not break vendor code that relies on
nethandles.

Bug: 63052780
Test: walleye builds, boots, networking works
Test: MultinetworkApiTest CTS tests passes
Change-Id: I049a4ad2610ca68b8f56377b63be7e5e8ce76039
2018-01-16 02:08:09 +09:00
Adam Lesinski
b20a0ce59f Replace AssetManager with AssetManager2 implementation
Test: Existing CTS tests pass
Test: make libandroidfw_tests
Change-Id: I858f7e1d909c08273b096601136e3f28e15eb5d4
2018-01-09 16:28:58 -08:00
Dan Albert
107366ad42 Merge "Remove TTS symbols from NDK stub library." am: b056324630 am: 8d8c374307 am: 9424fad097
am: 10663e4f76

Change-Id: Ib9675e2e271bec1f2f0dfae65c915620682a9722
2017-08-22 19:27:42 +00:00
Treehugger Robot
b056324630 Merge "Remove TTS symbols from NDK stub library." 2017-08-22 18:03:10 +00:00
Dan Albert
3644edb0b6 Remove TTS symbols from NDK stub library.
These haven't actually existed in libandroid for some time. We can't
fix the past, so just remove the API from the NDK.

Test: make checkbuild
Bug: http://b/64572149
Change-Id: Ic68e81c63e738e6d341bcae6178cdcc080326da4
2017-08-22 00:15:25 -07:00
John Reck
e4f60cce85 SharedMemory API changes
Hides getFd & getFileDescriptor due to lifecycle concenrs.
Adds ASharedMemory_dupFromJava to allow sharing a shared
memory region between Java & Native as safe as possible.
Mis-use results in an FD leak instead of double-close.

Bug: 64394076
Test: SharedMemory CTS tests
Change-Id: I01a5eb978fc4e99559a79baac75754c32f13bdc4
2017-08-07 15:36:10 -07:00
Steven Moreland
2412b4d979 Merge "frameworks/base: use proper nativehelper headers" am: 826eafd958 am: 5c091dc944 am: c840945a78
am: 9f430b2782

Change-Id: Ibe321dd4a8aae9342c76da0780edf94b90e8cd3a
2017-07-20 03:11:00 +00:00
Steven Moreland
5c091dc944 Merge "frameworks/base: use proper nativehelper headers"
am: 826eafd958

Change-Id: I36f10ff4d963284a313f1cc5b368f82549a4adb2
2017-07-20 02:50:53 +00:00
Steven Moreland
2279b25342 frameworks/base: use proper nativehelper headers
libnativehelper exports headers under nativehelper. These were
available before incorrectly as global headers in order to give
access to jni.h.

Test: modules using frameworks/base find headers
Bug: 63762847
Change-Id: I0f9f231acdebe460f279135462f43d3e32eff64d
2017-07-19 10:06:40 -07:00
Jiyong Park
7a4f741f56 fix: android/multinetwork.h can't be imported when using libandroid_net
libandroid_net is a subset of libandroid exposing the multinetwork
functionality. Contrary to libandroid which is not available to vendors,
libandroid_net is available to vendors as ll-ndk.

However, the header path for the two libraries are different.

for libandroid:
include <android/multinetwork.h>

for libandroid_net:
include <multinetwork.h>

This is because multinetwork.h is located in
<home_of_libandroid_net>/include directory. Since many vendors are using
<android/multinetwork.h>, we need to have a subdirectory 'android'.

Bug: 63120916
Test: build
Change-Id: I1cbc6e1641edda2013c80f9b16b825f0854776c1
2017-06-29 16:53:47 +09:00
Lorenzo Colitti
e1c426f53c Merge changes from topic 'multinetwork_vndk' into oc-dev
am: cffee96a16

Change-Id: I91cac262cdb6af6e441c4750636ec28a97f2ad1a
2017-05-26 01:01:21 +00:00
Lorenzo Colitti
ec37d5f6a6 Allow vendor code to link to libandroid_net.
This library contains only the multinetwork API, which is part
of the NDK and has long-term support. It is needed by any native
that wants to use network communications on a different network
than the default network, and thus is necessary for vendor code
such as IMS clients or carrier applications.

Bug: 37527489
Test: marlin builds and boots
Test: MultinetworkApiTest CTS tests passes
Change-Id: I2aa592d1d082aae410173adf2a09f6d1dd8092dc
Merged-In: I2aa592d1d082aae410173adf2a09f6d1dd8092dc
2017-05-26 06:02:26 +09:00
Lorenzo Colitti
addb296226 Move libandroid_net from Android.mk to Android.bp.
This is the first step of making libandroid_net available to
vendor code. This is a partial cherry-pick of ag/2210044 that
only moves the build target (hence the Merged-In change ID).

Bug: 37527489
Test: marlin builds and boots
Change-Id: Id9e4d13d4e75f6f6381c675c4e9f72e9f4769d22
Merged-In: Ie3c9c3d3c8c75ade36422d1e8ee0a5fe117e9091
2017-05-26 06:00:00 +09:00
Lorenzo Colitti
d15f0af2fe Allow vendor code to link to libandroid_net.
This library contains only the multinetwork API, which is part
of the NDK and has long-term support. It is needed by any native
that wants to use network communications on a different network
than the default network, and thus is necessary for vendor code
such as IMS clients or carrier applications.

Bug: 37527489
Test: marlin builds and boots
Test: MultinetworkApiTest CTS tests passes
Change-Id: I2aa592d1d082aae410173adf2a09f6d1dd8092dc
2017-05-25 16:42:12 +09:00
Colin Cross
5c5b7f0ed7 Convert libandroid and libandroid_runtime to Android.bp
See build/soong/README.md for more information.

Test: m -j checkbuild
Change-Id: Ie3c9c3d3c8c75ade36422d1e8ee0a5fe117e9091
Merged-In: Ie3c9c3d3c8c75ade36422d1e8ee0a5fe117e9091
(cherry picked from commit 3f8fd40f28)
2017-05-06 00:52:03 +00:00
Colin Cross
af737306f9 Convert libandroid and libandroid_runtime to Android.bp
See build/soong/README.md for more information.

Test: m -j checkbuild
Change-Id: Ie3c9c3d3c8c75ade36422d1e8ee0a5fe117e9091
(cherry picked from commit 3f8fd40f28)
2017-05-06 00:50:39 +00:00
Colin Cross
3f8fd40f28 Convert libandroid and libandroid_runtime to Android.bp
See build/soong/README.md for more information.

Test: m -j checkbuild
Change-Id: Ie3c9c3d3c8c75ade36422d1e8ee0a5fe117e9091
2017-05-04 13:00:21 -07:00
Jesse Hall
5f73ab7e2a Include vndk/hardware_buffer.h for AHardwareBuffer_getNativeHandle
This function is now VNDK-only, and not in the NDK header.

Bug: 34050596
Test: build
Change-Id: Id0147dbdb65157da9692e7f38b1a068be18be2b9
2017-04-17 08:55:24 -07:00
Dan Willemsen
68686dbb41 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
Merged-In: Ic10796e75bb886cc3f92c234714ab3e6c85112df
Change-Id: Ic10796e75bb886cc3f92c234714ab3e6c85112df
2017-04-11 15:15:02 +00:00
Dan Willemsen
3dcf031866 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: Ic10796e75bb886cc3f92c234714ab3e6c85112df
2017-04-10 12:54:37 -07:00
Jiwen 'Steve' Cai
d28e8283d3 ANativeWindow_toSurface implementation
This enables the conversion from an ANativeWindow (created by NDK API
such as: AImageReader_create) to a Java Surface, so that developers can
hookup a Java Producer to a native buffer consumer.

This CL also introduces android_view_Surface_createFromSurface helper
function in libandroid_runtime to convert a C++ sp<Surface> to a Java
Surface object.

Bug: 36862948
Test: android.media.cts.NativeImageReaderTest
Change-Id: Ia99adb654da505ac117a8e58153ac800df23a650
2017-04-03 19:13:31 -07:00
Peng Xu
63483ad252 Parameter checks for sensor NDK APIs, fix map file
* Add parameter check for all sensor NDK APIs.
* Added a previously added API (from AOSP contribution) to
  libandroid.map.txt file.

Test: SensorNativeTest pass
Change-Id: I6482a684767034f2a31d806a4cba0d6648dcabff
2017-03-07 15:47:21 -08:00
Mathias Agopian
caf8930960 fallout of splitting libsensor out of libgui
Test: compile & run
Bug: treble cleanup
Change-Id: Ib696126506cc9df01dcf9e09779ce05ddb69e4b6
2017-03-06 16:09:55 -08:00
Mathias Agopian
bce1d3b60b Revert "Remove AHardwareBuffer_ API from libandroid"
This reverts commit 8e90cc3e3a.

Both ANativeWindow and AHardwareBuffer need to be
available in libandroid (as well as libnativewindow)
otherwise it would make our developer’s life
very difficult when they want to support multiple
versions of android.

Moreover, this would have an impact on AndroidStudio
when doing an NDK project.

Test: compiled
Bug: treble

Change-Id: I2cc63b06b3f80fa80f7170ba2ba2996228fa9b2c
2017-03-02 18:55:39 -08:00
Mathias Agopian
8e90cc3e3a Remove AHardwareBuffer_ API from libandroid
It’s now in libnativewindow. Also tag
ANativeWindow_ symbols as removed (no-op currently)


Test: compiled
Bug: treble
Change-Id: I912a7d09b35f25cf7d33d224f42b9779a3e0ae71
2017-03-01 20:24:21 +00:00
Peng Xu
555bf41049 Merge "Add direct sensor report NDK API" 2017-03-01 17:58:36 +00:00
Peng Xu
3b17017346 Add direct sensor report NDK API
Added libandroid mapping and implementation of the following API:

  * ASensorManager_configureDirectReport
  * ASensorManager_createSharedMemoryDirectChannel
  * ASensorManager_createHardwareBufferDirectChannel
  * ASensorManager_destroyDirectChannel
  * ASensor_getHighestDirectReportRateLevel
  * ASensor_isDirectChannelTypeSupported

Test:  cts-tradefed run cts --module CtsSensorTestCases \
      --test android.hardware.cts.SensorNativeTest

Bug: 30985702
Change-Id: Ic808cc50d1ecbc789944ef77a4b247dc0c83c28a
2017-02-28 17:30:47 -08:00
Peng Xu
2e2c35febf Merge "Added implementation of shared memory NDK API" 2017-02-27 20:58:23 +00:00
Peng Xu
5f88ac5cce Added implementation of shared memory NDK API
Implemeneted the following APIs:

*  int ASharedMemory_create(const char *name, size_t size);
*  size_t ASharedMemory_getSize(int fd);
*  int ASharedMemory_setProt(int fd, int prot);

Test: cts-tradefed run cts --module CtsSensorTestCases \
      --test android.hardware.cts.SensorNativeTest
Bug: 5995644, 30985702

Change-Id: I645b35e67293673efce9bb90f042ec0d3b83aa42
2017-02-24 02:42:51 -08:00
Mathias Agopian
fee4a985fd fallout of libandroid.so split
Test: compiled & booted
Bug: 35164655
Change-Id: I786167a21453e17493969cdacfc9d31bdb781d98
2017-02-23 23:28:20 +00:00
Mathias Agopian
f1cb02e7b5 fallout of splitting rect.h out of libandroid.
- Main goal here: libandroid now links against 
libarect and export its includes.

- Also fix some wrongful makefiles that included 
headers without proper dependency list.

Test: built and booted device
Bug: 35164655
Change-Id: Iae17b966bba00fe53424486a75eebff468873787
2017-02-17 12:25:26 -08:00
Mathias Agopian
e68b4f73a9 separate the JNI part of the NDK into their own source
Test: built and booted device
Bug: 35164655
Change-Id: I944c9f28730b82e8c428b5384dc57e1b296144b2
2017-02-10 20:07:33 +00:00
Craig Donner
99015fe465 Merge "Use gralloc1 flags to allocate AHardwareBuffers" 2017-02-08 01:42:35 +00:00
Craig Donner
900510642a Use gralloc1 flags to allocate AHardwareBuffers
Bug: 34939453
Test: cts-tradefed run cts -m CtsNativeHardwareTestCases
Change-Id: I48add1b78c4e1409c0e787d6197f0582f0c3fb4c
2017-02-03 14:24:10 -08:00