SignInAvailability
Reason-carrying capability flag. Four states, not a Boolean, because the three failures want three different UIs: hide the button, offer "add an account", say "not on this device".
NOT_CONFIGURED is the one that catches build mistakes: it is what every flag returns while an unreplaced __PROVISION_*__ sentinel is still in the source (see provisioning/). The app then refuses to draw a working-looking sign-in button instead of drawing one that fails at the tap.
Entries
Provider is usable, but this device/user has nothing to sign in with yet (no Google account).
OS or hardware cannot do it at all — no browser, OS too old, provider SDK missing.
A provisioning value is missing or is still a sentinel. A build problem, not a user problem.
Companion properties
Returns an immutable kotlin.enums.EnumEntries list containing the constants of this enum type, in the order they're declared.
Companion functions
Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)
Returns an array containing the constants of this enum type, in the order they're declared.