summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Galia Peycheva <galinap@google.com> 2021-01-19 17:07:11 +0100
committer Galia Peycheva <galinap@google.com> 2021-01-19 17:07:11 +0100
commit36ba33e66ab4e8b04ab70f2f2372975a13c786bc (patch)
treeec45459f8049d708c1c8db8666c7ac7da265c07a
parent0d765236869c4d16e3de78ec6867ecec825e5377 (diff)
Add blur feature to package manager
Bug: 177523043 Bug: 177524486 Test: adb shell pm list features Change-Id: Ibda2d51e6517753148609f5ae2e1a7e077b89b1e
-rw-r--r--core/api/system-current.txt1
-rw-r--r--core/java/android/content/pm/PackageManager.java11
-rw-r--r--core/java/com/android/server/SystemConfig.java7
3 files changed, 19 insertions, 0 deletions
diff --git a/core/api/system-current.txt b/core/api/system-current.txt
index eab4d649eecd..8a5fc7cd96e9 100644
--- a/core/api/system-current.txt
+++ b/core/api/system-current.txt
@@ -2337,6 +2337,7 @@ package android.content.pm {
field public static final String EXTRA_REQUEST_PERMISSIONS_RESULTS = "android.content.pm.extra.REQUEST_PERMISSIONS_RESULTS";
field public static final String FEATURE_BROADCAST_RADIO = "android.hardware.broadcastradio";
field public static final String FEATURE_CONTEXT_HUB = "android.hardware.context_hub";
+ field public static final String FEATURE_CROSS_LAYER_BLUR = "android.software.cross_layer_blur";
field public static final String FEATURE_INCREMENTAL_DELIVERY = "android.software.incremental_delivery";
field public static final String FEATURE_REBOOT_ESCROW = "android.hardware.reboot_escrow";
field public static final String FEATURE_TELEPHONY_CARRIERLOCK = "android.hardware.telephony.carrierlock";
diff --git a/core/java/android/content/pm/PackageManager.java b/core/java/android/content/pm/PackageManager.java
index 03d4d5e10e64..747f8dc4915c 100644
--- a/core/java/android/content/pm/PackageManager.java
+++ b/core/java/android/content/pm/PackageManager.java
@@ -3532,6 +3532,17 @@ public abstract class PackageManager {
@SdkConstant(SdkConstantType.FEATURE)
public static final String FEATURE_APP_ENUMERATION = "android.software.app_enumeration";
+ /**
+ * Feature for {@link android.view.WindowManager.LayoutParams.backgroundBlurRedius} and
+ * {@link android.graphics.drawable.BackgroundBlurDrawable}: the device supports cross-layer
+ * blurring.
+ *
+ * @hide
+ */
+ @SystemApi
+ @SdkConstant(SdkConstantType.FEATURE)
+ public static final String FEATURE_CROSS_LAYER_BLUR = "android.software.cross_layer_blur";
+
/** @hide */
public static final boolean APP_ENUMERATION_ENABLED_BY_DEFAULT = true;
diff --git a/core/java/com/android/server/SystemConfig.java b/core/java/com/android/server/SystemConfig.java
index a761b4c6af91..e5bc47097751 100644
--- a/core/java/com/android/server/SystemConfig.java
+++ b/core/java/com/android/server/SystemConfig.java
@@ -94,6 +94,9 @@ public class SystemConfig {
// property for runtime configuration differentiation in vendor
private static final String VENDOR_SKU_PROPERTY = "ro.boot.product.vendor.sku";
+ // property for background blur support in surface flinger
+ private static final String BLUR_PROPERTY = "ro.surface_flinger.supports_background_blur";
+
// Group-ids that are given to all packages as read from etc/permissions/*.xml.
int[] mGlobalGids = EmptyArray.INT;
@@ -1242,6 +1245,10 @@ public class SystemConfig {
addFeature(PackageManager.FEATURE_IPSEC_TUNNELS, 0);
}
+ if (SystemProperties.get(BLUR_PROPERTY, "default").equals("1")) {
+ addFeature(PackageManager.FEATURE_CROSS_LAYER_BLUR, 0);
+ }
+
for (String featureName : mUnavailableFeatures) {
removeFeature(featureName);
}