Comment 6 for bug 1304541

Revision history for this message
Matthew Paul Thomas (mpt) wrote :

The System Settings designs use sheets in these places:
* Background: "Preview" and "Choose area" (because otherwise, noticing and then undoing a poor choice would be tedious)
* Language & Text: "Display language" (because otherwise, undoing a mistaken choice would require navigating a UI written in a language that you probably can't even read)
* Network, "Custom Internet APN" and "Custom MMS APN" (because instant-apply could have weird effects)
* Network, "Connect to Other Network" (because it necessarily contains too much stuff to fit in a partial-screen dialog)
* Security & Privacy, "Switch to Passphrase" from passcode and vice versa (ditto)
* Security & Privacy, "Change SIM PIN" (ditto)
* Updates, "Get On Wi-Fi" (so that you are guaranteed to return to the error screen after connecting)
* Updates, "Installing update" for a system update (though this might be a one-off screen).

The Online Accounts design also uses a sheet with a "Cancel" button for embedding the authorization Web page. And once the phone allows connecting to Wi-Fi captive portals, the login page, too, will likely be embedded in a sheet.

As far as I know, the toolkit contains no suitable replacement for any of these. Some of them occur within page stacks, but using a page for those particular things would be misleading, because it would suggest that they are instant-apply like the rest of the stack when they can't be.

I am not pining for this particular API. That snap decisions, dialogs, and sheets are three different APIs is a profound problem. (Most obviously, something that is a full-screen sheet on a phone should often be a partial-screen dialog on a tablet, and even if it is a sheet on a tablet it should almost always be a dialog on a PC.) But dropping its API documentation, without documenting a suitable replacement, is not helpful to those implementing System Settings, networking, or Online Accounts.