flyout: Fix state inconsistency on flyout dismissal
Previously, when a flyout popup was dismissed by an external action
(e.g., pressing Escape), the component's internal list of popups
(`mPopupMenus`) was not updated. This led to state inconsistencies.
This CL introduces an `OnDismissListener` to correctly remove the
popup's entry from the list upon dismissal.
To prevent this new listener from causing a recursive loop during
programmatic dismissals (where `removeFlyoutWindows` calls `dismiss`), a
state guard (`mRemovingPopups`) has been added to the
dismissal logic.
Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. |
Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. |
Commit-Queue | +1 |
Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. |
Commit-Queue | +1 |
Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. |
Commit-Queue | +1 |
Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. |