summaryrefslogtreecommitdiff
path: root/core/java/android
diff options
context:
space:
mode:
Diffstat (limited to 'core/java/android')
-rw-r--r--core/java/android/view/IWindowManager.aidl2
-rw-r--r--core/java/android/view/WindowManager.java14
-rw-r--r--core/java/android/view/WindowManagerImpl.java9
3 files changed, 25 insertions, 0 deletions
diff --git a/core/java/android/view/IWindowManager.aidl b/core/java/android/view/IWindowManager.aidl
index 54778007c6ff..b345b2e58252 100644
--- a/core/java/android/view/IWindowManager.aidl
+++ b/core/java/android/view/IWindowManager.aidl
@@ -816,4 +816,6 @@ interface IWindowManager
* @param listener the listener to be unregistered
*/
void unregisterCrossWindowBlurEnabledListener(ICrossWindowBlurEnabledListener listener);
+
+ void setForceCrossWindowBlurDisabled(boolean disable);
}
diff --git a/core/java/android/view/WindowManager.java b/core/java/android/view/WindowManager.java
index 7338c7d9a581..818a2b04b5c0 100644
--- a/core/java/android/view/WindowManager.java
+++ b/core/java/android/view/WindowManager.java
@@ -873,6 +873,20 @@ public interface WindowManager extends ViewManager {
default void removeCrossWindowBlurEnabledListener(@NonNull Consumer<Boolean> listener) {
}
+ /**
+ * Disables cross-window blurs device-wide. This includes window blur behind
+ * (see {@link LayoutParams#setBlurBehindRadius}) and window background blur
+ * (see {@link Window#setBackgroundBlurRadius}).
+ *
+ * @param disable specifies whether to disable the blur. Note that calling this
+ * with 'disable=false' will not enable blurs if there is something
+ * else disabling blurs.
+ * @hide
+ */
+ @TestApi
+ default void setForceCrossWindowBlurDisabled(boolean disable) {
+ }
+
public static class LayoutParams extends ViewGroup.LayoutParams implements Parcelable {
/**
* X position for this window. With the default gravity it is ignored.
diff --git a/core/java/android/view/WindowManagerImpl.java b/core/java/android/view/WindowManagerImpl.java
index b39870738d68..e37522bc9986 100644
--- a/core/java/android/view/WindowManagerImpl.java
+++ b/core/java/android/view/WindowManagerImpl.java
@@ -317,4 +317,13 @@ public final class WindowManagerImpl implements WindowManager {
public void removeCrossWindowBlurEnabledListener(@NonNull Consumer<Boolean> listener) {
CrossWindowBlurListeners.getInstance().removeListener(listener);
}
+
+ @Override
+ public void setForceCrossWindowBlurDisabled(boolean disable) {
+ try {
+ WindowManagerGlobal.getWindowManagerService()
+ .setForceCrossWindowBlurDisabled(disable);
+ } catch (RemoteException e) {
+ }
+ }
}