diff options
-rw-r--r-- | media/java/android/media/AudioHalVersionInfo.java | 5 | ||||
-rw-r--r-- | services/core/java/com/android/server/audio/AudioService.java | 14 |
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) { |