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

Commit 02cd0f91 authored by Alan Viverette's avatar Alan Viverette
Browse files

Clean up lint warnings in popup menu presenter classes

Change-Id: I6b4cce1c4788b408615af0c93575e02e75b4c3ca
parent 32895546
Loading
Loading
Loading
Loading
+3 −13
Original line number Diff line number Diff line
@@ -59,7 +59,6 @@ import java.util.List;
 */
public class ActionMenuPresenter extends BaseMenuPresenter
        implements ActionProvider.SubUiVisibilityListener {
    private static final String TAG = "ActionMenuPresenter";
    private static final int ITEM_ANIMATION_DURATION = 150;
    private static final boolean ACTIONBAR_ANIMATIONS_ENABLED = false;

@@ -87,20 +86,16 @@ public class ActionMenuPresenter extends BaseMenuPresenter
    private OpenOverflowRunnable mPostedOpenRunnable;
    private ActionMenuPopupCallback mPopupCallback;

    private final boolean mShowCascadingMenus;

    final PopupPresenterCallback mPopupPresenterCallback = new PopupPresenterCallback();
    int mOpenSubMenuId;

    // These collections are used to store pre- and post-layout information for menu items,
    // which is used to determine appropriate animations to run for changed items.
    private SparseArray<MenuItemLayoutInfo> mPreLayoutItems =
            new SparseArray<MenuItemLayoutInfo>();
    private SparseArray<MenuItemLayoutInfo> mPostLayoutItems =
            new SparseArray<MenuItemLayoutInfo>();
    private SparseArray<MenuItemLayoutInfo> mPreLayoutItems = new SparseArray<>();
    private SparseArray<MenuItemLayoutInfo> mPostLayoutItems = new SparseArray<>();

    // The list of currently running animations on menu items.
    private List<ItemAnimationInfo> mRunningItemAnimations = new ArrayList<ItemAnimationInfo>();
    private List<ItemAnimationInfo> mRunningItemAnimations = new ArrayList<>();
    private ViewTreeObserver.OnPreDrawListener mItemAnimationPreDrawListener =
            new ViewTreeObserver.OnPreDrawListener() {
        @Override
@@ -130,9 +125,6 @@ public class ActionMenuPresenter extends BaseMenuPresenter
    public ActionMenuPresenter(Context context) {
        super(context, com.android.internal.R.layout.action_menu_layout,
                com.android.internal.R.layout.action_menu_item_layout);

        mShowCascadingMenus = context.getResources().getBoolean(
                com.android.internal.R.bool.config_enableCascadingSubmenus);
    }

    @Override
@@ -845,8 +837,6 @@ public class ActionMenuPresenter extends BaseMenuPresenter
    }

    private class OverflowMenuButton extends ImageButton implements ActionMenuView.ActionMenuChildView {
        private final float[] mTempPts = new float[2];

        public OverflowMenuButton(Context context) {
            super(context, null, com.android.internal.R.attr.actionOverflowButtonStyle);

+0 −8
Original line number Diff line number Diff line
@@ -53,12 +53,6 @@ public abstract class ForwardingListener
    /** Whether this listener is currently forwarding touch events. */
    private boolean mForwarding;

    /**
     * Whether forwarding was initiated by a long-press. If so, we won't
     * force the window to dismiss when the touch stream ends.
     */
    private boolean mWasLongPress;

    /** The id of the first pointer down in the current event stream. */
    private int mActivePointerId;

@@ -172,7 +166,6 @@ public abstract class ForwardingListener
        switch (actionMasked) {
            case MotionEvent.ACTION_DOWN:
                mActivePointerId = srcEvent.getPointerId(0);
                mWasLongPress = false;

                if (mDisallowIntercept == null) {
                    mDisallowIntercept = new DisallowIntercept();
@@ -243,7 +236,6 @@ public abstract class ForwardingListener
        e.recycle();

        mForwarding = true;
        mWasLongPress = true;
    }

    /**
+33 −41
Original line number Diff line number Diff line
@@ -16,18 +16,20 @@

package android.widget;

import android.animation.Animator;
import android.animation.AnimatorListenerAdapter;
import android.animation.ObjectAnimator;
import com.android.internal.R;
import com.android.internal.view.menu.ShowableListMenu;

import android.annotation.AttrRes;
import android.annotation.NonNull;
import android.annotation.Nullable;
import android.annotation.StyleRes;
import android.content.Context;
import android.content.res.TypedArray;
import android.database.DataSetObserver;
import android.graphics.Rect;
import android.graphics.drawable.Drawable;
import android.os.Handler;
import android.text.TextUtils;
import android.util.AttributeSet;
import android.util.IntProperty;
import android.util.Log;
import android.view.Gravity;
import android.view.KeyEvent;
@@ -38,13 +40,7 @@ import android.view.View.OnTouchListener;
import android.view.ViewGroup;
import android.view.ViewParent;
import android.view.WindowManager;
import android.view.animation.AccelerateDecelerateInterpolator;

import com.android.internal.R;
import com.android.internal.view.menu.ShowableListMenu;
import com.android.internal.widget.AutoScrollHelper.AbsListViewAutoScroller;

import java.util.Locale;
import android.widget.AdapterView.OnItemSelectedListener;

/**
 * A ListPopupWindow anchors itself to a host view and displays a
@@ -109,8 +105,6 @@ public class ListPopupWindow implements ShowableListMenu {

    private boolean mModal;

    private int mLayoutDirection;

    PopupWindow mPopup;

    /**
@@ -174,7 +168,7 @@ public class ListPopupWindow implements ShowableListMenu {
     * 
     * @param context Context used for contained views.
     */
    public ListPopupWindow(Context context) {
    public ListPopupWindow(@NonNull Context context) {
        this(context, null, com.android.internal.R.attr.listPopupWindowStyle, 0);
    }

@@ -185,7 +179,7 @@ public class ListPopupWindow implements ShowableListMenu {
     * @param context Context used for contained views.
     * @param attrs Attributes from inflating parent views used to style the popup.
     */
    public ListPopupWindow(Context context, AttributeSet attrs) {
    public ListPopupWindow(@NonNull Context context, @Nullable AttributeSet attrs) {
        this(context, attrs, com.android.internal.R.attr.listPopupWindowStyle, 0);
    }

@@ -197,7 +191,8 @@ public class ListPopupWindow implements ShowableListMenu {
     * @param attrs Attributes from inflating parent views used to style the popup.
     * @param defStyleAttr Default style attribute to use for popup content.
     */
    public ListPopupWindow(Context context, AttributeSet attrs, int defStyleAttr) {
    public ListPopupWindow(@NonNull Context context, @Nullable AttributeSet attrs,
            @AttrRes int defStyleAttr) {
        this(context, attrs, defStyleAttr, 0);
    }

@@ -210,7 +205,8 @@ public class ListPopupWindow implements ShowableListMenu {
     * @param defStyleAttr Style attribute to read for default styling of popup content.
     * @param defStyleRes Style resource ID to use for default styling of popup content.
     */
    public ListPopupWindow(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes) {
    public ListPopupWindow(@NonNull Context context, @Nullable AttributeSet attrs,
            @AttrRes int defStyleAttr, @StyleRes int defStyleRes) {
        mContext = context;
        mHandler = new Handler(context.getMainLooper());

@@ -227,9 +223,6 @@ public class ListPopupWindow implements ShowableListMenu {

        mPopup = new PopupWindow(context, attrs, defStyleAttr, defStyleRes);
        mPopup.setInputMethodMode(PopupWindow.INPUT_METHOD_NEEDED);
        // Set the default layout direction to match the default locale one
        final Locale locale = mContext.getResources().getConfiguration().locale;
        mLayoutDirection = TextUtils.getLayoutDirectionFromLocale(locale);
    }

    /**
@@ -238,7 +231,7 @@ public class ListPopupWindow implements ShowableListMenu {
     *
     * @param adapter The adapter to use to create this window's content.
     */
    public void setAdapter(ListAdapter adapter) {
    public void setAdapter(@Nullable ListAdapter adapter) {
        if (mObserver == null) {
            mObserver = new PopupDataSetObserver();
        } else if (mAdapter != null) {
@@ -371,7 +364,7 @@ public class ListPopupWindow implements ShowableListMenu {
    /**
     * @return The background drawable for the popup window.
     */
    public Drawable getBackground() {
    public @Nullable Drawable getBackground() {
        return mPopup.getBackground();
    }

@@ -380,7 +373,7 @@ public class ListPopupWindow implements ShowableListMenu {
     * 
     * @param d A drawable to set as the background.
     */
    public void setBackgroundDrawable(Drawable d) {
    public void setBackgroundDrawable(@Nullable Drawable d) {
        mPopup.setBackgroundDrawable(d);
    }

@@ -389,7 +382,7 @@ public class ListPopupWindow implements ShowableListMenu {
     * 
     * @param animationStyle Animation style to use.
     */
    public void setAnimationStyle(int animationStyle) {
    public void setAnimationStyle(@StyleRes int animationStyle) {
        mPopup.setAnimationStyle(animationStyle);
    }

@@ -399,7 +392,7 @@ public class ListPopupWindow implements ShowableListMenu {
     * 
     * @return Animation style that will be used.
     */
    public int getAnimationStyle() {
    public @StyleRes int getAnimationStyle() {
        return mPopup.getAnimationStyle();
    }

@@ -408,7 +401,7 @@ public class ListPopupWindow implements ShowableListMenu {
     * 
     * @return The popup's anchor view
     */
    public View getAnchorView() {
    public @Nullable View getAnchorView() {
        return mDropDownAnchorView;
    }

@@ -418,7 +411,7 @@ public class ListPopupWindow implements ShowableListMenu {
     * 
     * @param anchor The view to use as an anchor.
     */
    public void setAnchorView(View anchor) {
    public void setAnchorView(@Nullable View anchor) {
        mDropDownAnchorView = anchor;
    }

@@ -537,7 +530,7 @@ public class ListPopupWindow implements ShowableListMenu {
     * 
     * @see ListView#setOnItemClickListener(android.widget.AdapterView.OnItemClickListener)
     */
    public void setOnItemClickListener(AdapterView.OnItemClickListener clickListener) {
    public void setOnItemClickListener(@Nullable AdapterView.OnItemClickListener clickListener) {
        mItemClickListener = clickListener;
    }

@@ -546,9 +539,9 @@ public class ListPopupWindow implements ShowableListMenu {
     * 
     * @param selectedListener Listener to register.
     * 
     * @see ListView#setOnItemSelectedListener(android.widget.AdapterView.OnItemSelectedListener)
     * @see ListView#setOnItemSelectedListener(OnItemSelectedListener)
     */
    public void setOnItemSelectedListener(AdapterView.OnItemSelectedListener selectedListener) {
    public void setOnItemSelectedListener(@Nullable OnItemSelectedListener selectedListener) {
        mItemSelectedListener = selectedListener;
    }

@@ -558,7 +551,7 @@ public class ListPopupWindow implements ShowableListMenu {
     * 
     * @param prompt View to use as an informational prompt.
     */
    public void setPromptView(View prompt) {
    public void setPromptView(@Nullable View prompt) {
        boolean showing = isShowing();
        if (showing) {
            removePromptView();
@@ -686,7 +679,7 @@ public class ListPopupWindow implements ShowableListMenu {
     *
     * @param listener Listener that will be notified when the popup is dismissed.
     */
    public void setOnDismissListener(PopupWindow.OnDismissListener listener) {
    public void setOnDismissListener(@Nullable PopupWindow.OnDismissListener listener) {
        mPopup.setOnDismissListener(listener);
    }

@@ -795,7 +788,7 @@ public class ListPopupWindow implements ShowableListMenu {
    /**
     * @return The currently selected item or null if the popup is not showing.
     */
    public Object getSelectedItem() {
    public @Nullable Object getSelectedItem() {
        if (!isShowing()) {
            return null;
        }
@@ -834,7 +827,7 @@ public class ListPopupWindow implements ShowableListMenu {
     * 
     * @see ListView#getSelectedView()
     */
    public View getSelectedView() {
    public @Nullable View getSelectedView() {
        if (!isShowing()) {
            return null;
        }
@@ -846,11 +839,11 @@ public class ListPopupWindow implements ShowableListMenu {
     * Only valid when {@link #isShowing()} == {@code true}.
     */
    @Override
    public ListView getListView() {
    public @Nullable ListView getListView() {
        return mDropDownList;
    }

    DropDownListView createDropDownListView(Context context, boolean hijackFocus) {
    @NonNull DropDownListView createDropDownListView(Context context, boolean hijackFocus) {
        return new DropDownListView(context, hijackFocus);
    }

@@ -874,7 +867,7 @@ public class ListPopupWindow implements ShowableListMenu {
     * 
     * @see #setModal(boolean)
     */
    public boolean onKeyDown(int keyCode, KeyEvent event) {
    public boolean onKeyDown(int keyCode, @NonNull KeyEvent event) {
        // when the drop down is shown, we drive it directly
        if (isShowing()) {
            // the key events are forwarded to the list in the drop down view
@@ -969,7 +962,7 @@ public class ListPopupWindow implements ShowableListMenu {
     * 
     * @see #setModal(boolean)
     */
    public boolean onKeyUp(int keyCode, KeyEvent event) {
    public boolean onKeyUp(int keyCode, @NonNull KeyEvent event) {
        if (isShowing() && mDropDownList.getSelectedItemPosition() >= 0) {
            boolean consumed = mDropDownList.onKeyUp(keyCode, event);
            if (consumed && KeyEvent.isConfirmKey(keyCode)) {
@@ -993,7 +986,7 @@ public class ListPopupWindow implements ShowableListMenu {
     * 
     * @see #setModal(boolean)
     */
    public boolean onKeyPreIme(int keyCode, KeyEvent event) {
    public boolean onKeyPreIme(int keyCode, @NonNull KeyEvent event) {
        if (keyCode == KeyEvent.KEYCODE_BACK && isShowing()) {
            // special case for the back key, we do not even try to send it
            // to the drop down list but instead, consume it immediately
@@ -1159,7 +1152,6 @@ public class ListPopupWindow implements ShowableListMenu {

            mPopup.setContentView(dropDownView);
        } else {
            dropDownView = (ViewGroup) mPopup.getContentView();
            final View view = mPromptView;
            if (view != null) {
                LinearLayout.LayoutParams hintParams =
+23 −9
Original line number Diff line number Diff line
/*
 * Copyright (C) 2015 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.
 */

package com.android.internal.view.menu;

import android.content.Context;
@@ -7,7 +23,6 @@ import android.view.Gravity;
import android.view.KeyEvent;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.view.View.OnAttachStateChangeListener;
import android.view.View.OnKeyListener;
import android.view.ViewTreeObserver.OnGlobalLayoutListener;
@@ -30,7 +45,7 @@ final class StandardMenuPopup extends MenuPopup implements OnDismissListener, On
        MenuPresenter, OnKeyListener {

    private final Context mContext;
    private final LayoutInflater mInflater;

    private final MenuBuilder mMenu;
    private final MenuAdapter mAdapter;
    private final boolean mOverflowOnly;
@@ -79,8 +94,6 @@ final class StandardMenuPopup extends MenuPopup implements OnDismissListener, On
    private Callback mPresenterCallback;
    private ViewTreeObserver mTreeObserver;

    private ViewGroup mMeasureParent;

    /** Whether the popup has been dismissed. Once dismissed, it cannot be opened again. */
    private boolean mWasDismissed;

@@ -99,10 +112,10 @@ final class StandardMenuPopup extends MenuPopup implements OnDismissListener, On
    public StandardMenuPopup(Context context, MenuBuilder menu, View anchorView, int popupStyleAttr,
            int popupStyleRes, boolean overflowOnly) {
        mContext = Preconditions.checkNotNull(context);
        mInflater = LayoutInflater.from(context);
        mMenu = menu;
        mOverflowOnly = overflowOnly;
        mAdapter = new MenuAdapter(menu, mInflater, mOverflowOnly);
        final LayoutInflater inflater = LayoutInflater.from(context);
        mAdapter = new MenuAdapter(menu, inflater, mOverflowOnly);
        mPopupStyleAttr = popupStyleAttr;
        mPopupStyleRes = popupStyleRes;

@@ -155,8 +168,7 @@ final class StandardMenuPopup extends MenuPopup implements OnDismissListener, On
        mPopup.setDropDownGravity(mDropDownGravity);

        if (!mHasContentWidth) {
            mContentWidth = measureIndividualMenuWidth(
                    mAdapter, mMeasureParent, mContext, mPopupMaxWidth);
            mContentWidth = measureIndividualMenuWidth(mAdapter, null, mContext, mPopupMaxWidth);
            mHasContentWidth = true;
        }

@@ -177,7 +189,9 @@ final class StandardMenuPopup extends MenuPopup implements OnDismissListener, On
                            false);
            TextView titleView = (TextView) titleItemView.findViewById(
                    com.android.internal.R.id.title);
            if (titleView != null) {
                titleView.setText(mMenu.getHeaderTitle());
            }
            titleItemView.setEnabled(false);
            listView.addHeaderView(titleItemView, null, false);