Skip to content

sample(app): add Firestore, Database & Storage demos to sample app - #2406

Merged
russellwheatley merged 13 commits into
version-10.0.0-beta04from
sample/firestore-database-storage
Jul 27, 2026
Merged

sample(app): add Firestore, Database & Storage demos to sample app#2406
russellwheatley merged 13 commits into
version-10.0.0-beta04from
sample/firestore-database-storage

Conversation

@demolaf

@demolaf demolaf commented Jul 20, 2026

Copy link
Copy Markdown
Member

Adds demo activities for Realtime Database, Firestore, and Storage to the sample app.

  • Move Auth demo activities into an auth/ subpackage; add database/, firestore/, storage/ subpackages
  • Add DatabaseDemoActivity — paginated list via FirebaseRecyclerPagingAdapter + orderByChild
  • Add FirestoreDemoActivity — paginated list via FirestorePagingAdapter + orderBy, seeded with a WriteBatch
  • Add StorageDemoActivity — loads gs:// URLs via Glide, both as a raw string (StringLoader) and via StorageReference
  • Wire up Realtime Database, Firestore, and Auth emulator toggles in MainActivity

Preview

sample-demo.webm

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

Copy link
Copy Markdown

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 restructures the demo application by modularizing the Auth demos and introducing new demonstration activities for Firebase Realtime Database, Firestore, and Storage (using Glide). It also updates FirestorePagingSource to properly handle InterruptedException and avoid undeliverable RxJava exceptions. Feedback focuses on several key improvements: configuring and initializing the Realtime Database emulator, exposing and passing the emulator mode to the Auth chooser screen, resolving a bug in the Storage demo where Glide loads are triggered on every keystroke, programmatically converting dp to pixels for view holder padding to avoid raw pixel anti-patterns, and optimizing Firestore data seeding using a WriteBatch.

Comment thread app/src/main/java/com/firebaseui/android/demo/MainActivity.kt
Comment thread app/src/main/java/com/firebaseui/android/demo/MainActivity.kt Outdated
Comment thread app/src/main/java/com/firebaseui/android/demo/storage/StorageDemoActivity.kt Outdated
Comment thread app/src/main/java/com/firebaseui/android/demo/MainActivity.kt Outdated
@demolaf demolaf changed the title Sample/firestore database storage sample(app): add Firestore, Database & Storage demos to sample app Jul 21, 2026
@demolaf
demolaf marked this pull request as ready for review July 21, 2026 13:14
@demolaf
demolaf marked this pull request as draft July 21, 2026 14:27
@demolaf
demolaf marked this pull request as ready for review July 21, 2026 16:31
@demolaf demolaf added the sample label Jul 22, 2026
@demolaf
demolaf force-pushed the version-10.0.0-beta04 branch from d382bd5 to 1ecd498 Compare July 22, 2026 22:13

@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.

A few suggestions and nits on the demo additions below.

This branch also carries an unrelated commit (d382bd5, the sign-up display name validation fix) that doesn't belong here, likely from being stacked on another branch. Worth rebasing it out before merge, same ask as on the edge-to-edge insets PR.

Comment thread app/src/main/java/com/firebaseui/android/demo/MainActivity.kt Outdated
Comment thread app/src/main/java/com/firebaseui/android/demo/MainActivity.kt Outdated
Comment thread app/src/main/java/com/firebaseui/android/demo/auth/HighLevelApiDemoActivity.kt Outdated
Comment thread app/src/main/AndroidManifest.xml
@demolaf
demolaf force-pushed the sample/firestore-database-storage branch from 0cdfacd to 1778d6c Compare July 27, 2026 10:46
@demolaf
demolaf requested a review from russellwheatley July 27, 2026 10:47

@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

@russellwheatley
russellwheatley merged commit 8b18a4f into version-10.0.0-beta04 Jul 27, 2026
9 checks passed
@github-project-automation github-project-automation Bot moved this from Backlog to Done in studio-2394994192-60a69 Jul 27, 2026
demolaf added a commit that referenced this pull request Jul 29, 2026
…2404)

* fix(auth): validate display name only when required in sign-up form (#2383)

* fix(auth): validate display name only when required in sign-up form

* fix(auth): use locale-safe matcher for sign-up button in test

* fix(internal): append CHAR_LIMIT to translation descriptions in export script (#2417)

Fixes #1613

* fix(auth): mitigate tapjacking on the auth activity window (#2416)

Fixes #2041

* sample(app): add Firestore, Database & Storage demos to sample app (#2406)

* fix(auth): allow customizing top app bar colors via AuthUITheme (#2391)

* fix(auth): handle edge-to-edge insets in MFA challenge and auth screens (#2413)

* fix(auth): use fixed padding for method picker provider buttons (#2424) (#2426)

* fix(firestore): catch InterruptedException in FirestorePagingSource

* fix(firestore): drop load error logging and restore rx error handler in test

* fix(firestore): return LoadResult.Error for every load failure instead of throwing

* fix(firestore): fix PageKey.equals NPE on null snapshots and add hashCode

* test(firestore): run paging source test in CI via robolectric and replace sleeps with latches

* fix(firestore): log genuine load failures while keeping cancellations silent

---------

Co-authored-by: Oluwatobi Shokunbi <ayoshokz@gmail.com>
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