hal: reset adm of ull when routing restored by voip call

When restoring realtime stream from compress voip call, adm still needs
to be updated.

Change-Id: I0c160a86f7271c42e5ebe899fd5970110093e522
CRs-Fixed: 2365346
diff --git a/hal/voice_extn/compress_voip.c b/hal/voice_extn/compress_voip.c
index 2736d68..890f508 100644
--- a/hal/voice_extn/compress_voip.c
+++ b/hal/voice_extn/compress_voip.c
@@ -255,6 +255,7 @@
     int ret = 0;
     struct audio_usecase *uc_info;
     struct listnode *node;
+    struct stream_out *out = NULL;
 
     ALOGD("%s: enter, out_stream_count=%d, in_stream_count=%d",
            __func__, voip_data.out_stream_count, voip_data.in_stream_count);
@@ -292,6 +293,15 @@
         // restore device for other active usecases
         list_for_each(node, &adev->usecase_list) {
             uc_info = node_to_item(node, struct audio_usecase, list);
+            out = uc_info->stream.out;
+            if (out && adev->adm_register_output_stream
+                    && adev->adm_on_routing_change) {
+                adev->adm_register_output_stream(adev->adm_data,
+                                                 out->handle,
+                                                 out->flags);
+                adev->adm_on_routing_change(adev->adm_data,
+                                            out->handle);
+            }
             select_devices(adev, uc_info->id);
         }
     } else {