diff options
author | Adam Powell <adamp@google.com> | 2014-06-12 14:51:10 -0700 |
---|---|---|
committer | Adam Powell <adamp@google.com> | 2014-06-12 14:53:10 -0700 |
commit | 720924b6a9770f03355999102a11d98c5954407c (patch) | |
tree | 44197e6e6b17c77515504c14078dcc8286217a89 /core/java/com | |
parent | 0c377a902490239b310cbdcd1e6aad504a0e8845 (diff) | |
download | frameworks_base-720924b6a9770f03355999102a11d98c5954407c.zip frameworks_base-720924b6a9770f03355999102a11d98c5954407c.tar.gz frameworks_base-720924b6a9770f03355999102a11d98c5954407c.tar.bz2 |
Fix incorrect dispatch of empty WindowInsets from ActionBarOverlayLayout
Fix a bug where ActionBarOverlayLayout was using a private constructor
of WindowInsets to return empty insets that should have been marked
fully consumed. This caused dispatch to further child views not to
stop appropriately, corrupting application layout in some cases.
Bug 15588587
Change-Id: I97fcefa4755addf2385a7e7b0ffbf6d3e91adc5c
Diffstat (limited to 'core/java/com')
-rw-r--r-- | core/java/com/android/internal/widget/ActionBarOverlayLayout.java | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/core/java/com/android/internal/widget/ActionBarOverlayLayout.java b/core/java/com/android/internal/widget/ActionBarOverlayLayout.java index 8a9cb22..ea36e37 100644 --- a/core/java/com/android/internal/widget/ActionBarOverlayLayout.java +++ b/core/java/com/android/internal/widget/ActionBarOverlayLayout.java @@ -20,6 +20,7 @@ import android.animation.Animator; import android.animation.AnimatorListenerAdapter; import android.content.Context; import android.content.pm.ActivityInfo; +import android.content.res.Configuration; import android.content.res.TypedArray; import android.graphics.Canvas; import android.graphics.Rect; @@ -246,6 +247,13 @@ public class ActionBarOverlayLayout extends ViewGroup implements DecorContentPar } @Override + protected void onConfigurationChanged(Configuration newConfig) { + super.onConfigurationChanged(newConfig); + init(getContext()); + requestApplyInsets(); + } + + @Override public void onWindowSystemUiVisibilityChanged(int visible) { super.onWindowSystemUiVisibilityChanged(visible); pullChildren(); @@ -329,7 +337,7 @@ public class ActionBarOverlayLayout extends ViewGroup implements DecorContentPar // insets in all cases, we need to know the measured size of the various action // bar elements. onApplyWindowInsets() happens before the measure pass, so we can't // do that here. Instead we will take this up in onMeasure(). - return WindowInsets.EMPTY; + return WindowInsets.CONSUMED; } @Override |