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

Commit 8eeb4d1a authored by Adam Powell's avatar Adam Powell
Browse files

Fix bug 5394020 - Menus are pretty sluggish to bring up

Clear out some obsolete "optimizations" leftover from the old menu
system internals.

Change-Id: I325530c9fae434de2d95200e648c63149334f444
parent 8257e9e8
Loading
Loading
Loading
Loading
+0 −5
Original line number Diff line number Diff line
@@ -63,11 +63,6 @@ public final class ExpandedMenuView extends ListView implements ItemInvoker, Men
        setChildrenDrawingCacheEnabled(false);
    }

    @Override
    protected boolean recycleOnMeasure() {
        return false;
    }

    public boolean invokeItem(MenuItemImpl item) {
        return mMenu.performItemAction(item, 0);
    }
+10 −11
Original line number Diff line number Diff line
@@ -34,6 +34,7 @@ import android.widget.TextView;
 * The item view for each item in the ListView-based MenuViews.
 */
public class ListMenuItemView extends LinearLayout implements MenuView.ItemView {
    private static final String TAG = "ListMenuItemView";
    private MenuItemImpl mItemData; 
    
    private ImageView mIconView;
@@ -121,27 +122,25 @@ public class ListMenuItemView extends LinearLayout implements MenuView.ItemView
    }

    public void setCheckable(boolean checkable) {
        
        if (!checkable && mRadioButton == null && mCheckBox == null) {
            return;
        }
        
        if (mRadioButton == null) {
            insertRadioButton();
        }
        if (mCheckBox == null) {
            insertCheckBox();
        }
        
        // Depending on whether its exclusive check or not, the checkbox or
        // radio button will be the one in use (and the other will be otherCompoundButton)
        final CompoundButton compoundButton;
        final CompoundButton otherCompoundButton; 

        if (mItemData.isExclusiveCheckable()) {
            if (mRadioButton == null) {
                insertRadioButton();
            }
            compoundButton = mRadioButton;
            otherCompoundButton = mCheckBox;
        } else {
            if (mCheckBox == null) {
                insertCheckBox();
            }
            compoundButton = mCheckBox;
            otherCompoundButton = mRadioButton;
        }
@@ -155,12 +154,12 @@ public class ListMenuItemView extends LinearLayout implements MenuView.ItemView
            }
            
            // Make sure the other compound button isn't visible
            if (otherCompoundButton.getVisibility() != GONE) {
            if (otherCompoundButton != null && otherCompoundButton.getVisibility() != GONE) {
                otherCompoundButton.setVisibility(GONE);
            }
        } else {
            mCheckBox.setVisibility(GONE);
            mRadioButton.setVisibility(GONE);
            if (mCheckBox != null) mCheckBox.setVisibility(GONE);
            if (mRadioButton != null) mRadioButton.setVisibility(GONE);
        }
    }