Cancel outstanding user consent request

When the end of bugreport generation is reached (i.e. bugreport has been
created) but the user has not responded to the user consent dialogue,
in that case we cancel the user consent request without copying
the file over to the caller.

Test: Tested by not replying to the user consent and checking the logs.
Bug: 128982019
Merged-In: Idd8cd2a62977ad592db9caf3febe89dd9917203f
Change-Id: Idd8cd2a62977ad592db9caf3febe89dd9917203f
(cherry picked from commit 5762741b9fae99c2fd90fad0fbb708ee64a9c209)
diff --git a/cmds/dumpstate/dumpstate.cpp b/cmds/dumpstate/dumpstate.cpp
index 2cc1b32..671c788 100644
--- a/cmds/dumpstate/dumpstate.cpp
+++ b/cmds/dumpstate/dumpstate.cpp
@@ -2697,7 +2697,15 @@
             MYLOGI(
                 "Did not receive user consent yet."
                 " Will not copy the bugreport artifacts to caller.\n");
-            // TODO(b/111441001): cancel outstanding requests
+            const String16 incidentcompanion("incidentcompanion");
+            sp<android::IBinder> ics(defaultServiceManager()->getService(incidentcompanion));
+            if (ics != nullptr) {
+                MYLOGD("Canceling user consent request via incidentcompanion service\n");
+                android::interface_cast<android::os::IIncidentCompanion>(ics)->cancelAuthorization(
+                        consent_callback_.get());
+            } else {
+                MYLOGD("Unable to cancel user consent; incidentcompanion service unavailable\n");
+            }
         }
     }