blob: 035479cb892ef640840c1caa4f2d22393ebcae7c [file] [log] [blame]
Jiyong Park200825e2017-01-14 19:40:33 +09001#include "SurfaceFlingerConfigs.h"
2
3#include <android-base/logging.h>
4
5namespace android {
6namespace hardware {
7namespace configstore {
8namespace V1_0 {
9namespace implementation {
10
11// Methods from ::android::hardware::configstore::V1_0::ISurfaceFlingerConfigs follow.
12Return<void> SurfaceFlingerConfigs::vsyncEventPhaseOffsetNs(vsyncEventPhaseOffsetNs_cb _hidl_cb) {
13#ifdef VSYNC_EVENT_PHASE_OFFSET_NS
14 _hidl_cb({true, VSYNC_EVENT_PHASE_OFFSET_NS});
15 LOG(INFO) << "vsync event phase offset ns = " << VSYNC_EVENT_PHASE_OFFSET_NS;
16#else
17 _hidl_cb({false, 0});
18#endif
19 return Void();
20}
21
Fabien Sanglardeebc9252017-03-06 11:46:36 -080022Return<void> SurfaceFlingerConfigs::vsyncSfEventPhaseOffsetNs(vsyncEventPhaseOffsetNs_cb _hidl_cb) {
23#ifdef SF_VSYNC_EVENT_PHASE_OFFSET_NS
24 _hidl_cb({true, SF_VSYNC_EVENT_PHASE_OFFSET_NS});
25 LOG(INFO) << "sfvsync event phase offset ns = " << SF_VSYNC_EVENT_PHASE_OFFSET_NS;
26#else
27 _hidl_cb({false, 0});
28#endif
29 return Void();
30}
31
Jaesoo Leed643fc02017-01-23 19:09:02 +090032Return<void> SurfaceFlingerConfigs::useTripleFramebuffer(useTripleFramebuffer_cb _hidl_cb) {
33 bool value = false;
34#ifdef USE_TRIPLE_FRAMEBUFFER
35 value = true;
36#endif
37 _hidl_cb({true, value});
38 LOG(INFO) << "SurfaceFlinger FrameBuffer: " << (value ? "triple" : "double");
39 return Void();
40}
Jiyong Park200825e2017-01-14 19:40:33 +090041
Fabien Sanglardcbece282017-03-13 13:03:04 -070042Return<void> SurfaceFlingerConfigs::useContextPriority(useContextPriority_cb _hidl_cb) {
43#ifdef USE_CONTEXT_PRIORITY
44 _hidl_cb({true, USE_CONTEXT_PRIORITY});
45 LOG(INFO) << "SurfaceFlinger useContextPriority=" << USE_CONTEXT_PRIORITY;
46#else
47 _hidl_cb({false, false});
48#endif
49 return Void();
50}
51
Courtney Goeltzenleuchter3670b442017-03-09 09:04:29 -070052Return<void> SurfaceFlingerConfigs::hasWideColorDisplay(hasWideColorDisplay_cb _hidl_cb) {
53 bool value = false;
54#ifdef HAS_WIDE_COLOR_DISPLAY
55 value = true;
56#endif
57 _hidl_cb({true, value});
58 LOG(INFO) << "SurfaceFlinger Display: " << (value ? "Wide Color" : "Standard Color");
59 return Void();
60}
61
62Return<void> SurfaceFlingerConfigs::hasHDRDisplay(hasHDRDisplay_cb _hidl_cb) {
63 bool value = false;
64#ifdef HAS_HDR_DISPLAY
65 value = true;
66#endif
67 _hidl_cb({true, value});
68 LOG(INFO) << "SurfaceFlinger Display: " << (value ? "HDR" : "SDR");
69 return Void();
70}
71
Jiyong Park200825e2017-01-14 19:40:33 +090072// Methods from ::android::hidl::base::V1_0::IBase follow.
73
74ISurfaceFlingerConfigs* HIDL_FETCH_ISurfaceFlingerConfigs(const char* /* name */) {
75 return new SurfaceFlingerConfigs();
76}
77
78} // namespace implementation
79} // namespace V1_0
80} // namespace configstore
81} // namespace hardware
82} // namespace android