From bb927a13b4fa39401494a8e157cb5bf79275ca36 Mon Sep 17 00:00:00 2001 From: Josh Gao Date: Wed, 11 Dec 2019 14:22:38 -0800 Subject: adbd_auth: dispatch pending prompts on success. If we have multiple queued auth requests, we need to dispatch our pending prompts on success as well as failure. Test: `mux off; mux a; mux off; mux` to switch, then tapped allow twice Change-Id: I14ce2a1c43fbd9af45397c9fb778a0e145ceabba --- libs/adbd_auth/adbd_auth.cpp | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'libs') diff --git a/libs/adbd_auth/adbd_auth.cpp b/libs/adbd_auth/adbd_auth.cpp index 64791098ee..a9c23110c9 100644 --- a/libs/adbd_auth/adbd_auth.cpp +++ b/libs/adbd_auth/adbd_auth.cpp @@ -178,6 +178,10 @@ public: this->callbacks_.key_authorized(arg, id); this->dispatched_prompt_ = std::nullopt; + + // We need to dispatch pending prompts here upon success as well, + // since we might have multiple queued prompts. + DispatchPendingPrompt(); } else if (packet[0] == 'N' && packet[1] == 'O') { CHECK_EQ(2UL, packet.length()); // TODO: Do we want a callback if the key is denied? -- cgit v1.2.3-59-g8ed1b