diff options
author | 2012-03-21 23:37:46 -0700 | |
---|---|---|
committer | 2012-03-21 23:37:46 -0700 | |
commit | 6fc0a9bd4bdd3ae4a09ae033f68c04fecfc35991 (patch) | |
tree | bcdd28483dc1cdfd01d7446373380b295cbe1de3 | |
parent | 4b6c4f1d5811ccfc7c3290b353ab8a7b02ec58be (diff) |
displayhardware: fix not obeying ro.sf.lcd_density when specified
Change-Id: I71efd6aebfdb0323b07327f5e448a5cb5eb0fad6
Signed-off-by: Dima Zavin <dima@android.com>
-rw-r--r-- | services/surfaceflinger/DisplayHardware/DisplayHardware.cpp | 18 |
1 files changed, 12 insertions, 6 deletions
diff --git a/services/surfaceflinger/DisplayHardware/DisplayHardware.cpp b/services/surfaceflinger/DisplayHardware/DisplayHardware.cpp index 3a0ff7156f..92d619d5be 100644 --- a/services/surfaceflinger/DisplayHardware/DisplayHardware.cpp +++ b/services/surfaceflinger/DisplayHardware/DisplayHardware.cpp @@ -245,27 +245,33 @@ void DisplayHardware::init(uint32_t dpy) mFlags |= BUFFER_PRESERVED; } } - + + /* use the xdpi as our density baseline */ + mDensity = mDpiX; + /* Read density from build-specific ro.sf.lcd_density property * except if it is overridden by qemu.sf.lcd_density. */ if (property_get("qemu.sf.lcd_density", property, NULL) <= 0) { if (property_get("ro.sf.lcd_density", property, NULL) <= 0) { if (mDpiX && mDpiY) { - ALOGI("Using density info from display: xdpi=%d ydpi=%d\n", + ALOGI("Using density info from display: xdpi=%.1f ydpi=%.1f\n", mDpiX, mDpiY); } else { ALOGW("No display dpi and ro.sf.lcd_density not defined, using 160 dpi by default."); - mDpiX = mDpiY = 160; + mDpiX = mDpiY = mDensity = 160; } + } else { + /* force density to what the build requested */ + mDensity = atoi(property); } } else { /* for the emulator case, reset the dpi values too */ - mDpiX = mDpiY = atoi(property); + mDpiX = mDpiY = mDensity = atoi(property); } - /* use the xdpi as our density baseline */ - mDensity = mDpiX * (1.0f / 160.0f); + /* set the actual density scale */ + mDensity *= (1.0f / 160.0f); /* * Create our OpenGL ES context |