summaryrefslogtreecommitdiff
path: root/services/java/com/android/server/display/LogicalDisplay.java
diff options
context:
space:
mode:
authorJeff Brown <jeffbrown@google.com>2013-08-07 14:13:37 -0700
committerJeff Brown <jeffbrown@google.com>2013-08-07 14:33:50 -0700
commitef981a40aa63069dc115b216ce38d1dd939dc64c (patch)
tree05c8b9ea8de1ad4d797d397f30e00ab6e031a65a /services/java/com/android/server/display/LogicalDisplay.java
parent18ec40c44c936fd5146133ccc7446a4cd860b527 (diff)
Fix propagation of display overscan information.
Fix several problems in the way that the overscan was plumbed in which could result in information not being delivered to applications. There was also a violation of certain invariants regarding the immutability of returned DisplayInfo objects. Bug: 10213771 Change-Id: I21184a14305e44278b5e81353bf95d511e8517fb
Diffstat (limited to 'services/java/com/android/server/display/LogicalDisplay.java')
-rw-r--r--services/java/com/android/server/display/LogicalDisplay.java22
1 files changed, 7 insertions, 15 deletions
diff --git a/services/java/com/android/server/display/LogicalDisplay.java b/services/java/com/android/server/display/LogicalDisplay.java
index b9839c27c9bd..7e357c0c3a7c 100644
--- a/services/java/com/android/server/display/LogicalDisplay.java
+++ b/services/java/com/android/server/display/LogicalDisplay.java
@@ -128,32 +128,24 @@ final class LogicalDisplay {
*
* @param info The logical display information, may be null.
*/
- public void setDisplayInfoOverrideFromWindowManagerLocked(DisplayInfo info) {
+ public boolean setDisplayInfoOverrideFromWindowManagerLocked(DisplayInfo info) {
if (info != null) {
if (mOverrideDisplayInfo == null) {
mOverrideDisplayInfo = new DisplayInfo(info);
mInfo = null;
- } else if (!mOverrideDisplayInfo.equals(info)) {
+ return true;
+ }
+ if (!mOverrideDisplayInfo.equals(info)) {
mOverrideDisplayInfo.copyFrom(info);
mInfo = null;
+ return true;
}
} else if (mOverrideDisplayInfo != null) {
mOverrideDisplayInfo = null;
mInfo = null;
+ return true;
}
- }
-
- public void setOverscan(int left, int top, int right, int bottom) {
- mInfo.overscanLeft = left;
- mInfo.overscanTop = top;
- mInfo.overscanRight = right;
- mInfo.overscanBottom = bottom;
- if (mOverrideDisplayInfo != null) {
- mOverrideDisplayInfo.overscanLeft = left;
- mOverrideDisplayInfo.overscanTop = top;
- mOverrideDisplayInfo.overscanRight = right;
- mOverrideDisplayInfo.overscanBottom = bottom;
- }
+ return false;
}
/**