From 4bb8ffb04460bcd480453ad228e389e9535d40ca Mon Sep 17 00:00:00 2001 From: Sundong Ahn Date: Wed, 6 May 2020 07:04:57 +0000 Subject: [PATCH] Reland "Change to using sysprop for services.core.unboosted" This reverts commit 123fba9ffb3c5d2755006cc6b7d480b1a1b01162. Reason for revert: Fix build error (ag/11388833) Bug: 124531214 Change-Id: If4810b59ba0665b7fec1329982800674297d891c --- services/core/Android.bp | 1 + .../android/server/wm/WindowManagerService.java | 17 +++++++++++++++++ 2 files changed, 18 insertions(+) diff --git a/services/core/Android.bp b/services/core/Android.bp index 77773edc28caa..9e483f919b47c 100644 --- a/services/core/Android.bp +++ b/services/core/Android.bp @@ -130,6 +130,7 @@ java_library_static { "dnsresolver_aidl_interface-V4-java", "netd_event_listener_interface-java", "overlayable_policy_aidl-java", + "SurfaceFlingerProperties", ], } diff --git a/services/core/java/com/android/server/wm/WindowManagerService.java b/services/core/java/com/android/server/wm/WindowManagerService.java index 8eb4b2659cc04..4eba8b0b55b49 100644 --- a/services/core/java/com/android/server/wm/WindowManagerService.java +++ b/services/core/java/com/android/server/wm/WindowManagerService.java @@ -195,6 +195,7 @@ import android.provider.DeviceConfig; import android.provider.Settings; import android.service.vr.IVrManager; import android.service.vr.IVrStateCallbacks; +import android.sysprop.SurfaceFlingerProperties; import android.text.format.DateUtils; import android.util.ArrayMap; import android.util.ArraySet; @@ -304,7 +305,9 @@ import java.util.Date; import java.util.HashMap; import java.util.List; import java.util.Map; +import java.util.NoSuchElementException; import java.util.Objects; +import java.util.Optional; import java.util.function.Function; import java.util.function.Supplier; @@ -4648,6 +4651,11 @@ public class WindowManagerService extends IWindowManager.Stub } private static boolean queryWideColorGamutSupport() { + boolean defaultValue = false; + Optional hasWideColorProp = SurfaceFlingerProperties.has_wide_color_display(); + if (hasWideColorProp.isPresent()) { + return hasWideColorProp.get(); + } try { ISurfaceFlingerConfigs surfaceFlinger = ISurfaceFlingerConfigs.getService(); OptionalBool hasWideColor = surfaceFlinger.hasWideColorDisplay(); @@ -4656,11 +4664,18 @@ public class WindowManagerService extends IWindowManager.Stub } } catch (RemoteException e) { // Ignore, we're in big trouble if we can't talk to SurfaceFlinger's config store + } catch (NoSuchElementException e) { + return defaultValue; } return false; } private static boolean queryHdrSupport() { + boolean defaultValue = false; + Optional hasHdrProp = SurfaceFlingerProperties.has_HDR_display(); + if (hasHdrProp.isPresent()) { + return hasHdrProp.get(); + } try { ISurfaceFlingerConfigs surfaceFlinger = ISurfaceFlingerConfigs.getService(); OptionalBool hasHdr = surfaceFlinger.hasHDRDisplay(); @@ -4669,6 +4684,8 @@ public class WindowManagerService extends IWindowManager.Stub } } catch (RemoteException e) { // Ignore, we're in big trouble if we can't talk to SurfaceFlinger's config store + } catch (NoSuchElementException e) { + return defaultValue; } return false; }