diff options
author | 2025-02-12 13:51:32 -0800 | |
---|---|---|
committer | 2025-02-12 13:51:32 -0800 | |
commit | fab79c6e07d1b8ecd040e61feebb97f926e17d1e (patch) | |
tree | 988ec6708ead07d7000ccdaa9a36f1e066081b7e | |
parent | 8225e4a7827650abca8c104e352620c6739153dd (diff) |
Update the expanded view bounds after config change
Note that this updates the bounds after a delay so there's a
period of time where the bounds are incorrect after unfolding.
This delay exists today, and this change ensures that the
view isn't stuck with incorrect bounds.
The proper solution is to merge the unfold transition with the
task view transition, which is tracked in b/392893178
Flag: EXEMPT bug fix
Bug: 390050545
Test: manual
- have a floating bubble
- expand and show IME
- unfold
- observe expanded view bounds update correctly
- fold and repeat
Change-Id: I4c2faa77937ed92986ec8c5715ef79faa994a8e9
-rw-r--r-- | libs/WindowManager/Shell/src/com/android/wm/shell/bubbles/BubbleController.java | 5 | ||||
-rw-r--r-- | libs/WindowManager/Shell/src/com/android/wm/shell/bubbles/BubbleStackView.java | 2 |
2 files changed, 6 insertions, 1 deletions
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 f51023fcaaf5..a780fb7a426e 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 @@ -1291,6 +1291,11 @@ public class BubbleController implements ConfigurationChangeListener, mContext.getResources().getDimensionPixelSize( com.android.internal.R.dimen.importance_ring_stroke_width)); mStackView.onDisplaySizeChanged(); + // TODO b/392893178: Merge the unfold and the task view transition so that we don't + // have to post a delayed runnable to the looper to update the bounds + if (mStackView.isExpanded()) { + mStackView.postDelayed(() -> mStackView.updateExpandedView(), 500); + } } if (newConfig.fontScale != mFontScale) { mFontScale = newConfig.fontScale; diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/bubbles/BubbleStackView.java b/libs/WindowManager/Shell/src/com/android/wm/shell/bubbles/BubbleStackView.java index dad627f85d95..92724178cf84 100644 --- a/libs/WindowManager/Shell/src/com/android/wm/shell/bubbles/BubbleStackView.java +++ b/libs/WindowManager/Shell/src/com/android/wm/shell/bubbles/BubbleStackView.java @@ -3548,7 +3548,7 @@ public class BubbleStackView extends FrameLayout } } - private void updateExpandedView() { + void updateExpandedView() { boolean isOverflowExpanded = mExpandedBubble != null && BubbleOverflow.KEY.equals(mExpandedBubble.getKey()); int[] paddings = mPositioner.getExpandedViewContainerPadding( |