configstore: add configstore@1.0 HAL

This change adds configstore@1.0 HAL which provides static configuration values
to the framework. As a first attempt, a configuration item in the
surfaceflinger (VSYNC_EVENT_PHASE_OFFSET_NS) is choosen and converted to
a HAL function named vsyncEventPhaseoffsetNs().

Design doc: go/design-confighal

Bug: 34314793
Test: build & run. make sure that configstore is up and running.
$ ps -A | grep configstore
Change-Id: Ibc70b14176d2e0144a5745d71ceba49ebc3ca706
diff --git a/configstore/1.0/default/SurfaceFlingerConfigs.cpp b/configstore/1.0/default/SurfaceFlingerConfigs.cpp
new file mode 100644
index 0000000..fc75182
--- /dev/null
+++ b/configstore/1.0/default/SurfaceFlingerConfigs.cpp
@@ -0,0 +1,33 @@
+#include "SurfaceFlingerConfigs.h"
+
+#include <android-base/logging.h>
+
+namespace android {
+namespace hardware {
+namespace configstore {
+namespace V1_0 {
+namespace implementation {
+
+// Methods from ::android::hardware::configstore::V1_0::ISurfaceFlingerConfigs follow.
+Return<void> SurfaceFlingerConfigs::vsyncEventPhaseOffsetNs(vsyncEventPhaseOffsetNs_cb _hidl_cb) {
+#ifdef VSYNC_EVENT_PHASE_OFFSET_NS
+    _hidl_cb({true, VSYNC_EVENT_PHASE_OFFSET_NS});
+    LOG(INFO) << "vsync event phase offset ns =  " << VSYNC_EVENT_PHASE_OFFSET_NS;
+#else
+    _hidl_cb({false, 0});
+#endif
+    return Void();
+}
+
+
+// Methods from ::android::hidl::base::V1_0::IBase follow.
+
+ISurfaceFlingerConfigs* HIDL_FETCH_ISurfaceFlingerConfigs(const char* /* name */) {
+    return new SurfaceFlingerConfigs();
+}
+
+}  // namespace implementation
+}  // namespace V1_0
+}  // namespace configstore
+}  // namespace hardware
+}  // namespace android