summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlan Viverette <alanv@google.com>2014-09-19 01:16:21 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2014-09-19 01:16:22 +0000
commit3540c462d95a0720e2931c30e1fe9820d0d63c51 (patch)
treea00829c1f41683dda33ab4cf16dfa472aa042e2d
parent0297ad884d12a9f1f8f69adde5bad43894a0dbaa (diff)
parent24b5f2cf9590b960aeece1069a0f0dcdc962bbac (diff)
downloadframeworks_base-3540c462d95a0720e2931c30e1fe9820d0d63c51.zip
frameworks_base-3540c462d95a0720e2931c30e1fe9820d0d63c51.tar.gz
frameworks_base-3540c462d95a0720e2931c30e1fe9820d0d63c51.tar.bz2
Merge "Always apply window insets to action modes" into lmp-dev
-rw-r--r--policy/src/com/android/internal/policy/impl/PhoneWindow.java41
1 files changed, 22 insertions, 19 deletions
diff --git a/policy/src/com/android/internal/policy/impl/PhoneWindow.java b/policy/src/com/android/internal/policy/impl/PhoneWindow.java
index 3419119..94c1676 100644
--- a/policy/src/com/android/internal/policy/impl/PhoneWindow.java
+++ b/policy/src/com/android/internal/policy/impl/PhoneWindow.java
@@ -2887,32 +2887,35 @@ public class PhoneWindow extends Window implements MenuBuilder.Callback {
if (mActionModeView.getLayoutParams() instanceof MarginLayoutParams) {
MarginLayoutParams mlp = (MarginLayoutParams) mActionModeView.getLayoutParams();
boolean mlpChanged = false;
- final boolean nonOverlayShown =
- (getLocalFeatures() & (1 << FEATURE_ACTION_MODE_OVERLAY)) == 0
- && mActionModeView.isShown();
- if (nonOverlayShown) {
- // set top margin to top insets, show status guard
+ if (mActionModeView.isShown()) {
+ final boolean nonOverlay = (getLocalFeatures()
+ & (1 << FEATURE_ACTION_MODE_OVERLAY)) == 0;
if (mlp.topMargin != insets.getSystemWindowInsetTop()) {
mlpChanged = true;
mlp.topMargin = insets.getSystemWindowInsetTop();
- if (mStatusGuard == null) {
- mStatusGuard = new View(mContext);
- mStatusGuard.setBackgroundColor(mContext.getResources()
- .getColor(R.color.input_method_navigation_guard));
- addView(mStatusGuard, indexOfChild(mStatusColorView),
- new LayoutParams(LayoutParams.MATCH_PARENT, mlp.topMargin,
- Gravity.START | Gravity.TOP));
- } else {
- LayoutParams lp = (LayoutParams) mStatusGuard.getLayoutParams();
- if (lp.height != mlp.topMargin) {
- lp.height = mlp.topMargin;
- mStatusGuard.setLayoutParams(lp);
+
+ // Only show status guard for non-overlay modes.
+ if (nonOverlay) {
+ if (mStatusGuard == null) {
+ mStatusGuard = new View(mContext);
+ mStatusGuard.setBackgroundColor(mContext.getResources()
+ .getColor(R.color.input_method_navigation_guard));
+ addView(mStatusGuard, indexOfChild(mStatusColorView),
+ new LayoutParams(LayoutParams.MATCH_PARENT,
+ mlp.topMargin,
+ Gravity.START | Gravity.TOP));
+ } else {
+ LayoutParams lp = (LayoutParams) mStatusGuard.getLayoutParams();
+ if (lp.height != mlp.topMargin) {
+ lp.height = mlp.topMargin;
+ mStatusGuard.setLayoutParams(lp);
+ }
}
}
}
insets = insets.consumeSystemWindowInsets(
- false, true /* top */, false, false);
- showStatusGuard = true;
+ false, nonOverlay /* top */, false, false);
+ showStatusGuard = nonOverlay;
} else {
// reset top margin
if (mlp.topMargin != 0) {