diff options
Diffstat (limited to 'core/java/android')
| -rw-r--r-- | core/java/android/view/IWindowManager.aidl | 2 | ||||
| -rw-r--r-- | core/java/android/view/WindowManager.java | 14 | ||||
| -rw-r--r-- | core/java/android/view/WindowManagerImpl.java | 9 |
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) { + } + } } |
