<@ULLMZCT8Q> This kind of widgets will very likely...
# compose
@Mark Murphy This kind of widgets will very likely use child windows
Damn. I thought you would be able to get by with just Z-axis ordering, given modern GPUs, Android 5.0+ shadow support, and stuff. But -- since you'll know way better than I will -- then please please PLEASE propagate
to the child windows. (in case you haven't guessed, I'm still rather pissed that this isn't enforced by the framework, and that behavior is considered "working as intended"...)
It has nothing to do with Z ordering or GPUs
But imagine you are in a dialog
And you open a dropdown for autocompletion
Should it be clipped by the dialog?
Sometimes it’s better to avoid popup windows altogether
"Should it be clipped by the dialog?" -- no, but that is because the framework dialog is itself a child window. Once you get started on child windows, AFAICT, you're locked into "it's turtles all the way down". I hope that a Compose-first dialog system could avoid using framework dialogs, thereby avoiding using child windows. That may have trickle-down benefits for other dialog headaches (e.g., needing a
). But, that's getting down in the weeds. So long as we come out of this with a UI framework that can be secured, I'm happy. And if there is something I can do to help with that -- besides venting in a Slack channel and testing behavior as Compose evolves -- please let me know.
Well forget about dialogs, what about multi window? (split windows, or app windows on ChromeOS)
☝️ 1
Child windows definitely should be clipped in split-screen -- otherwise, App A can interfere with App B's UI, and the user has little recourse due to the limited ability to manipulate the two windows. That could be a security problem in its own right (App A interposing UI in front of App B, fooling the user into entering private information into App A that was destined for App B). I'll readily admit that freeform multi-window, if it adheres to desktop OS conventions, would need to have popups extend beyond the base activity window.