The implementation of IIncrementalManager.aidl. TODO to refactor this.
Test: atest service.incremental_test
Change-Id: Ib8c8a9c0e7f0289b4bcd8961fa39746ed12b4310
The API offered by SoundTrigger.java is now implemented on top of
the new soundtrigger_middleware service.
There is no longer any need for JNI - the API now talks directly
with the AIDL interface of the new service.
In the process, some annotations and input validation have been added
to improve the overall quality of this API.
Change-Id: I731ffd5a275b88f38d84dd3daa022a13f97a5ee1
Bug: 142070343
Routing is done per AudioProductStrategy. For instance routing
media is done by using the AudioProductStrategy that supports
the AudioAttributes with USAGE_MEDIA.
Routing is for a connected device, AudioDeviceInfo, or for on a
device that is not currently connected, uniquely specified by
its role, type and address.
Preferred routing can be set, removed, queried (get).
When audioserver crashes, AudioService restores the preferred
routing operating on the audio policy engine.
Bug: 144440677
Test: atest AudioServiceHostTest#PreferredDeviceRoutingTest
Change-Id: I0647608088fe2906e78b71341615975a56747c2f
This service will be extended by custom data loader services.
Hide for now till we update it with latest API.
Test: builds
Change-Id: I72d6a1528019dda5b1de4ca066dbda094d3bb4a3
This allows the use of structural class redefinition on debuggable
apps.
Also allows override of this via the new 'dalvikvm.vm.opaque-jni-ids'
option.
Test: Manual
Test: ./art/tools/jvmti-agents/field-counts/count-fields.py 'Ldalvik/system/ClassExt;.instanceJfieldIDs:Ljava/lang/Object;' 'Ldalvik/system/ClassExt;.staticJfieldIDs:Ljava/lang/Object;' 'Ldalvik/system/ClassExt;.jmethodIDs:Ljava/lang/Object;'
Bug: 134162467
Change-Id: I9e9c7e5a7ff95d62f9969ebeb472e81a7357d7f9
This change adds support for reading/writing a HidlMemory
instance into / out of a HwParcel and HwBlob, in a format that
is compatible with the hidl_memory C++ type.
This paves the way to be able to exchange shared memory blocks
between native and Java via HwBinder, which will be exposed
as adding Java support for the HIDL 'memory' type.
Change-Id: I6cbbf852218c8a631f9014e7caa7a97d17e11889
Bug: 143566068
Merged-In: I6cbbf852218c8a631f9014e7caa7a97d17e11889
This change adds support for reading/writing a HidlMemory
instance into / out of a HwParcel and HwBlob, in a format that
is compatible with the hidl_memory C++ type.
This paves the way to be able to exchange shared memory blocks
between native and Java via HwBinder, which will be exposed
as adding Java support for the HIDL 'memory' type.
Change-Id: I6cbbf852218c8a631f9014e7caa7a97d17e11889
Bug: 143566068
Check dalvik.vm.dex2oat-cpu-set in AndroidRuntime and pass to ART
with "--cpu-set=" as a compiler option, if found.
Check dalvik.vm.image-dex2oat-cpu-set in AndroidRuntime and pass
to ART with "--cpu-set=" as an image compiler option, if found.
Bug: 141446571
Test: manual
Change-Id: Ica6a39048292d3d43aeb58d25f79f1398a7d5a79
The JetPlayer implementation in libmedia was only used by the
JetPlayer JNI code in libandroid_runtime. This change moves
both implementation and JNI to libmedia_jni. This reduces
libandroid_runtime's dependency on libmedia, and results in
a net size reduction of the libraries involved.
Test: atest JetPlayerTest
Change-Id: I028c774fdea167924b064855267254c15f22fddb
Merged-In: I028c774fdea167924b064855267254c15f22fddb
The JetPlayer implementation in libmedia was only used by the
JetPlayer JNI code in libandroid_runtime. This change moves
both implementation and JNI to libmedia_jni. This reduces
libandroid_runtime's dependency on libmedia, and results in
a net size reduction of the libraries involved.
Test: atest JetPlayerTest
Change-Id: I028c774fdea167924b064855267254c15f22fddb
Add support for ViewRootImpl submitting buffers using
BLAST and put this support behind a disabled-by-default
FLAG.
Bug: 135786080
Change-Id: Ia3f205e34db9f9aa574c9c2e2c499dd3046af220
To get profiling info, we need to avoid having compiled code.
Also pass down the --count-hotness-in-compiled-code for measuring
performance in compiled code.
Bug: 139883463
Test: manual
Change-Id: Ib02b476522b7709172fc06d6517446cad59045d4
If specified, does the same behavior as the dalvik.vm.profilebootimage
property used to do. The new property is called profilebootclasspath
and is in the runtime_native_boot namespace.
Added logic to pass down Xjitsaveprofilinginfo if profilebootclasspath
is specified.
Bug: 139883463
Test: adb shell setprop dalvik.vm.profilebootclasspath true
Test: look at logcat to verify the right options are passed down
(cherry picked from commit 7253961bd0)
Merged-In: I3e2ec37931a6f9239c5d0fa9fcaea61637061ac1
Change-Id: Iab2118822e522f9f80016c2c6ad42af9cd7eba03
If specified, does the same behavior as the dalvik.vm.profilebootimage
property used to do. The new property is called profilebootclasspath
and is in the runtime_native_boot namespace.
Added logic to pass down Xjitsaveprofilinginfo if profilebootclasspath
is specified.
Bug: 138851258
Test: adb shell setprop dalvik.vm.profilebootclasspath true
Test: look at logcat to verify the right options are passed down
Change-Id: I3e2ec37931a6f9239c5d0fa9fcaea61637061ac1
The previous version didn't close its FDs for directories, and called
fsync() on the wrong FDs. To make sure a rename() is persisted, we
need to call fsync() on the FD of the parent directory, because file
names are stored in directory entries instead of inodes.
Also removed the need for dedicated native code by calling the Os
class directly.
Fixes: 139302541
Bug: 138866253
Test: presubmit
Change-Id: I67fe98811814acba5158d760766a2ef3b121225a
The purpose of this is to be able to use the native graphics code from
the Android platform directly in Android Studio (running on desktop) to
do layout rendering.
This creates a host library that is a subset of libandroid_runtime
including only the JNI files relevant to Android graphics. It also
includes LayoutlibLoader.cpp which is used to load the JNI when using
it as part of layoutlib (the graphics library for Android Studio).
This also creates libhwui-host, a host library that is a subset of
libhwui.
Bug: 117921091
Test: lunch sdk && m libandroid_runtime
Change-Id: I3850020d2d4c13c85e377476bc463d3eb6a01c6d
This is a cherry pick to aosp.
Sets up a public api for logging atoms to statsd. The API excepts a
buffer which is already encoded in the proper format for the socket, as
well as the number of bytes of the buffer to write. It performs a JNI
call to perform the socket write. Autogenerated app code will be built
for each mainline module that needs to use this API to log.
Test: builds
Test: existing logs flow properly
Bug: 126134616
Change-Id: I8a9a91e638d730e3ff69cb9345692e49e0db3c96
Merged-In: I8a9a91e638d730e3ff69cb9345692e49e0db3c96
When starting ART, read property
""persist.debug.dalvik.vm.core_platform_api_policy" and pass its value
on the command line. This enables users to enable core platform API
violation reporting on demand. Note that the settings take effect after
a reboot.
Bug: 125701194
Test: compiles, boots, reporting observed
Change-Id: I97507afc85d8e186736700979c5dbf2ad0f79f12
Changes to android_opengl_* are generated by editing glgen stubs and
re-running gen script.
Bug: 124338141
Test: atest CtsGraphicsTestCases
(cherry picked from commit 61783592df)
Change-Id: I179f90177c8b1b50a923baecef3b5071a9a25ccf
Merged-In: I715123e66f4ace1d6a11a42c8eafc1d02995e88b
In order to notify netd to swap eBPF maps before pulling the
networkStats from eBPF maps, NetworkStatsFactory need to use the
NetdServices to issue binder calls. So it need to be moved from
framework/base/core to framework/base/service since object in
framework/base/core cannot get any system services. This change is also
necessary for setting up a lock inside NetworkStatsFactory to prevent
racing between two netstats caller since the lock need to be hold before
netd trigger the map swap.
Also fix the compile problem caused by moving the NetworkStatsFactory
and the related tests. Rename the packages and the jni functions to a
more proper name.
Bug: 124764595
Bug: 128900919
Test: NetworkStatsFactoryTest
android.app.usage.cts.NetworkUsageStatsTest
android.net.cts.TrafficStatsTest
Change-Id: Ifcfe4df81caf8ede2e4e66a76552cb3200378fa8
In order to notify netd to swap eBPF maps before pulling the
networkStats from eBPF maps, NetworkStatsFactory need to use the
NetdServices to issue binder calls. So it need to be moved from
framework/base/core to framework/base/service since object in
framework/base/core cannot get any system services. This change is also
necessary for setting up a lock inside NetworkStatsFactory to prevent
racing between two netstats caller since the lock need to be hold before
netd trigger the map swap.
Also fix the compile problem caused by moving the NetworkStatsFactory
and the related tests. Rename the packages and the jni functions to a
more proper name.
Bug: 124764595
Bug: 128900919
Test: NetworkStatsFactoryTest
android.app.usage.cts.NetworkUsageStatsTest
android.net.cts.TrafficStatsTest
Merged-In: Ifcfe4df81caf8ede2e4e66a76552cb3200378fa8
Change-Id: Ifcfe4df81caf8ede2e4e66a76552cb3200378fa8
Sets up a public api for logging atoms to statsd. The API excepts a
buffer which is already encoded in the proper format for the socket, as
well as the number of bytes of the buffer to write. It performs a JNI
call to perform the socket write. Autogenerated app code will be built
for each mainline module that needs to use this API to log.
Test: builds
Test: existing logs flow properly
Bug: 126134616
Change-Id: I8a9a91e638d730e3ff69cb9345692e49e0db3c96
The ANDROID_TZDATA_ROOT serves a similar purpose to the
ANDROID_RUNTIME_ROOT: it determines the location that can be used to
find time zone data files. Since the Android Core Library will soon
require it to be set it makes sense to check it alongside the
ANDROID_RUNTIME_ROOT variable.
Bug: 128422035
Test: build / boot
Change-Id: Ie4860f60760905a06a744bd48fd773d0a4e8cf6d