Prevent performClick() from doing anything to a disabled MenuItem

Fixes: 144298843
Test: Manually, new paintbooth option
Change-Id: Ica5293922cc20f80e1e79557556d1904e04bf94d
diff --git a/car-ui-lib/src/com/android/car/ui/toolbar/MenuItem.java b/car-ui-lib/src/com/android/car/ui/toolbar/MenuItem.java
index 622251b..d178209 100644
--- a/car-ui-lib/src/com/android/car/ui/toolbar/MenuItem.java
+++ b/car-ui-lib/src/com/android/car/ui/toolbar/MenuItem.java
@@ -223,21 +223,26 @@
 
     /** Calls the {@link OnClickListener}. */
     public void performClick() {
+        if (!isEnabled() || !isVisible()) {
+            return;
+        }
+
         if (isRestricted()) {
             Toast.makeText(mContext,
                     R.string.car_ui_restricted_while_driving, Toast.LENGTH_LONG).show();
-        } else {
-            if (isActivatable()) {
-                setActivated(!isActivated());
-            }
+            return;
+        }
 
-            if (isCheckable()) {
-                setChecked(!isChecked());
-            }
+        if (isActivatable()) {
+            setActivated(!isActivated());
+        }
 
-            if (mOnClickListener != null) {
-                mOnClickListener.onClick(this);
-            }
+        if (isCheckable()) {
+            setChecked(!isChecked());
+        }
+
+        if (mOnClickListener != null) {
+            mOnClickListener.onClick(this);
         }
     }
 
diff --git a/car-ui-lib/tests/paintbooth/src/com/android/car/ui/paintbooth/toolbar/ToolbarActivity.java b/car-ui-lib/tests/paintbooth/src/com/android/car/ui/paintbooth/toolbar/ToolbarActivity.java
index d05ef08..73743b6 100644
--- a/car-ui-lib/tests/paintbooth/src/com/android/car/ui/paintbooth/toolbar/ToolbarActivity.java
+++ b/car-ui-lib/tests/paintbooth/src/com/android/car/ui/paintbooth/toolbar/ToolbarActivity.java
@@ -162,6 +162,9 @@
         mButtons.add(Pair.create("MenuItem: Toggle Enabled", v ->
                 getMenuItem(item -> item.setEnabled(!item.isEnabled()))));
 
+        mButtons.add(Pair.create("MenuItem: Call performClick()", v ->
+                getMenuItem(MenuItem::performClick)));
+
         final Drawable altIcon = getDrawable(R.drawable.ic_cut);
         Map<MenuItem, Drawable> iconBackups = new HashMap<>();
         mButtons.add(Pair.create("MenuItem: Toggle Icon", v ->