Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
21 commits
Select commit Hold shift + click to select a range
66db2bd
fix(database): fix DatabasePagingSource pagination when using orderBy…
demolaf Jun 17, 2026
5df651d
fix(database): make DatabasePagingKey public and add equals/hashCode
demolaf Jun 17, 2026
a9e554b
fix(database): surface load errors to logcat and fix lifecycle observ…
demolaf Jun 17, 2026
bbd4687
fix(database): extend orderByValue() cursor support and use shared Te…
demolaf Jun 19, 2026
cb29924
feat(storage): add StringLoader to support loading gs:// URL strings …
demolaf Jun 17, 2026
663a5c9
feat(storage): allow StringLoader to accept a custom FirebaseStorage …
demolaf Jun 17, 2026
c59837d
sample(storage): add storage image loading demo and modularise app de…
demolaf Jun 17, 2026
e810c1b
feat(storage): update StorageDemoScreen to include placeholder for gs…
demolaf Jun 17, 2026
24dc53f
sample(database): add database paging demo to app module
demolaf Jun 17, 2026
c5b109b
sample(database): add page counter and seed 50 items for visible pagi…
demolaf Jun 17, 2026
d382bd5
fix(auth): validate display name only when required in sign-up form (…
demolaf Jul 10, 2026
7280905
fix(firestore): catch InterruptedException in FirestorePagingSource
demolaf Jul 20, 2026
cc562e2
Merge branch 'version-10.0.0-beta04' into sample/database-demo
demolaf Jul 20, 2026
ef78cfd
Merge branch 'fix/firestore-paging-interrupt' into sample/database-demo
demolaf Jul 20, 2026
3b117f8
chore(app): pin glide to 5.0.7 for compileSdk 36 compatibility
demolaf Jul 20, 2026
3d01b8a
sample(firestore): add firestore paging demo to app module
demolaf Jul 20, 2026
55f08a5
sample(app): move auth demos into auth subpackage and add firestore e…
demolaf Jul 20, 2026
d53e1e9
sample(firestore): log interrupted paging load at warn level
demolaf Jul 20, 2026
25f585a
sample(app): address gemini review feedback on demo app
demolaf Jul 21, 2026
2cb187a
sample(database): fix RTDB paging demo silently failing to render see…
demolaf Jul 21, 2026
c1e9d7a
sample(database): fix e2e CI auth project mismatch from RTDB namespac…
demolaf Jul 21, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 additions & 0 deletions app/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ plugins {
id("org.jetbrains.kotlin.android")
id("org.jetbrains.kotlin.plugin.compose")
id("com.google.gms.google-services")
id("kotlin-kapt")
}

android {
Expand Down Expand Up @@ -53,6 +54,11 @@ kotlin {

dependencies {
implementation(project(":auth"))
implementation(project(":database"))
implementation(project(":firestore"))
implementation(project(":storage"))
implementation(libs.androidx.paging)
kapt(libs.glide.compiler)

implementation(libs.kotlin.stdlib)
implementation(libs.androidx.lifecycle.runtime)
Expand Down
48 changes: 35 additions & 13 deletions app/src/main/AndroidManifest.xml
Original file line number Diff line number Diff line change
Expand Up @@ -19,14 +19,9 @@
android:theme="@style/Theme.FirebaseUIAndroid">
<intent-filter>
<action android:name="android.intent.action.MAIN" />

<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>

<!-- Email Link Sign-In Handler Activity for Compose -->
<!-- This activity handles deep links for passwordless email authentication -->
<!-- The host is automatically read from firebase_web_host in config.xml -->
<!-- NOTE: firebase_web_host must be lowercase (e.g., project-id.firebaseapp.com) -->
<intent-filter android:autoVerify="true">
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
Expand All @@ -38,54 +33,81 @@
</intent-filter>
</activity>

<!-- Auth -->
<activity
android:name="com.firebaseui.android.demo.auth.AuthChooserActivity"
android:label="Auth Demos"
android:exported="false"
android:theme="@style/Theme.FirebaseUIAndroid" />

<activity
android:name=".HighLevelApiDemoActivity"
android:name="com.firebaseui.android.demo.auth.HighLevelApiDemoActivity"
android:label="High-Level API Demo"
android:exported="false"
android:theme="@style/Theme.FirebaseUIAndroid" />

<activity
android:name=".AuthFlowControllerDemoActivity"
android:name="com.firebaseui.android.demo.auth.AuthFlowControllerDemoActivity"
android:label="Low-Level API Demo"
android:exported="false"
android:theme="@style/Theme.FirebaseUIAndroid" />

<activity
android:name=".CustomSlotsThemingDemoActivity"
android:name="com.firebaseui.android.demo.auth.CustomSlotsThemingDemoActivity"
android:label="Custom Slots &amp; Theming Demo"
android:exported="false"
android:theme="@style/Theme.FirebaseUIAndroid" />

<activity
android:name=".CredentialLinkingDemoActivity"
android:name=".auth.CredentialLinkingDemoActivity"
android:label="Credential Linking Demo"
android:exported="false"
android:theme="@style/Theme.FirebaseUIAndroid" />

<activity
android:name=".EmailAuthSlotDemoActivity"
android:name=".auth.EmailAuthSlotDemoActivity"
android:label="Email Auth — Custom Slot"
android:exported="false"
android:theme="@style/Theme.FirebaseUIAndroid" />

<activity
android:name=".PhoneAuthSlotDemoActivity"
android:name=".auth.PhoneAuthSlotDemoActivity"
android:label="Phone Auth — Custom Slot"
android:exported="false"
android:theme="@style/Theme.FirebaseUIAndroid" />

<activity
android:name=".ShapeCustomizationDemoActivity"
android:name=".auth.ShapeCustomizationDemoActivity"
android:label="Shape Customization"
android:exported="false"
android:theme="@style/Theme.FirebaseUIAndroid" />

<activity
android:name=".CustomMethodPickerDemoActivity"
android:name=".auth.CustomMethodPickerDemoActivity"
android:label="Custom Method Picker Layout"
android:exported="false"
android:theme="@style/Theme.FirebaseUIAndroid" />

<!-- Database -->
<activity
android:name="com.firebaseui.android.demo.database.DatabaseDemoActivity"
android:label="Database Demo"
android:exported="false"
android:theme="@style/Theme.FirebaseUIAndroid" />

<!-- Firestore -->
<activity
android:name="com.firebaseui.android.demo.firestore.FirestoreDemoActivity"
android:label="Firestore Demo"
android:exported="false"
android:theme="@style/Theme.FirebaseUIAndroid" />

<!-- Storage -->
<activity
android:name="com.firebaseui.android.demo.storage.StorageDemoActivity"
android:label="Storage Demo"
android:exported="false"
android:theme="@style/Theme.FirebaseUIAndroid" />
</application>

</manifest>
Loading