summaryrefslogtreecommitdiffstats
path: root/core/java/com
diff options
context:
space:
mode:
authorAdam Powell <adamp@google.com>2014-06-12 14:51:10 -0700
committerAdam Powell <adamp@google.com>2014-06-12 14:53:10 -0700
commit720924b6a9770f03355999102a11d98c5954407c (patch)
tree44197e6e6b17c77515504c14078dcc8286217a89 /core/java/com
parent0c377a902490239b310cbdcd1e6aad504a0e8845 (diff)
downloadframeworks_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.java10
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