From 39381948b9bb4c98434a32d6eef76b045bb22a78 Mon Sep 17 00:00:00 2001 From: Adrian Roos Date: Tue, 16 Sep 2014 18:37:38 +0200 Subject: [PATCH] Fix broken dispatch of onApplyWindowInsets Fixes an issue where window insets were not further dispatched if all happen to be zero. To prevent further dispatch, the insets must now be consumed explicitly. Bug: 17522145 Change-Id: Ia8f6c10c8369b58db7a7cf49f8bcc2cab8e304f1 --- core/java/android/view/WindowInsets.java | 5 ----- 1 file changed, 5 deletions(-) diff --git a/core/java/android/view/WindowInsets.java b/core/java/android/view/WindowInsets.java index 2bfe3b42477d0..9e0719da26d97 100644 --- a/core/java/android/view/WindowInsets.java +++ b/core/java/android/view/WindowInsets.java @@ -316,7 +316,6 @@ public final class WindowInsets { top ? 0 : mSystemWindowInsets.top, right ? 0 : mSystemWindowInsets.right, bottom ? 0 : mSystemWindowInsets.bottom); - result.mSystemWindowInsetsConsumed = !hasSystemWindowInsets(); return result; } return this; @@ -336,7 +335,6 @@ public final class WindowInsets { int right, int bottom) { final WindowInsets result = new WindowInsets(this); result.mSystemWindowInsets = new Rect(left, top, right, bottom); - result.mSystemWindowInsetsConsumed = !hasSystemWindowInsets(); return result; } @@ -351,7 +349,6 @@ public final class WindowInsets { public WindowInsets replaceSystemWindowInsets(Rect systemWindowInsets) { final WindowInsets result = new WindowInsets(this); result.mSystemWindowInsets = new Rect(systemWindowInsets); - result.mSystemWindowInsetsConsumed = !hasSystemWindowInsets(); return result; } @@ -376,7 +373,6 @@ public final class WindowInsets { top ? 0 : mWindowDecorInsets.top, right ? 0 : mWindowDecorInsets.right, bottom ? 0 : mWindowDecorInsets.bottom); - result.mWindowDecorInsetsConsumed = !hasWindowDecorInsets(); return result; } return this; @@ -388,7 +384,6 @@ public final class WindowInsets { public WindowInsets replaceWindowDecorInsets(int left, int top, int right, int bottom) { final WindowInsets result = new WindowInsets(this); result.mWindowDecorInsets = new Rect(left, top, right, bottom); - result.mWindowDecorInsetsConsumed = !hasWindowDecorInsets(); return result; }