There are changes in common audio libraries that force the sounddose
implementation to be bumped if any of the other audio implementations
are bumped.
Since we want to deprecate the sounddose interface and remove it from
FCMs > 202404, we need to retroactively allow the new sounddose version.
The other audio interfaces don't need this treatment because the newer
versions are added to the newer FCMs and we allow older devices to
implement them.
Test: m
Bug: 361383071
Change-Id: I195053bb6c5b6cb01584398eafc86f8fbcdd1148
Stub output stream is like a /dev/null audio device, however
for synchronous transfers it must block for the duration of
the audio chunk being transferred. Implement more accurate
accounting for the blocking time using the same approach as
employed by the remote submix stream implementation.
Bug: 356719263
Test: atest CtsNativeMediaAAudioTestCases
on aosp_cf_x86_64_auto target
Change-Id: I137aed397246bcf2b5ef6789aa4d2d27ead64467
When supporting the audio AIDL HAL, we do not use the ISoundDoseFactory
anymore. Removing it from the compatibility matrix.
Flag: EXEMPT bugfix
Test: trivial
Bug: 356641174
Change-Id: I241c4b93ea6aa4e5499bc9e924d6df4f4bd464a7
It was noted that calling 'ABinderProcess_startThreadPool'
results in the audio HAL service having more Binder pool
threads than without it. This is preferred to having
just one thread via 'ABinderProcess_joinThreadPool'
as in the latter case clients may seemingly be blocked
instead of being served by a newly spawned thread from
the pool.
Bug: 357669241
Test: atest VtsHalAudioCoreTargetTest
Change-Id: Ia8ed52b3c5a95cea12d063a0e75ac908af9260f8
Move the cleanup of the stream worker thread from '~StreamCommonImpl'
up to concrete stream implementations. This is because when
the worker thread is stopping, it calls 'DriverInterface::shutdown'
method of the stream. At the time when '~StreamCommonImpl' is
running, the concrete stream class has already been destroyed.
The cleanup actually only happens in the case when the client
did not close the stream properly via 'IStreamCommon.close', or
when the stream creation has failed in the middle.
Bug: 355804294
Test: atest VtsHalAudioCoreTargetTest
Change-Id: Ie86f682af202976ed48d24338b2dffcfd20d9a76
Add a new attribute type which value could only be device_fcm and
product_fcm if set to the vintf_compatibility_matrix module type which
could be used to generate framework_compatibility_matrix.device.xml and
product_compatibility_matrix.xml in soong to convert the original Android.mk
Bug: 352234038
Bug: 344445679
Test: lunch aosp_cheetah-trunk_staging-userdebug
m framework_compatibility_matrix.device.xml \
product_compatibility_matrix.xml
Test: lunch aosp_trout_x86_64-trunk_staging-userdebug
m framework_compatibility_matrix.device.xml \
product_compatibility_matrix.xml
Test: lunch aosp_cf_x86_64_phone-trunk_staging-userdebug
m framework_compatibility_matrix.device.xml \
product_compatibility_matrix.xml
diff $ANDROID_PRODUCT_OUT/system/etc/vintf/compatibility_matrix.device.xml \
device/google/cuttlefish/system_image/compatibility_matrix.device.xml
Change-Id: I1690cf29462c91f5ab80f7a78f6df9cdb6abbf2f
After most compatibility_matrices Make modules have been moved to Android.bp there are some unused variables and logic, so remove them to reduce the complexity which helps conversion to Android.bp and reviewing.
Bug: 352234038
Test: CIs
Change-Id: Ic2f4538b3e50cc1ca573634cd46eb64c4013420a
because if the timeout occurs, a null pointer exception will be caused, and ASSERT_TRUE can interrupt the continued execution of the case.
Test: done
Bug:357008220
Change-Id: I17332c065e35c69630fc24ca2d929c6bff767c08
Signed-off-by: grekit1024 <grekit1024@gmail.com>
Bug: 345303008
Change-Id: I0de7fcfaa64ae94e3a78d03685e661c51416ae64
Test: m packages/modules/Bluetooth
Flag: com::android::bluetooth::flags::is_sco_managed_by_audio and HFP session type only enabled when flag is enabled
healthd receives power supply information as uevents and holds a
wakelock while receiving these uevents. Without uevent filter, suspend
is postponed indefinitely if a uevent is generated during suspend. Fix
this by attaching a BPF program to the uevent socket that filters out
all events that are not power supply events.
This CL replaces the following CLs:
* Lianwei Wang, healthd: Don't set all eventpoll wakeup-able,
2015-07-09
(https://android-review.googlesource.com/c/platform/system/core/+/158851).
* Stephane Lee, Add BPF filter to filter uevents for
SUBSYSTEM=powersupply, 2022-05-06.
Multiple ideas and some code in this CL have been borrowed from
Stephane Lee's CL.
Bug: 139203596
Bug: 140330870
Bug: 203131934
Bug: 203229817
Bug: 203462310
Bug: 221725014
Test: Verified that a Pixel 2024 still wakes up if a USB cable is connected or disconnected.
Test: Verified that suspend and resume still works for a Pixel 2024 device.
Test: Verified that the following text appears in the Cuttlefish logcat output: "HealthLoop: Successfully attached BPF program to uevent socket"
Test: Verified as follows that recovery mode works fine with Cuttlefish: adb reboot recovery && adb root && adb shell dmesg | grep -E 'F DEBUG|HealthLoop'
Change-Id: I64446b103d660d220880461bdef7ef0f531e1734
Signed-off-by: Bart Van Assche <bvanassche@google.com>
The Linux kernel netlink implementation sets EPOLLERR if delivery of a
netlink message fails because of a buffer overrun (see also the Linux
kernel netlink_overrun() and sock_def_error_report() functions). Handle
buffer overruns by calling ScheduleBatteryUpdate() unconditionally.
Bug: 203462310
Change-Id: I54f7d239e6b4caad0db4d1b15de7c0385f796ebd
Signed-off-by: Bart Van Assche <bvanassche@google.com>
BoundFunction is an alias for std::function<>. Copying a function object
may be expensive. Use std::move() to avoid copying std::function<>. From
https://engdoc.corp.google.com/eng/doc/devguide/cpp/std_function.md:
"Generally prefer both accepting and passing by value if ownership is
transferred. Recall that when using value semantics, it's important to
also use std::move() when appropriate."
Bug: 203462310
Change-Id: I9fb87737dd5ce0fbb84bfbbdb0f8bb952dea1fbc
Signed-off-by: Bart Van Assche <bvanassche@google.com>
This commit adds a new apex override for the Thread HAL which uses a
simulation RCP. This will be used by goldfish emulators.
Note that this can't be defined in /device/generic/goldfish because of
below error:
```
[100% 1/1] analyzing Android.bp files and generating ninja file at out/soong/build.sdk_phone64_x86_64.ninja
FAILED: out/soong/build.sdk_phone64_x86_64.ninja
cd "$(dirname "out/host/linux-x86/bin/soong_build")" && BUILDER="$PWD/$(basename "out/host/linux-x86/bin/soong_build")" && cd / && env -i "$BUILDER" --top "$TOP" --soong_out "out/soong" --out "out" --soong_variables out/soong/soong.sdk_phone64_x86_64.variables -o o
ut/soong/build.sdk_phone64_x86_64.ninja --globListDir sdk_phone64_x86_64 --globFile out/soong/globs-sdk_phone64_x86_64.ninja -l out/.module_paths/Android.bp.list --available_env out/soong/soong.environment.available --used_env out/soong/soong.environment.used.sdk_phone64_x86_64.bui
ld Android.bp
Warning: Module 'androidx.wear_wear' depends on non-existing optional_uses_libs 'wear-sdk'
Warning: Module 'androidx.wear.compose_compose-foundation' depends on non-existing optional_uses_libs 'wear-sdk'
error: hardware/interfaces/threadnetwork/aidl/default/Android.bp:103:1: "com.android.hardware.threadnetwork" depends on undefined module "goldfish-threadnetwork-service.rc".
Module "com.android.hardware.threadnetwork" is defined in namespace "." which can read these 1 namespaces: ["."]
Module "goldfish-threadnetwork-service.rc" can be found in these namespaces: ["device/generic/goldfish"]
```
Bug: 356079409
Test: verified that "adb shell cmd thread_network join" works
Change-Id: I5356df53486fe9555ab34a0c8402e7be1b31309f
Remove the #include directives for header files of which no symbols are
used.
Bug: 203462310
Change-Id: I0d1678d9d01f05d7dc83e70b5f4df0f1129b1968
Signed-off-by: Bart Van Assche <bvanassche@google.com>