summaryrefslogtreecommitdiff
path: root/services/surfaceflinger/tests/unittests/mock/MockFrameTimeline.h
diff options
context:
space:
mode:
authorAndroid Build Coastguard Worker <android-build-coastguard-worker@google.com>2021-10-07 16:57:34 +0000
committerAndroid Build Coastguard Worker <android-build-coastguard-worker@google.com>2021-10-07 16:57:34 +0000
commitb288e591b5546b00c17dc78634c87aeee6af4746 (patch)
tree1bca85935788654055cf665af42a53634cef23bf /services/surfaceflinger/tests/unittests/mock/MockFrameTimeline.h
parent3ee6879e91eb132e0b24e2adefd4d8eae2491a62 (diff)
parent38afbfd13622e10b8e74b9c114fa05f30ba480bb (diff)
downloadnative-b288e591b5546b00c17dc78634c87aeee6af4746.tar.gz
Snap for 7803083 from 38afbfd13622e10b8e74b9c114fa05f30ba480bb to mainline-tzdata2-release
Change-Id: Ic05c46aa04f9072b3dc93e023a17408956f14474
Diffstat (limited to 'services/surfaceflinger/tests/unittests/mock/MockFrameTimeline.h')
-rw-r--r--services/surfaceflinger/tests/unittests/mock/MockFrameTimeline.h41
1 files changed, 41 insertions, 0 deletions
diff --git a/services/surfaceflinger/tests/unittests/mock/MockFrameTimeline.h b/services/surfaceflinger/tests/unittests/mock/MockFrameTimeline.h
new file mode 100644
index 0000000000..5dc48c3703
--- /dev/null
+++ b/services/surfaceflinger/tests/unittests/mock/MockFrameTimeline.h
@@ -0,0 +1,41 @@
+/*
+ * Copyright 2020 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#pragma once
+
+#include <gmock/gmock.h>
+
+#include "FrameTimeline/FrameTimeline.h"
+
+namespace android::mock {
+
+class FrameTimeline : public android::frametimeline::impl::FrameTimeline {
+ // No need to create mocks for SurfaceFrame and TokenManager yet. They are very small components
+ // and do not have external dependencies like perfetto.
+public:
+ FrameTimeline(std::shared_ptr<TimeStats> timeStats, pid_t surfaceFlingerPid);
+ ~FrameTimeline();
+
+ MOCK_METHOD0(onBootFinished, void());
+ MOCK_METHOD1(addSurfaceFrame, void(std::shared_ptr<frametimeline::SurfaceFrame>));
+ MOCK_METHOD3(setSfWakeUp, void(int64_t, nsecs_t, Fps));
+ MOCK_METHOD3(setSfPresent,
+ void(nsecs_t, const std::shared_ptr<FenceTime>&,
+ const std::shared_ptr<FenceTime>&));
+ MOCK_METHOD1(computeFps, float(const std::unordered_set<int32_t>&));
+};
+
+} // namespace android::mock