Merge "Check for unimplemented keymaster function delete_key"
diff --git a/audio/2.0/vts/functional/AudioPrimaryHidlHalTest.cpp b/audio/2.0/vts/functional/AudioPrimaryHidlHalTest.cpp
index 6270c9c..1021569 100644
--- a/audio/2.0/vts/functional/AudioPrimaryHidlHalTest.cpp
+++ b/audio/2.0/vts/functional/AudioPrimaryHidlHalTest.cpp
@@ -769,6 +769,9 @@
TEST_IO_STREAM(SetHwAvSync, "Try to set hardware sync to an invalid value",
ASSERT_RESULT(invalidArgsOrNotSupported, stream->setHwAvSync(666)))
+TEST_IO_STREAM(GetHwAvSync, "Get hardware sync can not fail",
+ ASSERT_TRUE(device->getHwAvSync().isOk()))
+
static void checkGetParameter(IStream* stream, hidl_vec<hidl_string> keys,
vector<Result> expectedResults) {
hidl_vec<ParameterValue> parameters;
@@ -915,6 +918,14 @@
testPrepareForReading(stream.get(), uintMax, uintMax);
}
+TEST_P(InputStreamTest, GetInputFramesLost) {
+ doc::test("The number of frames lost on a never started stream should be 0");
+ auto ret = stream->getInputFramesLost();
+ ASSERT_TRUE(ret.isOk());
+ uint32_t framesLost{ret};
+ ASSERT_EQ(0U, framesLost);
+}
+
TEST_P(InputStreamTest, getCapturePosition) {
doc::test("The capture position of a non prepared stream should not be retrievable");
uint64_t frames;
@@ -995,13 +1006,12 @@
TEST_P(OutputStreamTest, GetNextWriteTimestamp) {
uint64_t timestampUs;
- ASSERT_OK(stream->getRenderPosition(returnIn(res, timestampUs)));
+ ASSERT_OK(stream->getNextWriteTimestamp(returnIn(res, timestampUs)));
if (res == Result::NOT_SUPPORTED) {
- doc::partialTest("getRenderPosition is not supported");
+ doc::partialTest("getNextWriteTimestamp is not supported");
return;
}
- ASSERT_OK(res);
- ASSERT_EQ(0U, timestampUs);
+ ASSERT_EQ(Result::INVALID_STATE, res);
}
/** Stub implementation of out stream callback. */
@@ -1071,13 +1081,13 @@
}
TEST_P(OutputStreamTest, FlushStop) {
- ASSERT_OK(stream->flush());
-}
-
-/** Return thee difference in us of two TimeSpec */
-uint64_t operator-(TimeSpec left, TimeSpec right) {
- auto toMicroSec = [](auto ts) { return ts.tvSec * 1e+6 + ts.tvNSec / 1e+3; };
- return toMicroSec(left) - toMicroSec(right);
+ auto ret = stream->flush();
+ ASSERT_TRUE(ret.isOk());
+ if (ret == Result::NOT_SUPPORTED) {
+ doc::partialTest("Flush is not supported");
+ return;
+ }
+ ASSERT_OK(ret);
}
TEST_P(OutputStreamTest, GetPresentationPositionStop) {
diff --git a/configstore/1.0/ISurfaceFlingerConfigs.hal b/configstore/1.0/ISurfaceFlingerConfigs.hal
index c7fb78b..3b5c1b0 100644
--- a/configstore/1.0/ISurfaceFlingerConfigs.hal
+++ b/configstore/1.0/ISurfaceFlingerConfigs.hal
@@ -40,8 +40,6 @@
vsyncEventPhaseOffsetNs() generates (OptionalInt64 value);
vsyncSfEventPhaseOffsetNs() generates (OptionalInt64 value);
- useTripleFramebuffer() generates (OptionalBool value);
-
/*
* Instruct the Render Engine to use EGL_IMG_context_priority hint if
* availabe.
@@ -104,4 +102,10 @@
* return true for full vr support.
*/
useVrFlinger() generates (OptionalBool value);
+
+ /*
+ * Controls the number of buffers SurfaceFlinger will allocate for use in
+ * FramebufferSurface.
+ */
+ maxFrameBufferAcquiredBuffers() generates(OptionalInt64 value);
};
diff --git a/configstore/1.0/default/SurfaceFlingerConfigs.cpp b/configstore/1.0/default/SurfaceFlingerConfigs.cpp
index fc66c59..87c9ffb 100644
--- a/configstore/1.0/default/SurfaceFlingerConfigs.cpp
+++ b/configstore/1.0/default/SurfaceFlingerConfigs.cpp
@@ -29,16 +29,6 @@
return Void();
}
-Return<void> SurfaceFlingerConfigs::useTripleFramebuffer(useTripleFramebuffer_cb _hidl_cb) {
- bool value = false;
-#ifdef USE_TRIPLE_FRAMEBUFFER
- value = true;
-#endif
- _hidl_cb({true, value});
- LOG(INFO) << "SurfaceFlinger FrameBuffer: " << (value ? "triple" : "double");
- return Void();
-}
-
Return<void> SurfaceFlingerConfigs::useContextPriority(useContextPriority_cb _hidl_cb) {
#ifdef USE_CONTEXT_PRIORITY
_hidl_cb({true, USE_CONTEXT_PRIORITY});
@@ -49,6 +39,16 @@
return Void();
}
+Return<void> SurfaceFlingerConfigs::maxFrameBufferAcquiredBuffers(maxFrameBufferAcquiredBuffers_cb _hidl_cb) {
+#ifdef NUM_FRAMEBUFFER_SURFACE_BUFFERS
+ _hidl_cb({true, NUM_FRAMEBUFFER_SURFACE_BUFFERS});
+ LOG(INFO) << "SurfaceFlinger FrameBuffer max acquired buffers : " << NUM_FRAMEBUFFER_SURFACE_BUFFERS;
+#else
+ _hidl_cb({false, 0});
+#endif
+ return Void();
+}
+
Return<void> SurfaceFlingerConfigs::hasWideColorDisplay(hasWideColorDisplay_cb _hidl_cb) {
bool value = false;
#ifdef HAS_WIDE_COLOR_DISPLAY
diff --git a/configstore/1.0/default/SurfaceFlingerConfigs.h b/configstore/1.0/default/SurfaceFlingerConfigs.h
index b0aaaf8..9f9b217 100644
--- a/configstore/1.0/default/SurfaceFlingerConfigs.h
+++ b/configstore/1.0/default/SurfaceFlingerConfigs.h
@@ -26,7 +26,6 @@
// Methods from ::android::hardware::configstore::V1_0::ISurfaceFlingerConfigs follow.
Return<void> vsyncEventPhaseOffsetNs(vsyncEventPhaseOffsetNs_cb _hidl_cb) override;
Return<void> vsyncSfEventPhaseOffsetNs(vsyncEventPhaseOffsetNs_cb _hidl_cb) override;
- Return<void> useTripleFramebuffer(useTripleFramebuffer_cb _hidl_cb) override;
Return<void> useContextPriority(useContextPriority_cb _hidl_cb) override;
Return<void> hasWideColorDisplay(hasWideColorDisplay_cb _hidl_cb) override;
Return<void> hasHDRDisplay(hasHDRDisplay_cb _hidl_cb) override;
@@ -35,6 +34,7 @@
Return<void> maxVirtualDisplaySize(maxVirtualDisplaySize_cb _hidl_cb) override;
Return<void> hasSyncFramework(hasSyncFramework_cb _hidl_cb) override;
Return<void> useVrFlinger(useVrFlinger_cb _hidl_cb) override;
+ Return<void> maxFrameBufferAcquiredBuffers(maxFrameBufferAcquiredBuffers_cb _hidl_cb) override;
// Methods from ::android::hidl::base::V1_0::IBase follow.
diff --git a/configstore/1.0/default/surfaceflinger.mk b/configstore/1.0/default/surfaceflinger.mk
index 7837498..9e3d4d4 100644
--- a/configstore/1.0/default/surfaceflinger.mk
+++ b/configstore/1.0/default/surfaceflinger.mk
@@ -9,10 +9,6 @@
LOCAL_CFLAGS += -DSF_VSYNC_EVENT_PHASE_OFFSET_NS=$(SF_VSYNC_EVENT_PHASE_OFFSET_NS)
endif
-ifeq ($(NUM_FRAMEBUFFER_SURFACE_BUFFERS),3)
- LOCAL_CFLAGS += -DUSE_TRIPLE_FRAMEBUFFER
-endif
-
ifeq ($(TARGET_BOARD_PLATFORM),omap4)
LOCAL_CFLAGS += -DUSE_CONTEXT_PRIORITY=1
endif
@@ -50,3 +46,7 @@
ifneq ($(USE_VR_FLINGER),)
LOCAL_CFLAGS += -DUSE_VR_FLINGER
endif
+
+ifneq ($(NUM_FRAMEBUFFER_SURFACE_BUFFERS),)
+ LOCAL_CFLAGS += -DNUM_FRAMEBUFFER_SURFACE_BUFFERS=$(NUM_FRAMEBUFFER_SURFACE_BUFFERS)
+endif