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

Commit 6b225b09 authored by Adam Powell's avatar Adam Powell Committed by Android Git Automerger
Browse files

am 19e662ba: Merge "Fix some ActionBar menu issues around config changes" into jb-mr1-dev

* commit '19e662ba':
  Fix some ActionBar menu issues around config changes
parents d844e4f2 19e662ba
Loading
Loading
Loading
Loading
+15 −0
Original line number Diff line number Diff line
@@ -17,6 +17,7 @@
package com.android.internal.view.menu;

import android.content.Context;
import android.content.res.Configuration;
import android.content.res.Resources;
import android.content.res.TypedArray;
import android.graphics.Rect;
@@ -79,6 +80,15 @@ public class ActionMenuItemView extends TextView
        mSavedPaddingLeft = -1;
    }

    @Override
    public void onConfigurationChanged(Configuration newConfig) {
        super.onConfigurationChanged(newConfig);

        mAllowTextWithIcon = getContext().getResources().getBoolean(
                com.android.internal.R.bool.config_allowActionMenuItemTextWithIcon);
        updateTextButtonVisibility();
    }

    @Override
    public void setPadding(int l, int t, int r, int b) {
        mSavedPaddingLeft = l;
@@ -242,6 +252,11 @@ public class ActionMenuItemView extends TextView

    @Override
    protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
        if (MeasureSpec.getMode(heightMeasureSpec) == MeasureSpec.AT_MOST) {
            // Fill all available height.
            heightMeasureSpec = MeasureSpec.makeMeasureSpec(
                    MeasureSpec.getSize(heightMeasureSpec), MeasureSpec.EXACTLY);
        }
        final boolean textVisible = hasText();
        if (textVisible && mSavedPaddingLeft >= 0) {
            super.setPadding(mSavedPaddingLeft, getPaddingTop(),
+10 −0
Original line number Diff line number Diff line
@@ -576,6 +576,16 @@ public class ActionMenuPresenter extends BaseMenuPresenter
        public boolean needsDividerAfter() {
            return false;
        }

        @Override
        protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
            if (MeasureSpec.getMode(heightMeasureSpec) == MeasureSpec.AT_MOST) {
                // Fill available height
                heightMeasureSpec = MeasureSpec.makeMeasureSpec(
                        MeasureSpec.getSize(heightMeasureSpec), MeasureSpec.EXACTLY);
            }
            super.onMeasure(widthMeasureSpec, heightMeasureSpec);
        }
    }

    private class OverflowPopup extends MenuPopupHelper {
+7 −2
Original line number Diff line number Diff line
@@ -15,6 +15,8 @@
 */
package com.android.internal.view.menu;

import com.android.internal.R;

import android.content.Context;
import android.content.res.Configuration;
import android.content.res.TypedArray;
@@ -26,8 +28,6 @@ import android.view.ViewGroup;
import android.view.accessibility.AccessibilityEvent;
import android.widget.LinearLayout;

import com.android.internal.R;

/**
 * @hide
 */
@@ -73,6 +73,11 @@ public class ActionMenuView extends LinearLayout implements MenuBuilder.ItemInvo
        return mFormatItems;
    }

    public void setMaxItemHeight(int maxItemHeight) {
        mMaxItemHeight = maxItemHeight;
        requestLayout();
    }

    @Override
    public void onConfigurationChanged(Configuration newConfig) {
        super.onConfigurationChanged(newConfig);
+3 −0
Original line number Diff line number Diff line
@@ -95,6 +95,9 @@ public abstract class AbsActionBarView extends ViewGroup {

    public void setContentHeight(int height) {
        mContentHeight = height;
        if (mMenuView != null) {
            mMenuView.setMaxItemHeight(mContentHeight);
        }
        requestLayout();
    }