293 Commits

Author SHA1 Message Date
Chih-Hung Hsieh
eeb1ea86ce Work around b/24465209, do not pack relocation table.
Global flag --pack-dyn-relocs=android is used with clang lld.
For b/24465209, we need to override that with pack_relocations:false.

Bug: 24465209
Bug: 80093890
Test: build with USE_CLANG_LLD=true and run dlext.compat_elf_hash_and_relocation_tables
Change-Id: I9364feb4070d4f75705d8651d535c792fe6ad6f7
2018-05-24 09:31:50 -07:00
Dan Willemsen
4888b1f6f0 Convert to Soong
See build/soong/README.md for more information.

Test: m libframeworks_coretests_jni
Test: m FrameworkCoreTests_install
Test: m libshim_jni
Test: m CtsShimPrivUpgrade
Test: m libfilterfw
Test: m PMTest_Java_dual
Test: m libdefcontainer_jni
Test: m libperftestscore_jni
Test: m libpmtest32 libpmtest64
Test: m libprintspooler_jni
Test: m libsmartcamera_jni
Test: m idmap
Test: m libdrmframework_jni
Test: m libdvr_loader com.google.vr.platform com.google.vr.platform.xml
Test: m libfilterpack_imageproc libfilterpack_base
Test: m libwebviewchromium_loader
Test: m shared_mem_test
Test: m test-touchlag
Change-Id: I868561dd237fa28647896d59049ab9260373ada1
2018-05-14 16:47:02 -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
Steven Moreland
fb7952f57e Don't use cutils/Atomic.h
Test: builds
Change-Id: I74485a5cbecb8710714f7bf3e54da61dd787838f
2018-02-23 15:02:42 -08:00
Lorenzo Colitti
8a2105759b Add OWNERS to the libandroid_net library.
Test: None
Change-Id: I0ece820fc0de786a81df9f922135acdf92f1d136
2018-02-15 15:57:25 +09:00
Ian Pedowitz
0c3c4d1c7d Fixing app compat issue b/72143978
Revert "Remove obsolete workaround."

This reverts commit 5e48241a95b843c10f96c57d8544af9d04807218.

Bug: 72143978
Bug: 24465209
Test: Tested failing case on sailfish, reverted back all CL's since
Test: 3471433 for b/24465209 and apps open
2018-01-18 16:24:11 -08: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
Elliott Hughes
5e48241a95 Remove obsolete workaround.
Bug: http://b/24465209
Test: manually ran the app.
Change-Id: Id64e92875417e62ae225c3369cf6bf58048dcc97
2018-01-09 14:44:10 -08:00
Colin Cross
4e9adb819a Merge "Convert libjnigraphics to Android.bp" am: 006c167544 am: 2fbccabbca
am: 1adda8b8b3

Change-Id: Ia832e5fb8a49928e28891b7c398368af25717f48
2017-10-11 18:58:04 +00:00
Colin Cross
4ed3557b95 Convert libjnigraphics to Android.bp
See build/soong/README.md for more information.

Test: m -j
Change-Id: If302f63276fa815423f50df0f12c1700975dbc43
Merged-In: If302f63276fa815423f50df0f12c1700975dbc43
(cherry picked from commit 02a8657837321c12ec81207bf43e3ace61b3962f)
2017-10-10 01:38:44 +00: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
Gustav Sennton
beec08679b Use classloader namespace instead of lib paths to load WebView libs.
When loading WebView's native libraries we now have a classloader
pointing to the namespace of thise libraries - so we no longer need to
explicitly reference those libraries by their path names.

Bug: 62860565
Test: Start a WebView-using app. Ensure that libwebviewchromium.so is
loaded into the app process.

Change-Id: I205131f4b5fac7c33374560515b85ddef19a7ce9
2017-06-26 16:05:33 +01:00
Gustav Sennton
cd165a9d51 Move WebView loader from frameworks/webview/ to frameworks/base/.
The Java-side of the WebView loading lives in frameworks/base/ while the
native side lives in frameworks/webview/. It would be great to be able
to change the JNI interface between these two without having to update
two separate projects.

This CL moves the native side into frameworks/base/.

Bug: 62445369
Test: Run app using WebView (and ensure it loads WebView).
Change-Id: I6915e996b3a035e9d87000ccd11e5fb89deecde7
2017-06-23 15:57:40 +01: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 3f8fd40f285dba5b3639ee1e3d4e4544048c1446)
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 3f8fd40f285dba5b3639ee1e3d4e4544048c1446)
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 8e90cc3e3adf1d84b92b0b165193762cc8bb295d.

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
TreeHugger Robot
53fc3cdd5c Merge "Fix NDK access to recycle'd bitmaps" 2017-03-02 20:28:29 +00:00
John Reck
00799f760d Fix NDK access to recycle'd bitmaps
Also kills off one user of GraphicsJNI.h!

Change-Id: Icbf979e485b3b6ec2f37e18ff654b8ff1e44fb35
Fixes: 34712423
Test: cts CtsGraphicsTestCases --test android.graphics.cts.BitmapTest#testNdkAccessAfterRecycle passes
2017-03-01 18:11:04 -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
Alex Deymo
f2f6961b7b Compile native network functionis into libandroid_net. am: f3b7411060 am: af657d14fc am: 74a410ec81
am: 2e61c0eea3

Change-Id: I7a1d3c40bcf76a3e6eabb3eddff159a53af0c5c1
2017-02-02 21:08:08 +00:00
Craig Donner
2be5b9f966 Add support for BLOB format to HardwareBuffer.
Test: updated CTS test to check for error conditions if the blob dimensions are
bad.
Bug: 34050596

Change-Id: I3ec6e7a43dae8d0ac2b2d04bc4b38cd3c12f8390
2017-01-24 18:43:30 -08:00
Craig Donner
0cff9d955e AHardwareBuffer implementation.
Bug: 34050596
Test: Added gunit tests in CTS (CtsNativeHardwareTestCases)
Change-Id: I41f914a6d346fbb5f818a6591c86e7bf12f0576c
2017-01-19 17:01:19 -08:00
Alex Deymo
f3b7411060 Compile native network functionis into libandroid_net.
libandroid includes some local implementations, but depends on many
other libraries to provide those (counting transitive dependencies, a
total of 65). This patch copies the native network functions provided
by android/multinetwork.h header to its own new libandroid_net shared
library. This new library has only one other shared library dependency.

Bug: 32842753
Test: `make` on aosp_arm-eng
Change-Id: Ifbd529d9bf74a8d4f754733cff345729de6b1521
2017-01-13 23:01:32 +00:00