Skip to content

sample(auth): full customization demo - #2414

Merged
demolaf merged 21 commits into
pre-GAfrom
sample/full-customization-method-picker
Sep 22, 2026
Merged

demolaf merged 21 commits into
pre-GAfrom
sample/full-customization-method-picker

Conversation

@demolaf

@demolaf demolaf commented Jul 22, 2026

Copy link
Copy Markdown
Member

Extends the full customization demo to supply a custom UI for every FirebaseAuthScreen content slot.

Changes

  • Each email mode becomes its own Navigation 3 route instead of a mode swap inside one screen, so the steps get real transitions, a working predictive-back gesture, and an address that survives moving between them.
  • Reauthentication renders its own compact confirmation step, because the library composes that step inside a modal bottom sheet where a full sign-in page does not fit. Declining it now reads as a cancellation rather than a failure.
  • A returning email link routes back to whichever demo sent it, so several auth demos can sit behind one deep link.

Preview

  • Full Customization Flow
1-signin-signup-phone.mp4
  • Email Link Sign In Flow
2-email-link-signin.mp4
  • Reauthentication Flow
5-reauth.mp4
  • MFA Flow (Enrollment)
3-authenticated-mfa-enrollment.mp4
  • MFA Flow (Challenge)
4-mfa-challenge.mp4
  • 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
@demolaf
demolaf force-pushed the sample/full-customization-method-picker branch from d552549 to a2d2bc9 Compare August 21, 2026 14:06
@demolaf
demolaf marked this pull request as ready for review August 21, 2026 14:58
@demolaf
demolaf force-pushed the version-10.0.0-beta04 branch from 06a6fe9 to 697f1d9 Compare August 24, 2026 09:29
@demolaf
demolaf force-pushed the sample/full-customization-method-picker branch from 4785c0e to 5e3a069 Compare August 24, 2026 10:16
@demolaf
demolaf marked this pull request as draft August 25, 2026 09:46
@demolaf
demolaf force-pushed the sample/full-customization-method-picker branch from 5e3a069 to ba5b475 Compare August 29, 2026 22:02
@demolaf
demolaf changed the base branch from version-10.0.0-beta04-old to version-10.0.0-beta05 August 29, 2026 22:02
@demolaf
demolaf force-pushed the sample/full-customization-method-picker branch 2 times, most recently from 875cf50 to 1c0c935 Compare August 31, 2026 22:36
@demolaf
demolaf marked this pull request as draft September 12, 2026 21:39
demolaf and others added 17 commits September 21, 2026 21:56
(cherry picked from commit d88088103e61630c95f69de273953346b90486ab)
…-state UI to full customization demo

(cherry picked from commit 96694e0dddd4dacaa769d09ee153c34d4f51f8a2)
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.

(cherry picked from commit 1dfdeda82ecce93f6af54f4dfd6371d108c0ca44)
…ntState

(cherry picked from commit 20681c413ada0394de19203bb2dde2784bac6d06)
@demolaf
demolaf force-pushed the sample/full-customization-method-picker branch from ddbbd42 to 4ee4f80 Compare September 21, 2026 21:05
@demolaf
demolaf changed the base branch from master to pre-GA September 21, 2026 21:06
@demolaf
demolaf marked this pull request as ready for review September 21, 2026 21:44

@russellwheatley russellwheatley left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

LGTM. Two small non-blocking things worth a look:

  • MainActivity.USE_AUTH_EMULATOR flips from true to false — unrelated to this PR's scope, might be intentional but flagging in case it's a leftover from local testing.
  • PhoneEntryStep's CTA reads "Sign Up" but the screen is the general phone sign-in entry (title says "Login by phone number"); looks copy-pasted from the email entry step's create-account button.

@demolaf
demolaf merged commit ea32267 into pre-GA Sep 22, 2026
10 of 11 checks passed
@demolaf
demolaf deleted the sample/full-customization-method-picker branch September 22, 2026 13:56
@demolaf demolaf mentioned this pull request Sep 22, 2026
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.

2 participants