Only update the cached state if the value changed

Test: atest BubblesTests
Bug: 242097561
Change-Id: Icaa37799741739121cc6d90da526bc9c9150c5ad
diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/bubbles/BubbleController.java b/libs/WindowManager/Shell/src/com/android/wm/shell/bubbles/BubbleController.java
index 8771ceb..de26b549 100644
--- a/libs/WindowManager/Shell/src/com/android/wm/shell/bubbles/BubbleController.java
+++ b/libs/WindowManager/Shell/src/com/android/wm/shell/bubbles/BubbleController.java
@@ -1094,13 +1094,16 @@
     }
 
     void updateNotNotifyingEntry(Bubble b, BubbleEntry entry, boolean showInShade) {
+        boolean showInShadeBefore = b.showInShade();
         boolean isBubbleSelected = Objects.equals(b, mBubbleData.getSelectedBubble());
         boolean isBubbleExpandedAndSelected = isStackExpanded() && isBubbleSelected;
         b.setEntry(entry);
         boolean suppress = isBubbleExpandedAndSelected || !showInShade || !b.showInShade();
         b.setSuppressNotification(suppress);
         b.setShowDot(!isBubbleExpandedAndSelected);
-        mImpl.mCachedState.updateBubbleSuppressedState(b);
+        if (showInShadeBefore != b.showInShade()) {
+            mImpl.mCachedState.updateBubbleSuppressedState(b);
+        }
     }
 
     @VisibleForTesting