Only notify of visibility changes if actually changed

Prevents items from getting double-added, or double-removed

Change-Id: I639e5de6098d4fcb6521807b0865429375722665
diff --git a/v7/preference/src/android/support/v7/preference/Preference.java b/v7/preference/src/android/support/v7/preference/Preference.java
index aa37ac8..f386592 100644
--- a/v7/preference/src/android/support/v7/preference/Preference.java
+++ b/v7/preference/src/android/support/v7/preference/Preference.java
@@ -755,9 +755,11 @@
      * @param visible Set false if this preference should be hidden from the list.
      */
     public final void setVisible(boolean visible) {
-        mVisible = visible;
-        if (mListener != null) {
-            mListener.onPreferenceVisibilityChange(this);
+        if (mVisible != visible) {
+            mVisible = visible;
+            if (mListener != null) {
+                mListener.onPreferenceVisibilityChange(this);
+            }
         }
     }