Skip to content

sample(auth): full customization demo - #2414

Open
demolaf wants to merge 6 commits into
version-10.0.0-beta04from
sample/full-customization-method-picker
Open

sample(auth): full customization demo#2414
demolaf wants to merge 6 commits into
version-10.0.0-beta04from
sample/full-customization-method-picker

Conversation

@demolaf

@demolaf demolaf commented Jul 22, 2026

Copy link
Copy Markdown
Member

Extends the full customization demo to the remaining FirebaseAuthScreen slots, so the sample now supplies a custom UI for every one: mfaEnrollmentContent (all five enrollment steps), mfaChallengeContent, reauthContent and authenticatedContent.

The authenticated screen mostly exists to make the other two reachable — "Set up two-factor" navigates into enrollment, and changing the password runs through authUI.withReauth, which is what provokes the reauth slot.

  • common/AuthPage.kt: shared page frame (mascot, headline, card, bottom actions) for the new screens, so their background, scrolling and inset behaviour match the existing email and phone steps.
  • screens/reauth/ReauthUI.kt handles password reauthentication only, with an explicit fallback for accounts that have no password provider — the federated path the default reauth sheet uses is internal/private, so it isn't expressible from a custom slot.
  • Also addresses review feedback on the existing screens: system back returns to email entry from the login/sign-up steps, the other-sign-in-methods sheet scrolls (nine providers plus the ToS footer overflowed shorter screens), and the confirmation email is compared trimmed and case-insensitively.

Preview

  • Full Customization Flow
full-customization-flow.webm
  • Other sign in methods via bottom sheet
other-sign-in-methods.webm
  • Error Dialog (Inherits font change)
Screenshot_1784723834

@gemini-code-assist gemini-code-assist Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request introduces a fully customized authentication flow demo (FullCustomizationDemoActivity and associated steps) to showcase the capabilities of customMethodPickerLayout in FirebaseAuthScreen, alongside minor inset adjustments in the default auth screens. The review feedback is highly constructive and should be addressed: it recommends implementing a BackHandler for proper step-back navigation, making the alternative sign-in methods sheet scrollable to prevent clipping on smaller screens, passing the FirebaseAuth instance dynamically to support custom configurations, performing case-insensitive and trimmed email validation, and ensuring the loading indicator in CtaButton has sufficient contrast.

@demolaf
demolaf changed the base branch from sample/firestore-database-storage to fix/mfa-edge-to-edge-insets July 22, 2026 13:02
@demolaf
demolaf changed the base branch from fix/mfa-edge-to-edge-insets to sample/firestore-database-storage July 22, 2026 13:03
@demolaf demolaf added the sample label Jul 22, 2026
@demolaf demolaf changed the title sample(auth): flesh out full customization demo with email/login/sign… sample(auth): flesh out full customization demo Jul 22, 2026
@demolaf demolaf changed the title sample(auth): flesh out full customization demo sample(auth): full customization demo Jul 22, 2026
@demolaf
demolaf force-pushed the sample/firestore-database-storage branch from 0cdfacd to 1778d6c Compare July 27, 2026 10:46
@demolaf
demolaf force-pushed the sample/full-customization-method-picker branch from e98fb6e to cbbd262 Compare July 28, 2026 16:01
@demolaf
demolaf changed the base branch from sample/firestore-database-storage to version-10.0.0-beta04 July 28, 2026 16:03
@demolaf
demolaf changed the base branch from version-10.0.0-beta04 to fix/auth-state-stale-notification-reset July 28, 2026 16:03
@demolaf demolaf closed this Jul 28, 2026
@demolaf
demolaf force-pushed the sample/full-customization-method-picker branch from ccd214c to 267731e Compare July 28, 2026 16:08
@github-project-automation github-project-automation Bot moved this from Backlog to Done in studio-2394994192-60a69 Jul 28, 2026
@demolaf demolaf reopened this Jul 28, 2026
@demolaf
demolaf force-pushed the fix/auth-state-stale-notification-reset branch from 267731e to e035a60 Compare July 29, 2026 00:45
@demolaf
demolaf force-pushed the sample/full-customization-method-picker branch from 74c0370 to 007676d Compare August 10, 2026 16:40
@demolaf
demolaf changed the base branch from fix/auth-state-stale-notification-reset to version-10.0.0-beta04 August 10, 2026 16:43
@demolaf
demolaf force-pushed the version-10.0.0-beta04 branch from dbaac07 to f896825 Compare August 18, 2026 09:55
…eption fallback exhausts

(cherry picked from commit 6fa4f00)
(cherry picked from commit aca99e7)
…data

(cherry picked from commit 8eca4fa)
(cherry picked from commit ac61312)
…loop

(cherry picked from commit a87cfe3)
(cherry picked from commit 3f4ae70)
@demolaf
demolaf force-pushed the sample/full-customization-method-picker branch from d552549 to a2d2bc9 Compare August 21, 2026 14:06
Intercept back on the login/sign-up steps so it returns to email entry
instead of leaving the auth flow, make the other-sign-in-methods sheet
scrollable (nine providers plus the ToS footer overflow shorter screens),
compare the confirmation email trimmed and case-insensitively and give the
field an email keyboard, and take the configured FirebaseAuth instance
rather than reaching for the global default.
@demolaf
demolaf marked this pull request as ready for review August 21, 2026 14:58
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant