Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit f6fcea60 authored by Dianne Hackborn's avatar Dianne Hackborn Committed by Android (Google) Code Review
Browse files

Merge "Fix issue #8325007: EyeEm app crashes on launch- NPE at..." into jb-mr2-dev

parents 652b7915 474690ca
Loading
Loading
Loading
Loading
+21 −16
Original line number Diff line number Diff line
@@ -73,10 +73,6 @@ public class ActionBarOverlayLayout extends ViewGroup {
        ta.recycle();
    }

    public void setOverlayMode(boolean mode) {
        mOverlayMode = mode;
    }

    public void setActionBar(ActionBarImpl impl, boolean overlayMode) {
        mActionBar = impl;
        mOverlayMode = overlayMode;
@@ -177,7 +173,9 @@ public class ActionBarOverlayLayout extends ViewGroup {

        // The top and bottom action bars are always within the content area.
        boolean changed = applyInsets(mActionBarTop, insets, true, true, false, true);
        if (mActionBarBottom != null) {
            changed |= applyInsets(mActionBarBottom, insets, true, false, true, true);
        }

        mBaseInnerInsets.set(insets);
        computeFitSystemWindows(mBaseInnerInsets, mBaseContentInsets);
@@ -219,6 +217,8 @@ public class ActionBarOverlayLayout extends ViewGroup {

    @Override
    protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
        pullChildren();

        int maxHeight = 0;
        int maxWidth = 0;
        int childState = 0;
@@ -234,6 +234,8 @@ public class ActionBarOverlayLayout extends ViewGroup {
                mActionBarTop.getMeasuredHeight() + lp.topMargin + lp.bottomMargin);
        childState = combineMeasuredStates(childState, mActionBarTop.getMeasuredState());

        // xlarge screen layout doesn't have bottom action bar.
        if (mActionBarBottom != null) {
            measureChildWithMargins(mActionBarBottom, widthMeasureSpec, 0, heightMeasureSpec, 0);
            lp = (LayoutParams) mActionBarBottom.getLayoutParams();
            maxWidth = Math.max(maxWidth,
@@ -241,6 +243,7 @@ public class ActionBarOverlayLayout extends ViewGroup {
            maxHeight = Math.max(maxHeight,
                    mActionBarBottom.getMeasuredHeight() + lp.topMargin + lp.bottomMargin);
            childState = combineMeasuredStates(childState, mActionBarBottom.getMeasuredState());
        }

        final int vis = getWindowSystemUiVisibility();
        final boolean stable = (vis & SYSTEM_UI_FLAG_LAYOUT_STABLE) != 0;
@@ -264,12 +267,14 @@ public class ActionBarOverlayLayout extends ViewGroup {

        if (mActionView.isSplitActionBar()) {
            // If action bar is split, adjust bottom insets for it.
            if (mActionBarBottom != null) {
                if (stable) {
                    bottomInset = mActionBarHeight;
                } else {
                    bottomInset = mActionBarBottom.getMeasuredHeight();
                }
            }
        }

        // If the window has not requested system UI layout flags, we need to
        // make sure its content is not being covered by system UI...  though it
+34 −24
Original line number Diff line number Diff line
@@ -15,17 +15,28 @@
-->

<!--
This is an optimized layout for a screen with the Action Bar enabled.
This is an optimized layout for a screen with
the Action Bar enabled overlaying application content.
-->

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:fitsSystemWindows="true"
<com.android.internal.widget.ActionBarOverlayLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/action_bar_overlay_layout"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:splitMotionEvents="false">
    <FrameLayout android:id="@android:id/content"
        android:layout_width="match_parent"
        android:layout_height="match_parent" />
    <LinearLayout android:id="@+id/top_action_bar"
                  android:layout_width="match_parent"
                  android:layout_height="wrap_content">
        <com.android.internal.widget.ActionBarContainer android:id="@+id/action_bar_container"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
        style="?android:attr/actionBarStyle">
            android:layout_alignParentTop="true"
            style="?android:attr/actionBarStyle"
            android:gravity="top">
            <com.android.internal.widget.ActionBarView
                android:id="@+id/action_bar"
                android:layout_width="match_parent"
@@ -38,10 +49,9 @@ This is an optimized layout for a screen with the Action Bar enabled.
                android:visibility="gone"
                style="?android:attr/actionModeStyle" />
        </com.android.internal.widget.ActionBarContainer>
    <FrameLayout android:id="@android:id/content"
        <ImageView android:src="?android:attr/windowContentOverlay"
                   android:scaleType="fitXY"
                   android:layout_width="match_parent"
        android:layout_height="0dip"
        android:layout_weight="1"
        android:foregroundGravity="fill_horizontal|top"
        android:foreground="?android:attr/windowContentOverlay" />
                   android:layout_height="wrap_content" />
    </LinearLayout>
</com.android.internal.widget.ActionBarOverlayLayout>
+0 −58
Original line number Diff line number Diff line
<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (C) 2010 The Android Open Source Project

     Licensed under the Apache License, Version 2.0 (the "License");
     you may not use this file except in compliance with the License.
     You may obtain a copy of the License at

          http://www.apache.org/licenses/LICENSE-2.0

     Unless required by applicable law or agreed to in writing, software
     distributed under the License is distributed on an "AS IS" BASIS,
     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     See the License for the specific language governing permissions and
     limitations under the License.
-->

<!--
This is an optimized layout for a screen with
the Action Bar enabled overlaying application content.
-->

<com.android.internal.widget.ActionBarOverlayLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/action_bar_overlay_layout"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:splitMotionEvents="false">
    <FrameLayout android:id="@android:id/content"
        android:layout_width="match_parent"
        android:layout_height="match_parent" />
    <LinearLayout android:id="@+id/top_action_bar"
                  android:layout_width="match_parent"
                  android:layout_height="wrap_content"
                  android:layout_gravity="top">
        <com.android.internal.widget.ActionBarContainer android:id="@+id/action_bar_container"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_alignParentTop="true"
            style="?android:attr/actionBarStyle"
            android:gravity="top">
            <com.android.internal.widget.ActionBarView
                android:id="@+id/action_bar"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                style="?android:attr/actionBarStyle" />
            <com.android.internal.widget.ActionBarContextView
                android:id="@+id/action_context_bar"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:visibility="gone"
                style="?android:attr/actionModeStyle" />
        </com.android.internal.widget.ActionBarContainer>
        <ImageView android:src="?android:attr/windowContentOverlay"
                   android:scaleType="fitXY"
                   android:layout_width="match_parent"
                   android:layout_height="wrap_content" />
    </LinearLayout>
</com.android.internal.widget.ActionBarOverlayLayout>
+0 −1
Original line number Diff line number Diff line
@@ -1363,7 +1363,6 @@
  <java-symbol type="layout" name="keyguard_account_view" />
  <java-symbol type="layout" name="recent_apps_dialog" />
  <java-symbol type="layout" name="screen_action_bar" />
  <java-symbol type="layout" name="screen_action_bar_overlay" />
  <java-symbol type="layout" name="screen_custom_title" />
  <java-symbol type="layout" name="screen_progress" />
  <java-symbol type="layout" name="screen_simple" />