Update FrameMetricsReporterTests to test that we don't report any frames when fromFrame is not explicitly set

Makes sure bugs where we forget to explicitly set the fromFrame are easier to catch

Test: mmm -j8 frameworks/base/libs/hwui && adb push /data/nativetest/hwui_unit_tests/hwui_unit_tests /data/nativetest/hwui_unit_tests/hwui_unit_tests && adb shell /data/nativetest/hwui_unit_tests/hwui_unit_tests --gtest_filter='FrameMetricsReporter.*'
Change-Id: I477525731cc6f698f904fc4b31da0fae2cc45ab8
diff --git a/libs/hwui/tests/unit/FrameMetricsReporterTests.cpp b/libs/hwui/tests/unit/FrameMetricsReporterTests.cpp
index fb04700..571a267 100644
--- a/libs/hwui/tests/unit/FrameMetricsReporterTests.cpp
+++ b/libs/hwui/tests/unit/FrameMetricsReporterTests.cpp
@@ -34,11 +34,13 @@
     MOCK_METHOD(void, notify, (const int64_t* buffer), (override));
 };
 
-TEST(FrameMetricsReporter, reportsAllFramesIfNoFromFrameIsSpecified) {
+// To make sure it is clear that something went wrong if no from frame is set (to make it easier
+// to catch bugs were we forget to set the fromFrame).
+TEST(FrameMetricsReporter, doesNotReportAnyFrameIfNoFromFrameIsSpecified) {
     auto reporter = std::make_shared<FrameMetricsReporter>();
 
     auto observer = sp<TestFrameMetricsObserver>::make(false /*waitForPresentTime*/);
-    EXPECT_CALL(*observer, notify).Times(4);
+    EXPECT_CALL(*observer, notify).Times(0);
 
     reporter->addObserver(observer.get());
 
@@ -62,17 +64,19 @@
 }
 
 TEST(FrameMetricsReporter, respectsWaitForPresentTimeUnset) {
-    auto reporter = std::make_shared<FrameMetricsReporter>();
-
-    auto observer = sp<TestFrameMetricsObserver>::make(false /*waitForPresentTime*/);
-    reporter->addObserver(observer.get());
-
     const int64_t* stats;
     bool hasPresentTime = false;
     uint64_t frameNumber = 3;
     int32_t surfaceControlId = 0;
 
+    auto reporter = std::make_shared<FrameMetricsReporter>();
+
+    auto observer = sp<TestFrameMetricsObserver>::make(hasPresentTime);
+    observer->reportMetricsFrom(frameNumber, surfaceControlId);
+    reporter->addObserver(observer.get());
+
     EXPECT_CALL(*observer, notify).Times(1);
+    hasPresentTime = false;
     reporter->reportFrameMetrics(stats, hasPresentTime, frameNumber, surfaceControlId);
 
     EXPECT_CALL(*observer, notify).Times(0);
@@ -81,17 +85,19 @@
 }
 
 TEST(FrameMetricsReporter, respectsWaitForPresentTimeSet) {
-    auto reporter = std::make_shared<FrameMetricsReporter>();
-
-    auto observer = sp<TestFrameMetricsObserver>::make(true /*waitForPresentTime*/);
-    reporter->addObserver(observer.get());
-
     const int64_t* stats;
-    bool hasPresentTime = false;
+    bool hasPresentTime = true;
     uint64_t frameNumber = 3;
     int32_t surfaceControlId = 0;
 
+    auto reporter = std::make_shared<FrameMetricsReporter>();
+
+    auto observer = sp<TestFrameMetricsObserver>::make(hasPresentTime);
+    observer->reportMetricsFrom(frameNumber, surfaceControlId);
+    reporter->addObserver(observer.get());
+
     EXPECT_CALL(*observer, notify).Times(0);
+    hasPresentTime = false;
     reporter->reportFrameMetrics(stats, hasPresentTime, frameNumber, surfaceControlId);
 
     EXPECT_CALL(*observer, notify).Times(1);