diff options
| author | 2011-10-11 15:33:33 -0700 | |
|---|---|---|
| committer | 2011-10-11 15:33:33 -0700 | |
| commit | b24f45d542d2838c6f910e4fd57dc5bf738a1ffd (patch) | |
| tree | b51fdaa50e4dbfde2ae92efb657fc3f1a5949fe5 | |
| parent | 241fe477edba539bcc58df4410c307d9540a4233 (diff) | |
| parent | 1a4c4334f02152c96cfc71136dc31085826c6894 (diff) | |
am 1a4c4334: Merge "Fix bug 5396097 - menu theme consistency" into ics-mr0
* commit '1a4c4334f02152c96cfc71136dc31085826c6894':
Fix bug 5396097 - menu theme consistency
6 files changed, 22 insertions, 20 deletions
diff --git a/core/java/com/android/internal/view/menu/ActionMenuPresenter.java b/core/java/com/android/internal/view/menu/ActionMenuPresenter.java index aabea2c91458..f25d65fcdabd 100644 --- a/core/java/com/android/internal/view/menu/ActionMenuPresenter.java +++ b/core/java/com/android/internal/view/menu/ActionMenuPresenter.java @@ -31,9 +31,6 @@ import android.view.View; import android.view.View.MeasureSpec; import android.view.ViewConfiguration; import android.view.ViewGroup; -import android.view.ViewParent; -import android.view.accessibility.AccessibilityEvent; -import android.view.accessibility.AccessibilityNodeInfo; import android.widget.ImageButton; import java.util.ArrayList; @@ -71,8 +68,8 @@ public class ActionMenuPresenter extends BaseMenuPresenter final PopupPresenterCallback mPopupPresenterCallback = new PopupPresenterCallback(); int mOpenSubMenuId; - public ActionMenuPresenter() { - super(com.android.internal.R.layout.action_menu_layout, + public ActionMenuPresenter(Context context) { + super(context, com.android.internal.R.layout.action_menu_layout, com.android.internal.R.layout.action_menu_item_layout); } @@ -98,7 +95,7 @@ public class ActionMenuPresenter extends BaseMenuPresenter int width = mWidthLimit; if (mReserveOverflow) { if (mOverflowButton == null) { - mOverflowButton = new OverflowMenuButton(mContext); + mOverflowButton = new OverflowMenuButton(mSystemContext); final int spec = MeasureSpec.makeMeasureSpec(0, MeasureSpec.UNSPECIFIED); mOverflowButton.measure(spec, spec); } @@ -215,7 +212,7 @@ public class ActionMenuPresenter extends BaseMenuPresenter if (hasOverflow) { if (mOverflowButton == null) { - mOverflowButton = new OverflowMenuButton(mContext); + mOverflowButton = new OverflowMenuButton(mSystemContext); } ViewGroup parent = (ViewGroup) mOverflowButton.getParent(); if (parent != mMenuView) { diff --git a/core/java/com/android/internal/view/menu/BaseMenuPresenter.java b/core/java/com/android/internal/view/menu/BaseMenuPresenter.java index bec437a744d6..1e06b5a601f3 100644 --- a/core/java/com/android/internal/view/menu/BaseMenuPresenter.java +++ b/core/java/com/android/internal/view/menu/BaseMenuPresenter.java @@ -29,8 +29,10 @@ import java.util.ArrayList; * be reused if possible when items change. */ public abstract class BaseMenuPresenter implements MenuPresenter { + protected Context mSystemContext; protected Context mContext; protected MenuBuilder mMenu; + protected LayoutInflater mSystemInflater; protected LayoutInflater mInflater; private Callback mCallback; @@ -44,10 +46,13 @@ public abstract class BaseMenuPresenter implements MenuPresenter { /** * Construct a new BaseMenuPresenter. * + * @param context Context for generating system-supplied views * @param menuLayoutRes Layout resource ID for the menu container view * @param itemLayoutRes Layout resource ID for a single item view */ - public BaseMenuPresenter(int menuLayoutRes, int itemLayoutRes) { + public BaseMenuPresenter(Context context, int menuLayoutRes, int itemLayoutRes) { + mSystemContext = context; + mSystemInflater = LayoutInflater.from(context); mMenuLayoutRes = menuLayoutRes; mItemLayoutRes = itemLayoutRes; } @@ -62,7 +67,7 @@ public abstract class BaseMenuPresenter implements MenuPresenter { @Override public MenuView getMenuView(ViewGroup root) { if (mMenuView == null) { - mMenuView = (MenuView) mInflater.inflate(mMenuLayoutRes, root, false); + mMenuView = (MenuView) mSystemInflater.inflate(mMenuLayoutRes, root, false); mMenuView.initialize(mMenu); updateMenuView(true); } @@ -138,7 +143,7 @@ public abstract class BaseMenuPresenter implements MenuPresenter { * @return The new item view */ public MenuView.ItemView createItemView(ViewGroup parent) { - return (MenuView.ItemView) mInflater.inflate(mItemLayoutRes, parent, false); + return (MenuView.ItemView) mSystemInflater.inflate(mItemLayoutRes, parent, false); } /** diff --git a/core/java/com/android/internal/view/menu/IconMenuPresenter.java b/core/java/com/android/internal/view/menu/IconMenuPresenter.java index 24ddad668ac3..3b1decd9a555 100644 --- a/core/java/com/android/internal/view/menu/IconMenuPresenter.java +++ b/core/java/com/android/internal/view/menu/IconMenuPresenter.java @@ -43,8 +43,8 @@ public class IconMenuPresenter extends BaseMenuPresenter { private static final String VIEWS_TAG = "android:menu:icon"; private static final String OPEN_SUBMENU_KEY = "android:menu:icon:submenu"; - public IconMenuPresenter() { - super(com.android.internal.R.layout.icon_menu_layout, + public IconMenuPresenter(Context context) { + super(context, com.android.internal.R.layout.icon_menu_layout, com.android.internal.R.layout.icon_menu_item_layout); } diff --git a/core/java/com/android/internal/widget/ActionBarContextView.java b/core/java/com/android/internal/widget/ActionBarContextView.java index acffa5c16d1b..446dab114dde 100644 --- a/core/java/com/android/internal/widget/ActionBarContextView.java +++ b/core/java/com/android/internal/widget/ActionBarContextView.java @@ -207,7 +207,7 @@ public class ActionBarContextView extends AbsActionBarView implements AnimatorLi }); final MenuBuilder menu = (MenuBuilder) mode.getMenu(); - mActionMenuPresenter = new ActionMenuPresenter(); + mActionMenuPresenter = new ActionMenuPresenter(mContext); mActionMenuPresenter.setReserveOverflow(true); final LayoutParams layoutParams = new LayoutParams(LayoutParams.WRAP_CONTENT, diff --git a/core/java/com/android/internal/widget/ActionBarView.java b/core/java/com/android/internal/widget/ActionBarView.java index 6d2e8232156b..61bce60b833a 100644 --- a/core/java/com/android/internal/widget/ActionBarView.java +++ b/core/java/com/android/internal/widget/ActionBarView.java @@ -373,7 +373,7 @@ public class ActionBarView extends AbsActionBarView { } } if (mActionMenuPresenter == null) { - mActionMenuPresenter = new ActionMenuPresenter(); + mActionMenuPresenter = new ActionMenuPresenter(mContext); mActionMenuPresenter.setCallback(cb); mActionMenuPresenter.setId(com.android.internal.R.id.action_menu_presenter); mExpandedMenuPresenter = new ExpandedActionViewMenuPresenter(); diff --git a/policy/src/com/android/internal/policy/impl/PhoneWindow.java b/policy/src/com/android/internal/policy/impl/PhoneWindow.java index 2cd6eab0690e..de8d41a2808b 100644 --- a/policy/src/com/android/internal/policy/impl/PhoneWindow.java +++ b/policy/src/com/android/internal/policy/impl/PhoneWindow.java @@ -1084,8 +1084,8 @@ public class PhoneWindow extends Window implements MenuBuilder.Callback { } MenuView menuView = st.isInListMode() - ? st.getListMenuView(mPanelMenuPresenterCallback) - : st.getIconMenuView(mPanelMenuPresenterCallback); + ? st.getListMenuView(getContext(), mPanelMenuPresenterCallback) + : st.getIconMenuView(getContext(), mPanelMenuPresenterCallback); st.shownPanelView = (View) menuView; @@ -3251,11 +3251,11 @@ public class PhoneWindow extends Window implements MenuBuilder.Callback { } } - MenuView getListMenuView(MenuPresenter.Callback cb) { + MenuView getListMenuView(Context context, MenuPresenter.Callback cb) { if (menu == null) return null; if (!isCompact) { - getIconMenuView(cb); // Need this initialized to know where our offset goes + getIconMenuView(context, cb); // Need this initialized to know where our offset goes } if (listMenuPresenter == null) { @@ -3275,11 +3275,11 @@ public class PhoneWindow extends Window implements MenuBuilder.Callback { return result; } - MenuView getIconMenuView(MenuPresenter.Callback cb) { + MenuView getIconMenuView(Context context, MenuPresenter.Callback cb) { if (menu == null) return null; if (iconMenuPresenter == null) { - iconMenuPresenter = new IconMenuPresenter(); + iconMenuPresenter = new IconMenuPresenter(context); iconMenuPresenter.setCallback(cb); iconMenuPresenter.setId(com.android.internal.R.id.icon_menu_presenter); menu.addMenuPresenter(iconMenuPresenter); |