<@ULLMZCT8Q> This kind of widgets will very likely...
# compose
r
@Mark Murphy This kind of widgets will very likely use child windows
m
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
FLAG_SECURE
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"...)
r
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
m
"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
DialogFragment
). 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.
r
Well forget about dialogs, what about multi window? (split windows, or app windows on ChromeOS)
☝️ 1
m
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.