hal: Fixes for dynamic audio HAL feature enable

- Update audio and voice feature init sequence
- Update API names for querying whether feature is enabled
- Fix A2DP audio_extn APIs
- Fix compress VOIP set parameter default return val issue that
  was causing no other set param to be processed
- Fix dynamic primary usecase check

Change-Id: I08fa3bc369ec197932347b01491588d42655797c
diff --git a/hal/audio_extn/a2dp.c b/hal/audio_extn/a2dp.c
index 9ac5476..028a96f 100644
--- a/hal/audio_extn/a2dp.c
+++ b/hal/audio_extn/a2dp.c
@@ -2655,7 +2655,7 @@
 }
 
 void a2dp_init(void *adev,
-               a2dp_offload_init_config_t *init_config)
+               a2dp_offload_init_config_t init_config)
 {
   a2dp.adev = (struct audio_device*)adev;
   a2dp.bt_lib_source_handle = NULL;
@@ -2676,8 +2676,8 @@
 
   // init function pointers
   fp_platform_get_pcm_device_id =
-              init_config->fp_platform_get_pcm_device_id;
-  fp_check_a2dp_restore = init_config->fp_check_a2dp_restore;
+              init_config.fp_platform_get_pcm_device_id;
+  fp_check_a2dp_restore = init_config.fp_check_a2dp_restore;
 
   reset_a2dp_enc_config_params();
   reset_a2dp_source_dec_config_params();
@@ -2687,7 +2687,8 @@
   a2dp.a2dp_sink_started = false;
   a2dp.bt_state_sink = A2DP_STATE_DISCONNECTED;
   a2dp.a2dp_sink_total_active_session_requests = 0;
-  open_a2dp_sink();
+  if (isRunningWithVendorEnhancedFramework())
+      open_a2dp_sink();
 
   a2dp.is_a2dp_offload_supported = false;
   update_offload_codec_capabilities();