summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author TreeHugger Robot <treehugger-gerrit@google.com> 2020-04-30 16:11:11 +0000
committer Android (Google) Code Review <android-gerrit@google.com> 2020-04-30 16:11:11 +0000
commit8e47f58e6bbeaa3f3f75d88562e7849202beea51 (patch)
treedfaa75233fd7974028238e860b2c116b03366d1e
parente199e2d27b9a0622c38612aea6156607f1a9f61a (diff)
parentdc217b9d20d6e85d84aa8107a6bdef8ef2e05aa5 (diff)
Merge "Change to using sysprop for services.core.unboosted" into rvc-dev
-rw-r--r--services/core/Android.bp1
-rw-r--r--services/core/java/com/android/server/wm/WindowManagerService.java17
2 files changed, 18 insertions, 0 deletions
diff --git a/services/core/Android.bp b/services/core/Android.bp
index 77773edc28ca..9e483f919b47 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 84d749f148fb..9c0822e63c5a 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;
@@ -4686,6 +4689,11 @@ public class WindowManagerService extends IWindowManager.Stub
}
private static boolean queryWideColorGamutSupport() {
+ boolean defaultValue = false;
+ Optional<Boolean> hasWideColorProp = SurfaceFlingerProperties.has_wide_color_display();
+ if (hasWideColorProp.isPresent()) {
+ return hasWideColorProp.get();
+ }
try {
ISurfaceFlingerConfigs surfaceFlinger = ISurfaceFlingerConfigs.getService();
OptionalBool hasWideColor = surfaceFlinger.hasWideColorDisplay();
@@ -4694,11 +4702,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<Boolean> hasHdrProp = SurfaceFlingerProperties.has_HDR_display();
+ if (hasHdrProp.isPresent()) {
+ return hasHdrProp.get();
+ }
try {
ISurfaceFlingerConfigs surfaceFlinger = ISurfaceFlingerConfigs.getService();
OptionalBool hasHdr = surfaceFlinger.hasHDRDisplay();
@@ -4707,6 +4722,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;
}