xdpi / ydpi were reported as 0

Bug: 6975723
Change-Id: Ia7fa37ec11e2308804f5034959a37e508d292d31
diff --git a/services/surfaceflinger/DisplayHardware/HWComposer.cpp b/services/surfaceflinger/DisplayHardware/HWComposer.cpp
index 49aba52..c9df7a4 100644
--- a/services/surfaceflinger/DisplayHardware/HWComposer.cpp
+++ b/services/surfaceflinger/DisplayHardware/HWComposer.cpp
@@ -179,7 +179,8 @@
 
 HWComposer::HWComposer(
         const sp<SurfaceFlinger>& flinger,
-        EventHandler& handler)
+        EventHandler& handler,
+        framebuffer_device_t const* fbDev)
     : mFlinger(flinger),
       mModule(0), mHwc(0), mCapacity(0),
       mNumOVLayers(0), mNumFBLayers(0),
@@ -238,19 +239,14 @@
         }
     }
 
-    if (mRefreshPeriod == 0) {
-        // for compatibility, we attempt to get the refresh rate from
-        // the FB HAL if we couldn't get it from the HWC HAL.
-        hw_module_t const* module;
-        if (hw_get_module(GRALLOC_HARDWARE_MODULE_ID, &module) == 0) {
-            framebuffer_device_t* fbDev;
-            int err = framebuffer_open(module, &fbDev);
-            if (!err && fbDev) {
-                mRefreshPeriod = nsecs_t(1e9 / fbDev->fps);
-                framebuffer_close(fbDev);
-            }
+
+    if (fbDev) {
+        if (mRefreshPeriod == 0) {
+            mRefreshPeriod = nsecs_t(1e9 / fbDev->fps);
+            ALOGW("getting VSYNC period from fb HAL: %lld", mRefreshPeriod);
         }
-        ALOGW("getting VSYNC period from fb HAL: %lld", mRefreshPeriod);
+        mDpiX = fbDev->xdpi;
+        mDpiY = fbDev->ydpi;
     }
 
     if (mRefreshPeriod == 0) {
@@ -313,6 +309,14 @@
     return now - ((now - mLastHwVSync) %  mRefreshPeriod);
 }
 
+float HWComposer::getDpiX() const {
+    return mDpiX;
+}
+
+float HWComposer::getDpiY() const {
+    return mDpiY;
+}
+
 void HWComposer::eventControl(int event, int enabled) {
     status_t err = NO_ERROR;
     if (mHwc && mHwc->common.version >= HWC_DEVICE_API_VERSION_0_3) {