diff --git a/src/com/android/settings/widget/SwitchBar.java b/src/com/android/settings/widget/SwitchBar.java
index dfcc131..f8743d1 100644
--- a/src/com/android/settings/widget/SwitchBar.java
+++ b/src/com/android/settings/widget/SwitchBar.java
@@ -21,7 +21,6 @@
 import android.app.settings.SettingsEnums;
 import android.content.Context;
 import android.content.res.TypedArray;
-import android.graphics.Rect;
 import android.graphics.drawable.Drawable;
 import android.os.Parcel;
 import android.os.Parcelable;
@@ -112,8 +111,6 @@
         // Set the whole SwitchBar focusable and clickable.
         setFocusable(true);
         setClickable(true);
-        // Set a onClickListener to handle the functionality of ToggleSwitch.
-        setOnClickListener((View v) -> getDelegatingView().performClick());
 
         final TypedArray a = context.obtainStyledAttributes(attrs, XML_ATTRIBUTES);
         final int switchBarMarginStart = (int) a.getDimension(0, 0);
@@ -170,6 +167,12 @@
         mMetricsFeatureProvider = FeatureFactory.getFactory(context).getMetricsFeatureProvider();
     }
 
+    // Override the performClick method to eliminate redundant click.
+    @Override
+    public boolean performClick() {
+        return getDelegatingView().performClick();
+    }
+
     public void setMetricsTag(String tag) {
         mMetricsTag = tag;
     }
diff --git a/tests/robotests/src/com/android/settings/widget/SwitchBarTest.java b/tests/robotests/src/com/android/settings/widget/SwitchBarTest.java
index 35fa2c6..f186222 100644
--- a/tests/robotests/src/com/android/settings/widget/SwitchBarTest.java
+++ b/tests/robotests/src/com/android/settings/widget/SwitchBarTest.java
@@ -95,4 +95,11 @@
         mBar.setDisabledByAdmin(null);
         assertThat(mBar.getDelegatingView().getId()).isEqualTo(R.id.switch_widget);
     }
+
+    @Test
+    public void performClick_shouldIsCheckedValueChange() {
+        boolean isChecked = mBar.isChecked();
+        mBar.performClick();
+        assertThat(mBar.isChecked()).isEqualTo(!isChecked);
+    }
 }
