From 5b6a10373ee6280155f91ef82f51509014530b1e Mon Sep 17 00:00:00 2001 From: Clyde Tan Date: Mon, 30 Dec 2013 08:49:51 +0800 Subject: [PATCH] Fix boot animation rotation problem when ro.sf.hwrotation is set to 90 or 270 Change-Id: I7ad3c83e23ce38280818ec5283d173d50c889531 --- services/surfaceflinger/DisplayDevice.cpp | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/services/surfaceflinger/DisplayDevice.cpp b/services/surfaceflinger/DisplayDevice.cpp index 8946c413a..1f607f2be 100644 --- a/services/surfaceflinger/DisplayDevice.cpp +++ b/services/surfaceflinger/DisplayDevice.cpp @@ -466,7 +466,15 @@ void DisplayDevice::setProjection(int orientation, if (!frame.isValid()) { // the destination frame can be invalid if it has never been set, // in that case we assume the whole display frame. - frame = Rect(w, h); + char value[PROPERTY_VALUE_MAX]; + property_get("ro.sf.hwrotation", value, "0"); + int additionalRot = atoi(value); + + if (additionalRot == 90 || additionalRot == 270) { + frame = Rect(h, w); + } else { + frame = Rect(w, h); + } } if (viewport.isEmpty()) {