shill: make Manager::OnDarkSuspendImminent asynchronous
Use a ResultAggregator to make Manager::OnDarkSuspendImminent
asynchronous. This mirrors the approach used to make
Manager::OnSuspendImminent asynchronous in CL:218551.
Also:
- Add appropriate metrics for DarkResume actions.
- Added calls to SuspendAction metrics in the suspend actions
code path, and modified some calls that wrongly collected
termination action metrics.
BUG=chromium:428167
TEST='P2_TEST_FILTER="shill::*" FEATURES="test" USE="clang asan"
emerge-samus shill' succeeds.
Change-Id: I7b0a0e32a708479a4f1127ff1f587fd7ce3e803f
Reviewed-on: https://chromium-review.googlesource.com/226123
Tested-by: Samuel Tan <samueltan@chromium.org>
Reviewed-by: Paul Stewart <pstew@chromium.org>
Commit-Queue: Samuel Tan <samueltan@chromium.org>
diff --git a/mock_power_manager.h b/mock_power_manager.h
index 3d57b20..9608492 100644
--- a/mock_power_manager.h
+++ b/mock_power_manager.h
@@ -22,6 +22,7 @@
~MockPowerManager() override;
MOCK_METHOD0(ReportSuspendReadiness, bool());
+ MOCK_METHOD0(ReportDarkSuspendReadiness, bool());
MOCK_METHOD5(
Start,
void(DBusManager *dbus_manager,