307 Commits

Author SHA1 Message Date
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 1187590da38457809dd368d4901c9c47ac5a6958.

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 93811532096a2d0d822f64d6271dca4f1147841d.

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 dcb3c6559b09ec89771858ec27a787027da9af50.

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 b20a0ce59f59cb5ec857748e056cc341dbd13b92.
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
Ian Pedowitz
1cd8b5c6cb Merge "Fixing app compat issue b/72143978" am: 8353a39ecc am: 61bab24fa8
am: 1993c5618a

Change-Id: If6e67a008d02dc561982583a3819de1ef3e06e46
2018-01-19 05:35:27 +00: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
7e933876fa Merge "Change the netId to nethandle mapping." am: 9456c020d8 am: feaf412e19
am: 93e0bad422

Change-Id: I06e09bfaeb1040b97afa392faace339eb5bab4ad
2018-01-16 05:32:55 +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
Elliott Hughes
14c2ae4a6e Merge "Remove obsolete workaround." am: f448371208 am: 365604c300
am: 8ca799e22f

Change-Id: I6afd17cacebc896831f3b6049e850d671c2d7f73
2018-01-10 01:55:14 +00: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
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
Colin Cross
02a8657837 Convert libjnigraphics to Android.bp
See build/soong/README.md for more information.

Test: m -j
Change-Id: If302f63276fa815423f50df0f12c1700975dbc43
2017-10-09 13:54:10 -07:00
Gustav Sennton
ae498f2702 [WebView] Only pass one path to relro creation/loading at a time.
There's no need to send both 32-bit and 64-bit paths to the native side
of the relro-creation/loading logic, we can check which one to send on
the java side instead.

Bug: 28736099
Test: Load WebView app, ensure relro file is loaded into the app
process.

Change-Id: Ia3fb4b3ed686c3e70c26a384aae966bda179d225
2017-10-05 15:49:10 +01:00
Derek Sollenberger
71b36912e0 Merge "Reduce overhead by combining libskia and libhwui into a single library." 2017-09-25 15:45:34 +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
Derek Sollenberger
d938e5a2e2 Reduce overhead by combining libskia and libhwui into a single library.
This is a multiproject change as we need to both the libraries
themselves as well as those that had dependencies on libskia.so

Bug: 31971097
Test: compile only
Change-Id: Ie6ff1f4682d03289205f4d6048cde9f95c61a90f
2017-07-24 09:42:07 -04: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