hal: add support to query hpx state using getparameter

Add support to query hpx state using AudioManager::getParameter.

Change-Id: I1347191d9f2616f84e2862251717eec86dcaaebc
diff --git a/hal/audio_extn/audio_extn.c b/hal/audio_extn/audio_extn.c
index e6964fc..b8d29f9 100644
--- a/hal/audio_extn/audio_extn.c
+++ b/hal/audio_extn/audio_extn.c
@@ -131,6 +131,7 @@
 
 #ifndef DTS_EAGLE
 #define audio_extn_hpx_set_parameters(adev, parms)         (0)
+#define audio_extn_hpx_get_parameters(query, reply)  (0)
 #define audio_extn_check_and_set_dts_hpx_state(adev)       (0)
 #else
 void audio_extn_hpx_set_parameters(struct audio_device *adev,
@@ -169,6 +170,24 @@
     }
 }
 
+static int audio_extn_hpx_get_parameters(struct str_parms *query,
+                                       struct str_parms *reply)
+{
+    int ret;
+    char value[32]={0};
+
+    ALOGV("%s: hpx %d", __func__, aextnmod.hpx_enabled);
+    ret = str_parms_get_str(query, AUDIO_PARAMETER_HPX, value,
+                            sizeof(value));
+    if (ret >= 0) {
+        if (aextnmod.hpx_enabled)
+            str_parms_add_str(reply, AUDIO_PARAMETER_HPX, "ON");
+        else
+            str_parms_add_str(reply, AUDIO_PARAMETER_HPX, "OFF");
+    }
+    return ret;
+}
+
 void audio_extn_check_and_set_dts_hpx_state(const struct audio_device *adev)
 {
     char prop[PROPERTY_VALUE_MAX];
@@ -525,6 +544,7 @@
     audio_extn_get_fluence_parameters(adev, query, reply);
     get_active_offload_usecases(adev, query, reply);
     audio_extn_dts_eagle_get_parameters(adev, query, reply);
+    audio_extn_hpx_get_parameters(query, reply);
 
     kv_pairs = str_parms_to_str(reply);
     ALOGD_IF(kv_pairs != NULL, "%s: returns %s", __func__, kv_pairs);