summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Mikhail Naganov <mnaganov@google.com> 2023-12-28 22:53:57 +0000
committer Gerrit Code Review <noreply-gerritcodereview@google.com> 2023-12-28 22:53:57 +0000
commit44a679e5e041b0ba8d4f1a5609da534afe85965c (patch)
treec3041b21eb18066573f8f89d5ca0aa6ac77b2f94
parente495ee01f14264c379c94f1e347d7643e6daecf9 (diff)
parent1939ee374f4f51db07453fd7ec7dcf88e9a752f3 (diff)
Merge changes from topic "cuttlefish_aidl_audio-3" into main
* changes: AudioService: check for AIDL service availbility Enable AIDL HAL support in the framework
-rw-r--r--media/java/android/media/AudioHalVersionInfo.java5
-rw-r--r--services/core/java/com/android/server/audio/AudioService.java14
2 files changed, 11 insertions, 8 deletions
diff --git a/media/java/android/media/AudioHalVersionInfo.java b/media/java/android/media/AudioHalVersionInfo.java
index 985a7584ffe2..efb33950022c 100644
--- a/media/java/android/media/AudioHalVersionInfo.java
+++ b/media/java/android/media/AudioHalVersionInfo.java
@@ -75,11 +75,10 @@ public final class AudioHalVersionInfo implements Parcelable, Comparable<AudioHa
/**
* List of all valid Audio HAL versions. This list need to be in sync with sAudioHALVersions
- * defined in frameworks/av/media/libaudiohal/FactoryHalHidl.cpp.
+ * defined in frameworks/av/media/libaudiohal/FactoryHal.cpp.
*/
- // TODO: add AIDL_1_0 with sAudioHALVersions.
public static final @NonNull List<AudioHalVersionInfo> VERSIONS =
- List.of(HIDL_7_1, HIDL_7_0, HIDL_6_0, HIDL_5_0, HIDL_4_0);
+ List.of(AIDL_1_0, HIDL_7_1, HIDL_7_0, HIDL_6_0, HIDL_5_0, HIDL_4_0);
private static final String TAG = "AudioHalVersionInfo";
private AudioHalVersion mHalVersion = new AudioHalVersion();
diff --git a/services/core/java/com/android/server/audio/AudioService.java b/services/core/java/com/android/server/audio/AudioService.java
index b555a52fe720..39d9b45bb22d 100644
--- a/services/core/java/com/android/server/audio/AudioService.java
+++ b/services/core/java/com/android/server/audio/AudioService.java
@@ -12053,12 +12053,16 @@ public class AudioService extends IAudioService.Stub
public @Nullable AudioHalVersionInfo getHalVersion() {
for (AudioHalVersionInfo version : AudioHalVersionInfo.VERSIONS) {
try {
- // TODO: check AIDL service.
String versionStr = version.getMajorVersion() + "." + version.getMinorVersion();
- HwBinder.getService(
- String.format("android.hardware.audio@%s::IDevicesFactory", versionStr),
- "default");
- return version;
+ final String aidlStr = "android.hardware.audio.core.IModule/default";
+ final String hidlStr = String.format("android.hardware.audio@%s::IDevicesFactory",
+ versionStr);
+ if (null != ServiceManager.checkService(aidlStr)) {
+ return version;
+ } else {
+ HwBinder.getService(hidlStr, "default");
+ return version;
+ }
} catch (NoSuchElementException e) {
// Ignore, the specified HAL interface is not found.
} catch (RemoteException re) {