├── .editorconfig ├── .github └── workflows │ └── android.yml ├── .gitignore ├── CONTRIBUTING.md ├── LICENSE ├── README.md ├── admob ├── .gitignore ├── app │ ├── .gitignore │ ├── build.gradle.kts │ ├── google-services.json │ ├── proguard-rules.pro │ └── src │ │ └── main │ │ ├── AndroidManifest.xml │ │ ├── java │ │ └── com │ │ │ └── google │ │ │ └── firebase │ │ │ └── example │ │ │ └── admob │ │ │ ├── MainActivity.java │ │ │ └── kotlin │ │ │ └── MainActivity.kt │ │ └── res │ │ ├── layout │ │ └── activity_main.xml │ │ ├── mipmap-hdpi │ │ └── ic_launcher.png │ │ ├── mipmap-mdpi │ │ └── ic_launcher.png │ │ ├── mipmap-xhdpi │ │ └── ic_launcher.png │ │ ├── mipmap-xxhdpi │ │ └── ic_launcher.png │ │ ├── mipmap-xxxhdpi │ │ └── ic_launcher.png │ │ ├── values-w820dp │ │ └── dimens.xml │ │ └── values │ │ ├── colors.xml │ │ ├── dimens.xml │ │ ├── strings.xml │ │ └── styles.xml ├── build.gradle.kts ├── gradle.properties ├── gradle │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat └── settings.gradle.kts ├── analytics ├── .gitignore ├── app │ ├── .gitignore │ ├── build.gradle.kts │ ├── google-services.json │ ├── proguard-rules.pro │ └── src │ │ └── main │ │ ├── AndroidManifest.xml │ │ ├── java │ │ └── com │ │ │ └── google │ │ │ └── firebase │ │ │ └── example │ │ │ └── analytics │ │ │ ├── MainActivity.java │ │ │ └── kotlin │ │ │ └── MainActivity.kt │ │ └── res │ │ ├── layout │ │ └── activity_main.xml │ │ ├── mipmap-hdpi │ │ └── ic_launcher.png │ │ ├── mipmap-mdpi │ │ └── ic_launcher.png │ │ ├── mipmap-xhdpi │ │ └── ic_launcher.png │ │ ├── mipmap-xxhdpi │ │ └── ic_launcher.png │ │ ├── mipmap-xxxhdpi │ │ └── ic_launcher.png │ │ ├── values-w820dp │ │ └── dimens.xml │ │ └── values │ │ ├── colors.xml │ │ ├── dimens.xml │ │ ├── strings.xml │ │ └── styles.xml ├── build.gradle.kts ├── gradle.properties ├── gradle │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat └── settings.gradle.kts ├── appcheck ├── .gitignore ├── app │ ├── .gitignore │ ├── build.gradle.kts │ ├── google-services.json │ ├── proguard-rules.pro │ └── src │ │ └── main │ │ ├── AndroidManifest.xml │ │ ├── java │ │ └── com │ │ │ └── google │ │ │ └── firebase │ │ │ └── example │ │ │ └── appcheck │ │ │ ├── ApiWithAppCheckExample.java │ │ │ ├── CustomProvider.java │ │ │ ├── MainActivity.java │ │ │ └── kotlin │ │ │ ├── ApiWithAppCheckExample.kt │ │ │ ├── CustomProvider.kt │ │ │ └── MainActivity.kt │ │ └── res │ │ ├── drawable-v24 │ │ └── ic_launcher_foreground.xml │ │ ├── drawable │ │ └── ic_launcher_background.xml │ │ ├── layout │ │ └── activity_main.xml │ │ ├── mipmap-anydpi-v26 │ │ ├── ic_launcher.xml │ │ └── ic_launcher_round.xml │ │ ├── mipmap-hdpi │ │ ├── ic_launcher.png │ │ └── ic_launcher_round.png │ │ ├── mipmap-mdpi │ │ ├── ic_launcher.png │ │ └── ic_launcher_round.png │ │ ├── mipmap-xhdpi │ │ ├── ic_launcher.png │ │ └── ic_launcher_round.png │ │ ├── mipmap-xxhdpi │ │ ├── ic_launcher.png │ │ └── ic_launcher_round.png │ │ ├── mipmap-xxxhdpi │ │ ├── ic_launcher.png │ │ └── ic_launcher_round.png │ │ ├── values-night │ │ └── themes.xml │ │ └── values │ │ ├── colors.xml │ │ ├── strings.xml │ │ └── themes.xml ├── build.gradle.kts ├── gradle.properties ├── gradle │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat └── settings.gradle.kts ├── auth ├── .gitignore ├── app │ ├── .gitignore │ ├── build.gradle.kts │ ├── proguard-rules.pro │ └── src │ │ └── main │ │ ├── AndroidManifest.xml │ │ ├── java │ │ └── com │ │ │ └── google │ │ │ └── firebase │ │ │ └── quickstart │ │ │ └── auth │ │ │ ├── AnonymousAuthActivity.java │ │ │ ├── CustomAuthActivity.java │ │ │ ├── EmailPasswordActivity.java │ │ │ ├── EmulatorSuite.java │ │ │ ├── FacebookLoginActivity.java │ │ │ ├── FirebaseUIActivity.java │ │ │ ├── GenericIdpActivity.java │ │ │ ├── GoogleSignInActivity.java │ │ │ ├── MainActivity.java │ │ │ ├── MultiFactorActivity.java │ │ │ ├── PhoneAuthActivity.java │ │ │ └── kotlin │ │ │ ├── AnonymousAuthActivity.kt │ │ │ ├── CustomAuthActivity.kt │ │ │ ├── EmailPasswordActivity.kt │ │ │ ├── EmulatorSuite.kt │ │ │ ├── FacebookLoginActivity.kt │ │ │ ├── FirebaseUIActivity.kt │ │ │ ├── GenericIdpActivity.kt │ │ │ ├── GoogleSignInActivity.kt │ │ │ ├── MainActivity.kt │ │ │ ├── MultiFactorActivity.kt │ │ │ └── PhoneAuthActivity.kt │ │ └── res │ │ ├── drawable │ │ └── my_great_logo.png │ │ ├── layout │ │ ├── activity_firebase_ui.xml │ │ └── activity_main.xml │ │ ├── mipmap-hdpi │ │ └── ic_launcher.png │ │ ├── mipmap-mdpi │ │ └── ic_launcher.png │ │ ├── mipmap-xhdpi │ │ └── ic_launcher.png │ │ ├── mipmap-xxhdpi │ │ └── ic_launcher.png │ │ ├── mipmap-xxxhdpi │ │ └── ic_launcher.png │ │ ├── values-w820dp │ │ └── dimens.xml │ │ └── values │ │ ├── colors.xml │ │ ├── dimens.xml │ │ ├── firebaseui.xml │ │ ├── strings.xml │ │ └── styles.xml ├── build.gradle.kts ├── gradle.properties ├── gradle │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat └── settings.gradle.kts ├── build.gradle.kts ├── build_pull_request.sh ├── config ├── .gitignore ├── app │ ├── build.gradle.kts │ ├── proguard-rules.pro │ └── src │ │ ├── androidTest │ │ └── java │ │ │ └── com │ │ │ └── google │ │ │ └── firebase │ │ │ └── quickstart │ │ │ └── config │ │ │ └── ExampleInstrumentedTest.kt │ │ ├── main │ │ ├── AndroidManifest.xml │ │ ├── java │ │ │ └── com │ │ │ │ └── google │ │ │ │ └── firebase │ │ │ │ └── quickstart │ │ │ │ └── config │ │ │ │ ├── MainActivity.kt │ │ │ │ └── java │ │ │ │ └── MainActivity.java │ │ └── res │ │ │ ├── drawable-v24 │ │ │ └── ic_launcher_foreground.xml │ │ │ ├── drawable │ │ │ └── ic_launcher_background.xml │ │ │ ├── layout │ │ │ └── activity_main.xml │ │ │ ├── mipmap-anydpi-v26 │ │ │ ├── ic_launcher.xml │ │ │ └── ic_launcher_round.xml │ │ │ ├── mipmap-hdpi │ │ │ ├── ic_launcher.webp │ │ │ └── ic_launcher_round.webp │ │ │ ├── mipmap-mdpi │ │ │ ├── ic_launcher.webp │ │ │ └── ic_launcher_round.webp │ │ │ ├── mipmap-xhdpi │ │ │ ├── ic_launcher.webp │ │ │ └── ic_launcher_round.webp │ │ │ ├── mipmap-xxhdpi │ │ │ ├── ic_launcher.webp │ │ │ └── ic_launcher_round.webp │ │ │ ├── mipmap-xxxhdpi │ │ │ ├── ic_launcher.webp │ │ │ └── ic_launcher_round.webp │ │ │ ├── values-night │ │ │ └── themes.xml │ │ │ ├── values │ │ │ ├── colors.xml │ │ │ ├── strings.xml │ │ │ └── themes.xml │ │ │ └── xml │ │ │ └── remote_config_defaults.xml │ │ └── test │ │ └── java │ │ └── com │ │ └── google │ │ └── firebase │ │ └── quickstart │ │ └── config │ │ └── ExampleUnitTest.kt ├── build.gradle.kts ├── gradle.properties ├── gradle │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat └── settings.gradle.kts ├── crashlytics ├── .gitignore ├── app │ ├── .gitignore │ ├── build.gradle.kts │ ├── google-services.json │ ├── proguard-rules.pro │ └── src │ │ └── main │ │ ├── AndroidManifest.xml │ │ ├── java │ │ └── com │ │ │ └── google │ │ │ └── firebase │ │ │ └── example │ │ │ └── crashlytics │ │ │ ├── MainActivity.java │ │ │ └── kotlin │ │ │ └── MainActivity.kt │ │ └── res │ │ ├── layout │ │ └── activity_main.xml │ │ ├── mipmap-hdpi │ │ └── ic_launcher.png │ │ ├── mipmap-mdpi │ │ └── ic_launcher.png │ │ ├── mipmap-xhdpi │ │ └── ic_launcher.png │ │ ├── mipmap-xxhdpi │ │ └── ic_launcher.png │ │ ├── mipmap-xxxhdpi │ │ └── ic_launcher.png │ │ ├── values-w820dp │ │ └── dimens.xml │ │ └── values │ │ ├── colors.xml │ │ ├── dimens.xml │ │ ├── strings.xml │ │ └── styles.xml ├── build.gradle.kts ├── gradle.properties ├── gradle │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat └── settings.gradle.kts ├── database ├── app │ ├── build.gradle.kts │ ├── google-services.json │ ├── proguard-rules.pro │ └── src │ │ └── main │ │ ├── AndroidManifest.xml │ │ ├── java │ │ └── com │ │ │ └── google │ │ │ └── firebase │ │ │ └── referencecode │ │ │ └── database │ │ │ ├── EmulatorSuite.java │ │ │ ├── MainActivity.java │ │ │ ├── OfflineActivity.java │ │ │ ├── QueryActivity.java │ │ │ ├── ReadAndWriteSnippets.java │ │ │ ├── ShardingActivity.java │ │ │ ├── kotlin │ │ │ ├── EmulatorSuite.kt │ │ │ ├── MainActivity.kt │ │ │ ├── OfflineActivity.kt │ │ │ ├── QueryActivity.kt │ │ │ ├── ReadAndWriteSnippets.kt │ │ │ ├── ShardingActivity.kt │ │ │ └── models │ │ │ │ ├── Comment.kt │ │ │ │ ├── Post.kt │ │ │ │ └── User.kt │ │ │ └── models │ │ │ ├── Comment.java │ │ │ ├── Message.java │ │ │ ├── Post.java │ │ │ └── User.java │ │ └── res │ │ ├── layout │ │ ├── activity_main.xml │ │ └── activity_query.xml │ │ ├── mipmap-hdpi │ │ └── ic_launcher.png │ │ ├── mipmap-mdpi │ │ └── ic_launcher.png │ │ ├── mipmap-xhdpi │ │ └── ic_launcher.png │ │ ├── mipmap-xxhdpi │ │ └── ic_launcher.png │ │ ├── mipmap-xxxhdpi │ │ └── ic_launcher.png │ │ ├── values-w820dp │ │ └── dimens.xml │ │ └── values │ │ ├── colors.xml │ │ ├── dimens.xml │ │ ├── strings.xml │ │ └── styles.xml ├── build.gradle.kts ├── gradle.properties ├── gradle │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat └── settings.gradle.kts ├── dl-invites ├── app │ ├── build.gradle.kts │ ├── proguard-rules.pro │ └── src │ │ └── main │ │ ├── AndroidManifest.xml │ │ ├── java │ │ └── com │ │ │ └── google │ │ │ └── firebase │ │ │ └── dynamicinvites │ │ │ ├── kotlin │ │ │ ├── model │ │ │ │ └── InviteContent.kt │ │ │ ├── presenter │ │ │ │ ├── CopyPresenter.kt │ │ │ │ ├── EmailPresenter.kt │ │ │ │ ├── InvitePresenter.kt │ │ │ │ ├── MessagePresenter.kt │ │ │ │ ├── MorePresenter.kt │ │ │ │ └── SocialPresenter.kt │ │ │ ├── util │ │ │ │ └── DynamicLinksUtil.kt │ │ │ └── view │ │ │ │ ├── AdvancedActivity.kt │ │ │ │ ├── MainActivity.kt │ │ │ │ └── ShareDialogFragment.kt │ │ │ ├── model │ │ │ └── InviteContent.java │ │ │ ├── presenter │ │ │ ├── CopyPresenter.java │ │ │ ├── EmailPresenter.java │ │ │ ├── InvitePresenter.java │ │ │ ├── MessagePresenter.java │ │ │ ├── MorePresenter.java │ │ │ └── SocialPresenter.java │ │ │ ├── util │ │ │ └── DynamicLinksUtil.java │ │ │ └── view │ │ │ ├── AdvancedActivity.java │ │ │ ├── MainActivity.java │ │ │ └── ShareDialogFragment.java │ │ └── res │ │ ├── drawable-v24 │ │ └── ic_launcher_foreground.xml │ │ ├── drawable │ │ ├── ic_content_copy.xml │ │ ├── ic_email.xml │ │ ├── ic_launcher_background.xml │ │ ├── ic_more_horiz.xml │ │ ├── ic_people.xml │ │ ├── ic_sms.xml │ │ └── pizza_monster.png │ │ ├── layout │ │ ├── activity_advanced.xml │ │ ├── activity_main.xml │ │ ├── fragment_item_list_dialog.xml │ │ └── item_share_method.xml │ │ ├── mipmap-anydpi-v26 │ │ ├── ic_launcher.xml │ │ └── ic_launcher_round.xml │ │ ├── mipmap-hdpi │ │ ├── ic_launcher.png │ │ └── ic_launcher_round.png │ │ ├── mipmap-mdpi │ │ ├── ic_launcher.png │ │ └── ic_launcher_round.png │ │ ├── mipmap-xhdpi │ │ ├── ic_launcher.png │ │ └── ic_launcher_round.png │ │ ├── mipmap-xxhdpi │ │ ├── ic_launcher.png │ │ └── ic_launcher_round.png │ │ ├── mipmap-xxxhdpi │ │ ├── ic_launcher.png │ │ └── ic_launcher_round.png │ │ └── values │ │ ├── colors.xml │ │ ├── dimens.xml │ │ ├── strings.xml │ │ └── styles.xml ├── build.gradle.kts ├── gradle.properties ├── gradle │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── screenshots │ ├── invite-screen-intent.png │ ├── invite-screen.png │ ├── refer-screen-intent.png │ └── refer-screen.png └── settings.gradle.kts ├── dynamic-links ├── .gitignore ├── app │ ├── .gitignore │ ├── build.gradle.kts │ ├── proguard-rules.pro │ └── src │ │ └── main │ │ ├── AndroidManifest.xml │ │ ├── java │ │ └── com │ │ │ └── google │ │ │ └── firebase │ │ │ └── quickstart │ │ │ └── dynamiclinks │ │ │ ├── MainActivity.java │ │ │ ├── ReferralActivity.java │ │ │ └── kotlin │ │ │ ├── MainActivity.kt │ │ │ └── ReferralActivity.kt │ │ └── res │ │ ├── layout │ │ ├── activity_main.xml │ │ └── activity_referral.xml │ │ ├── mipmap-hdpi │ │ └── ic_launcher.png │ │ ├── mipmap-mdpi │ │ └── ic_launcher.png │ │ ├── mipmap-xhdpi │ │ └── ic_launcher.png │ │ ├── mipmap-xxhdpi │ │ └── ic_launcher.png │ │ ├── mipmap-xxxhdpi │ │ └── ic_launcher.png │ │ ├── values-w820dp │ │ └── dimens.xml │ │ └── values │ │ ├── colors.xml │ │ ├── dimens.xml │ │ ├── strings.xml │ │ └── styles.xml ├── build.gradle.kts ├── gradle.properties ├── gradle │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat └── settings.gradle.kts ├── firebase-ai ├── .gitignore ├── build.gradle.kts ├── proguard-rules.pro └── src │ └── main │ ├── AndroidManifest.xml │ ├── java │ └── com │ │ └── google │ │ └── firebase │ │ └── example │ │ └── ai │ │ ├── MainActivity.kt │ │ ├── googleai │ │ └── FirebaseAILogic.kt │ │ ├── sendrequests │ │ ├── GenerateMultimodal.kt │ │ └── GenerateText.kt │ │ ├── ui │ │ └── theme │ │ │ ├── Color.kt │ │ │ ├── Theme.kt │ │ │ └── Type.kt │ │ └── vertexai │ │ └── FirebaseAILogic.kt │ └── res │ ├── drawable-v24 │ └── ic_launcher_foreground.xml │ ├── drawable │ ├── ic_launcher_background.xml │ ├── sparky.xml │ └── sparky_eats_pizza.xml │ ├── mipmap-anydpi-v26 │ ├── ic_launcher.xml │ └── ic_launcher_round.xml │ ├── mipmap-hdpi │ ├── ic_launcher.webp │ └── ic_launcher_round.webp │ ├── mipmap-mdpi │ ├── ic_launcher.webp │ └── ic_launcher_round.webp │ ├── mipmap-xhdpi │ ├── ic_launcher.webp │ └── ic_launcher_round.webp │ ├── mipmap-xxhdpi │ ├── ic_launcher.webp │ └── ic_launcher_round.webp │ ├── mipmap-xxxhdpi │ ├── ic_launcher.webp │ └── ic_launcher_round.webp │ └── values │ ├── colors.xml │ ├── strings.xml │ └── themes.xml ├── firebaseoptions ├── .gitignore ├── app │ ├── .gitignore │ ├── build.gradle.kts │ ├── google-services.json │ ├── proguard-rules.pro │ └── src │ │ └── main │ │ ├── AndroidManifest.xml │ │ ├── java │ │ └── devrel │ │ │ └── firebase │ │ │ └── google │ │ │ └── com │ │ │ └── firebaseoptions │ │ │ ├── MainActivity.java │ │ │ └── kotlin │ │ │ └── MainActivity.kt │ │ └── res │ │ ├── layout │ │ └── activity_main.xml │ │ ├── mipmap-hdpi │ │ └── ic_launcher.png │ │ ├── mipmap-mdpi │ │ └── ic_launcher.png │ │ ├── mipmap-xhdpi │ │ └── ic_launcher.png │ │ ├── mipmap-xxhdpi │ │ └── ic_launcher.png │ │ ├── mipmap-xxxhdpi │ │ └── ic_launcher.png │ │ ├── values-w820dp │ │ └── dimens.xml │ │ └── values │ │ ├── colors.xml │ │ ├── dimens.xml │ │ ├── strings.xml │ │ └── styles.xml ├── build.gradle.kts ├── gradle.properties ├── gradle │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat └── settings.gradle.kts ├── firestore ├── .gitignore ├── app │ ├── .gitignore │ ├── build.gradle.kts │ ├── google-services.json │ ├── proguard-rules.pro │ └── src │ │ └── main │ │ ├── AndroidManifest.xml │ │ ├── java │ │ └── com │ │ │ └── google │ │ │ └── example │ │ │ └── firestore │ │ │ ├── DocSnippets.java │ │ │ ├── EmulatorSuite.java │ │ │ ├── MainActivity.java │ │ │ ├── SolutionAggregation.java │ │ │ ├── SolutionArrays.java │ │ │ ├── SolutionBundles.java │ │ │ ├── SolutionCounters.java │ │ │ ├── SolutionDeletes.java │ │ │ ├── SolutionGeoqueries.java │ │ │ ├── SolutionRateLimiting.java │ │ │ └── kotlin │ │ │ ├── DocSnippets.kt │ │ │ ├── EmulatorSuite.kt │ │ │ ├── SolutionAggregation.kt │ │ │ ├── SolutionArrays.kt │ │ │ ├── SolutionBundles.kt │ │ │ ├── SolutionCounters.kt │ │ │ ├── SolutionDeletes.kt │ │ │ └── SolutionGeoqueries.kt │ │ └── res │ │ ├── layout │ │ └── activity_main.xml │ │ ├── mipmap-hdpi │ │ ├── ic_launcher.png │ │ └── ic_launcher_round.png │ │ ├── mipmap-mdpi │ │ ├── ic_launcher.png │ │ └── ic_launcher_round.png │ │ ├── mipmap-xhdpi │ │ ├── ic_launcher.png │ │ └── ic_launcher_round.png │ │ ├── mipmap-xxhdpi │ │ ├── ic_launcher.png │ │ └── ic_launcher_round.png │ │ ├── mipmap-xxxhdpi │ │ ├── ic_launcher.png │ │ └── ic_launcher_round.png │ │ └── values │ │ ├── colors.xml │ │ ├── strings.xml │ │ └── styles.xml ├── build.gradle.kts ├── gradle.properties ├── gradle │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat └── settings.gradle.kts ├── functions ├── .gitignore ├── app │ ├── .gitignore │ ├── build.gradle.kts │ ├── google-services.json │ ├── proguard-rules.pro │ └── src │ │ └── main │ │ ├── AndroidManifest.xml │ │ ├── java │ │ └── devrel │ │ │ └── firebase │ │ │ └── google │ │ │ └── com │ │ │ └── functions │ │ │ ├── MainActivity.java │ │ │ └── kotlin │ │ │ └── MainActivity.kt │ │ └── res │ │ ├── layout │ │ └── activity_main.xml │ │ ├── mipmap-hdpi │ │ └── ic_launcher.png │ │ ├── mipmap-mdpi │ │ └── ic_launcher.png │ │ ├── mipmap-xhdpi │ │ └── ic_launcher.png │ │ ├── mipmap-xxhdpi │ │ └── ic_launcher.png │ │ ├── mipmap-xxxhdpi │ │ └── ic_launcher.png │ │ ├── values-w820dp │ │ └── dimens.xml │ │ └── values │ │ ├── colors.xml │ │ ├── dimens.xml │ │ ├── strings.xml │ │ └── styles.xml ├── build.gradle.kts ├── gradle.properties ├── gradle │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat └── settings.gradle.kts ├── gradle.properties ├── gradle ├── libs.versions.toml └── wrapper │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── inappmessaging ├── .gitignore ├── app │ ├── .gitignore │ ├── build.gradle.kts │ ├── google-services.json │ ├── lint.xml │ ├── proguard-rules.pro │ └── src │ │ └── main │ │ ├── AndroidManifest.xml │ │ ├── java │ │ └── com │ │ │ └── google │ │ │ └── firebase │ │ │ └── example │ │ │ └── inappmessaging │ │ │ ├── MainActivity.java │ │ │ ├── MyClickListener.java │ │ │ ├── MyClickListenerBundles.java │ │ │ └── kotlin │ │ │ ├── MainActivity.kt │ │ │ ├── MyClickListener.kt │ │ │ └── MyClickListenerBundles.kt │ │ └── res │ │ ├── layout │ │ └── activity_main.xml │ │ ├── mipmap-hdpi │ │ └── ic_launcher.png │ │ ├── mipmap-mdpi │ │ └── ic_launcher.png │ │ ├── mipmap-xhdpi │ │ └── ic_launcher.png │ │ ├── mipmap-xxhdpi │ │ └── ic_launcher.png │ │ ├── mipmap-xxxhdpi │ │ └── ic_launcher.png │ │ ├── values-w820dp │ │ └── dimens.xml │ │ └── values │ │ ├── colors.xml │ │ ├── dimens.xml │ │ ├── strings.xml │ │ └── styles.xml ├── build.gradle.kts ├── gradle.properties ├── gradle │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat └── settings.gradle.kts ├── installations ├── .gitignore ├── app │ ├── .gitignore │ ├── build.gradle.kts │ ├── google-services.json │ ├── proguard-rules.pro │ └── src │ │ └── main │ │ ├── AndroidManifest.xml │ │ ├── java │ │ └── com │ │ │ └── google │ │ │ └── samples │ │ │ └── snippet │ │ │ ├── MainActivity.java │ │ │ └── kotlin │ │ │ └── MainActivity.kt │ │ └── res │ │ ├── drawable-v24 │ │ └── ic_launcher_foreground.xml │ │ ├── drawable │ │ └── ic_launcher_background.xml │ │ ├── layout │ │ └── activity_main.xml │ │ ├── mipmap-anydpi-v26 │ │ ├── ic_launcher.xml │ │ └── ic_launcher_round.xml │ │ ├── mipmap-hdpi │ │ ├── ic_launcher.png │ │ └── ic_launcher_round.png │ │ ├── mipmap-mdpi │ │ ├── ic_launcher.png │ │ └── ic_launcher_round.png │ │ ├── mipmap-xhdpi │ │ ├── ic_launcher.png │ │ └── ic_launcher_round.png │ │ ├── mipmap-xxhdpi │ │ ├── ic_launcher.png │ │ └── ic_launcher_round.png │ │ ├── mipmap-xxxhdpi │ │ ├── ic_launcher.png │ │ └── ic_launcher_round.png │ │ └── values │ │ ├── colors.xml │ │ ├── strings.xml │ │ └── styles.xml ├── build.gradle.kts ├── gradle.properties ├── gradle │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat └── settings.gradle.kts ├── messaging ├── .gitignore ├── app │ ├── .gitignore │ ├── build.gradle.kts │ ├── google-services.json │ ├── proguard-rules.pro │ └── src │ │ └── main │ │ ├── AndroidManifest.xml │ │ ├── java │ │ └── com │ │ │ └── google │ │ │ └── firebase │ │ │ └── example │ │ │ └── messaging │ │ │ ├── MainActivity.java │ │ │ ├── MyFirebaseMessagingService.java │ │ │ └── kotlin │ │ │ ├── MainActivity.kt │ │ │ └── MyFirebaseMessagingService.kt │ │ └── res │ │ ├── layout │ │ └── activity_main.xml │ │ ├── mipmap-hdpi │ │ └── ic_launcher.png │ │ ├── mipmap-mdpi │ │ └── ic_launcher.png │ │ ├── mipmap-xhdpi │ │ └── ic_launcher.png │ │ ├── mipmap-xxhdpi │ │ └── ic_launcher.png │ │ ├── mipmap-xxxhdpi │ │ └── ic_launcher.png │ │ ├── values-w820dp │ │ └── dimens.xml │ │ └── values │ │ ├── colors.xml │ │ ├── dimens.xml │ │ ├── strings.xml │ │ └── styles.xml ├── build.gradle.kts ├── functions │ └── index.js ├── gradle.properties ├── gradle │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat └── settings.gradle.kts ├── ml-functions ├── .gitignore ├── app │ ├── .gitignore │ ├── build.gradle.kts │ ├── proguard-rules.pro │ └── src │ │ └── main │ │ ├── AndroidManifest.xml │ │ ├── java │ │ └── devrel │ │ │ └── firebase │ │ │ └── google │ │ │ └── com │ │ │ └── mlfunctions │ │ │ ├── MainActivity.java │ │ │ └── kotlin │ │ │ └── MainActivity.kt │ │ └── res │ │ ├── layout │ │ └── activity_main.xml │ │ ├── mipmap-hdpi │ │ └── ic_launcher.png │ │ ├── mipmap-mdpi │ │ └── ic_launcher.png │ │ ├── mipmap-xhdpi │ │ └── ic_launcher.png │ │ ├── mipmap-xxhdpi │ │ └── ic_launcher.png │ │ ├── mipmap-xxxhdpi │ │ └── ic_launcher.png │ │ ├── values-w820dp │ │ └── dimens.xml │ │ └── values │ │ ├── colors.xml │ │ ├── dimens.xml │ │ ├── strings.xml │ │ └── styles.xml ├── build.gradle.kts ├── gradle.properties ├── gradle │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat └── settings.gradle.kts ├── mlkit ├── .gitignore ├── app │ ├── .gitignore │ ├── build.gradle.kts │ ├── google-services.json │ ├── proguard-rules.pro │ └── src │ │ └── main │ │ ├── AndroidManifest.xml │ │ ├── java │ │ └── com │ │ │ └── google │ │ │ └── firebase │ │ │ └── example │ │ │ └── mlkit │ │ │ ├── BarcodeScanningActivity.java │ │ │ ├── CustomModelActivity.java │ │ │ ├── FaceDetectionActivity.java │ │ │ ├── ImageLabelingActivity.java │ │ │ ├── LandmarkRecognitionActivity.java │ │ │ ├── MainActivity.java │ │ │ ├── TextRecognitionActivity.java │ │ │ ├── VisionImage.java │ │ │ └── kotlin │ │ │ ├── BarcodeScanningActivity.kt │ │ │ ├── CustomModelActivity.kt │ │ │ ├── FaceDetectionActivity.kt │ │ │ ├── ImageLabelingActivity.kt │ │ │ ├── LandmarkRecognitionActivity.kt │ │ │ ├── MainActivity.kt │ │ │ ├── TextRecognitionActivity.kt │ │ │ └── VisionImage.kt │ │ └── res │ │ ├── layout │ │ └── activity_main.xml │ │ ├── mipmap-hdpi │ │ └── ic_launcher.png │ │ ├── mipmap-mdpi │ │ └── ic_launcher.png │ │ ├── mipmap-xhdpi │ │ └── ic_launcher.png │ │ ├── mipmap-xxhdpi │ │ └── ic_launcher.png │ │ ├── mipmap-xxxhdpi │ │ └── ic_launcher.png │ │ ├── values-w820dp │ │ └── dimens.xml │ │ └── values │ │ ├── colors.xml │ │ ├── dimens.xml │ │ ├── strings.xml │ │ └── styles.xml ├── build.gradle.kts ├── gradle.properties ├── gradle │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat └── settings.gradle.kts ├── perf ├── .gitignore ├── app │ ├── .gitignore │ ├── build.gradle.kts │ ├── google-services.json │ ├── proguard-rules.pro │ └── src │ │ └── main │ │ ├── AndroidManifest.xml │ │ ├── java │ │ └── com │ │ │ └── google │ │ │ └── firebase │ │ │ └── example │ │ │ └── perf │ │ │ ├── MainActivity.java │ │ │ └── kotlin │ │ │ ├── MainActivity.kt │ │ │ └── model │ │ │ ├── Item.kt │ │ │ ├── ItemCache.kt │ │ │ └── User.kt │ │ └── res │ │ ├── layout │ │ └── activity_main.xml │ │ ├── mipmap-hdpi │ │ └── ic_launcher.png │ │ ├── mipmap-mdpi │ │ └── ic_launcher.png │ │ ├── mipmap-xhdpi │ │ └── ic_launcher.png │ │ ├── mipmap-xxhdpi │ │ └── ic_launcher.png │ │ ├── mipmap-xxxhdpi │ │ └── ic_launcher.png │ │ ├── values-w820dp │ │ └── dimens.xml │ │ ├── values │ │ ├── colors.xml │ │ ├── dimens.xml │ │ ├── strings.xml │ │ └── styles.xml │ │ └── xml │ │ └── remote_config_defaults.xml ├── build.gradle.kts ├── gradle.properties ├── gradle │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat └── settings.gradle.kts ├── scripts └── checksnippets.py ├── settings.gradle.kts ├── storage ├── .gitignore ├── app │ ├── .gitignore │ ├── build.gradle.kts │ ├── google-services.json │ ├── proguard-rules.pro │ └── src │ │ └── main │ │ ├── AndroidManifest.xml │ │ ├── java │ │ └── com │ │ │ └── google │ │ │ └── firebase │ │ │ └── referencecode │ │ │ └── storage │ │ │ ├── DownloadActivity.java │ │ │ ├── EmulatorSuite.java │ │ │ ├── FirebaseUIActivity.java │ │ │ ├── MyAppGlideModule.java │ │ │ ├── StorageActivity.java │ │ │ ├── UploadActivity.java │ │ │ └── kotlin │ │ │ ├── DownloadActivity.kt │ │ │ ├── EmulatorSuite.kt │ │ │ ├── FirebaseUIActivity.kt │ │ │ ├── StorageActivity.kt │ │ │ └── UploadActivity.kt │ │ └── res │ │ ├── layout │ │ ├── activity_firebase_ui.xml │ │ ├── activity_lifecycle_demo.xml │ │ ├── activity_storage.xml │ │ └── activity_upload.xml │ │ ├── mipmap-hdpi │ │ └── ic_launcher.png │ │ ├── mipmap-mdpi │ │ └── ic_launcher.png │ │ ├── mipmap-xhdpi │ │ └── ic_launcher.png │ │ ├── mipmap-xxhdpi │ │ └── ic_launcher.png │ │ ├── mipmap-xxxhdpi │ │ └── ic_launcher.png │ │ ├── values-w820dp │ │ └── dimens.xml │ │ └── values │ │ ├── colors.xml │ │ ├── dimens.xml │ │ ├── strings.xml │ │ └── styles.xml ├── build.gradle.kts ├── gradle.properties ├── gradle │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat └── settings.gradle.kts ├── tasks ├── .gitignore ├── app │ ├── .gitignore │ ├── build.gradle.kts │ ├── google-services.json │ ├── proguard-rules.pro │ └── src │ │ └── main │ │ ├── AndroidManifest.xml │ │ ├── java │ │ └── com │ │ │ └── google │ │ │ └── firebase │ │ │ └── quickstart │ │ │ └── tasks │ │ │ ├── MainActivity.java │ │ │ └── kotlin │ │ │ └── MainActivity.kt │ │ └── res │ │ ├── layout │ │ └── activity_main.xml │ │ ├── mipmap-hdpi │ │ └── ic_launcher.png │ │ ├── mipmap-mdpi │ │ └── ic_launcher.png │ │ ├── mipmap-xhdpi │ │ └── ic_launcher.png │ │ ├── mipmap-xxhdpi │ │ └── ic_launcher.png │ │ ├── mipmap-xxxhdpi │ │ └── ic_launcher.png │ │ ├── values-w820dp │ │ └── dimens.xml │ │ └── values │ │ ├── colors.xml │ │ ├── dimens.xml │ │ ├── strings.xml │ │ └── styles.xml ├── build.gradle.kts ├── gradle.properties ├── gradle │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat └── settings.gradle.kts ├── test-lab ├── .gitignore ├── aars │ └── cloudtestingscreenshotter_lib.aar ├── app │ ├── .gitignore │ ├── build.gradle.kts │ ├── google-services.json │ ├── proguard-rules.pro │ └── src │ │ └── main │ │ ├── AndroidManifest.xml │ │ ├── java │ │ └── com │ │ │ └── google │ │ │ └── firebase │ │ │ └── example │ │ │ └── testlab │ │ │ ├── MainActivity.java │ │ │ └── kotlin │ │ │ └── MainActivity.kt │ │ └── res │ │ ├── layout │ │ └── activity_main.xml │ │ ├── mipmap-hdpi │ │ └── ic_launcher.png │ │ ├── mipmap-mdpi │ │ └── ic_launcher.png │ │ ├── mipmap-xhdpi │ │ └── ic_launcher.png │ │ ├── mipmap-xxhdpi │ │ └── ic_launcher.png │ │ ├── mipmap-xxxhdpi │ │ └── ic_launcher.png │ │ ├── values-w820dp │ │ └── dimens.xml │ │ └── values │ │ ├── colors.xml │ │ ├── dimens.xml │ │ ├── strings.xml │ │ └── styles.xml ├── build.gradle.kts ├── gradle.properties ├── gradle │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat └── settings.gradle.kts └── vertexai ├── .gitignore ├── app ├── .gitignore ├── build.gradle.kts ├── proguard-rules.pro └── src │ ├── androidTest │ └── java │ │ └── com │ │ └── google │ │ └── firebase │ │ └── example │ │ └── vertexai │ │ └── ExampleInstrumentedTest.kt │ ├── main │ ├── AndroidManifest.xml │ ├── java │ │ └── com │ │ │ └── google │ │ │ └── firebase │ │ │ └── example │ │ │ └── vertexai │ │ │ ├── MainActivity.kt │ │ │ ├── java │ │ │ ├── ChatViewModel.java │ │ │ ├── ConfigurationViewModel.java │ │ │ ├── FunctionCallViewModel.java │ │ │ └── GenerateContentViewModel.java │ │ │ ├── kotlin │ │ │ ├── ChatViewModel.kt │ │ │ ├── ConfigurationViewModel.kt │ │ │ ├── FunctionCallViewModel.kt │ │ │ └── GenerateContentViewModel.kt │ │ │ └── ui │ │ │ └── theme │ │ │ ├── Color.kt │ │ │ ├── Theme.kt │ │ │ └── Type.kt │ └── res │ │ ├── drawable-v24 │ │ └── ic_launcher_foreground.xml │ │ ├── drawable │ │ ├── ic_launcher_background.xml │ │ ├── sparky.png │ │ └── sparky_eats_pizza.png │ │ ├── mipmap-anydpi-v26 │ │ ├── ic_launcher.xml │ │ └── ic_launcher_round.xml │ │ ├── mipmap-hdpi │ │ ├── ic_launcher.webp │ │ └── ic_launcher_round.webp │ │ ├── mipmap-mdpi │ │ ├── ic_launcher.webp │ │ └── ic_launcher_round.webp │ │ ├── mipmap-xhdpi │ │ ├── ic_launcher.webp │ │ └── ic_launcher_round.webp │ │ ├── mipmap-xxhdpi │ │ ├── ic_launcher.webp │ │ └── ic_launcher_round.webp │ │ ├── mipmap-xxxhdpi │ │ ├── ic_launcher.webp │ │ └── ic_launcher_round.webp │ │ ├── values │ │ ├── colors.xml │ │ ├── strings.xml │ │ └── themes.xml │ │ └── xml │ │ ├── backup_rules.xml │ │ └── data_extraction_rules.xml │ └── test │ └── java │ └── com │ └── google │ └── firebase │ └── example │ └── vertexai │ └── ExampleUnitTest.kt ├── build.gradle.kts ├── gradle.properties ├── gradle └── wrapper │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat └── settings.gradle.kts /.editorconfig: -------------------------------------------------------------------------------- 1 | [*.{java,kt}] 2 | max_line_length = 120 3 | indent_size = 2 4 | -------------------------------------------------------------------------------- /.github/workflows/android.yml: -------------------------------------------------------------------------------- 1 | name: Android CI 2 | 3 | on: 4 | - pull_request 5 | - push 6 | 7 | jobs: 8 | build: 9 | runs-on: ubuntu-latest 10 | steps: 11 | - uses: actions/checkout@v4 12 | - name: Check Snippets 13 | run: python scripts/checksnippets.py 14 | - name: set up JDK 17 15 | uses: actions/setup-java@v4 16 | with: 17 | java-version: 17 18 | distribution: temurin 19 | - name: Build with Gradle (Pull Request) 20 | run: ./build_pull_request.sh 21 | if: github.event_name == 'pull_request' 22 | - name: Build with Gradle (Push) 23 | run: ./gradlew clean ktlint build 24 | if: github.event_name != 'pull_request' 25 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | .gradle 2 | local.properties 3 | .idea 4 | build/ 5 | .DS_Store 6 | *.iml 7 | *.apk 8 | *.aar 9 | *.zip 10 | .vscode 11 | .project 12 | .settings 13 | .classpath 14 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Firebase Android Snippets 2 | 3 | This repository holds code snippets used in Android documentation 4 | on [firebase.google.com](https://firebase.google.com/docs/). 5 | 6 | ## Contributing 7 | 8 | We love contributions! See [CONTRIBUTING.md](./CONTRIBUTING.md) for guidelines. 9 | 10 | 11 | [![Actions Status][gh-actions-badge]][gh-actions] 12 | 13 | [gh-actions]: https://github.com/firebase/snippets-android/actions 14 | [gh-actions-badge]: https://github.com/firebase/snippets-android/workflows/Android%20CI/badge.svg -------------------------------------------------------------------------------- /admob/.gitignore: -------------------------------------------------------------------------------- 1 | *.iml 2 | .gradle 3 | /local.properties 4 | /.idea/workspace.xml 5 | /.idea/libraries 6 | .DS_Store 7 | /build 8 | /captures 9 | .externalNativeBuild 10 | -------------------------------------------------------------------------------- /admob/app/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /admob/app/proguard-rules.pro: -------------------------------------------------------------------------------- 1 | # Add project specific ProGuard rules here. 2 | # By default, the flags in this file are appended to flags specified 3 | # in /Users/ianbarber/Library/Android/sdk/tools/proguard/proguard-android.txt 4 | # You can edit the include path and order by changing the proguardFiles 5 | # directive in build.gradle.kts. 6 | # 7 | # For more details, see 8 | # http://developer.android.com/guide/developing/tools/proguard.html 9 | 10 | # Add any project specific keep options here: 11 | 12 | # If your project uses WebView with JS, uncomment the following 13 | # and specify the fully qualified class name to the JavaScript interface 14 | # class: 15 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview { 16 | # public *; 17 | #} 18 | -------------------------------------------------------------------------------- /admob/app/src/main/java/com/google/firebase/example/admob/MainActivity.java: -------------------------------------------------------------------------------- 1 | package com.google.firebase.example.admob; 2 | 3 | import android.os.Bundle; 4 | 5 | import androidx.appcompat.app.AppCompatActivity; 6 | 7 | import com.google.android.gms.ads.MobileAds; 8 | 9 | public class MainActivity extends AppCompatActivity { 10 | 11 | // [START ads_on_create] 12 | @Override 13 | protected void onCreate(Bundle savedInstanceState) { 14 | super.onCreate(savedInstanceState); 15 | // ... 16 | MobileAds.initialize(this); 17 | } 18 | // [END ads_on_create] 19 | 20 | } 21 | -------------------------------------------------------------------------------- /admob/app/src/main/java/com/google/firebase/example/admob/kotlin/MainActivity.kt: -------------------------------------------------------------------------------- 1 | package com.google.firebase.example.admob.kotlin 2 | 3 | import android.os.Bundle 4 | import androidx.appcompat.app.AppCompatActivity 5 | import com.google.android.gms.ads.MobileAds 6 | 7 | class MainActivity : AppCompatActivity() { 8 | 9 | // [START ads_on_create] 10 | override fun onCreate(savedInstanceState: Bundle?) { 11 | super.onCreate(savedInstanceState) 12 | // ... 13 | MobileAds.initialize(this) 14 | } 15 | // [END ads_on_create] 16 | } 17 | -------------------------------------------------------------------------------- /admob/app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/firebase/snippets-android/50e1ce40ab6bdb6b36a582eee50691d0f6d19de2/admob/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /admob/app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/firebase/snippets-android/50e1ce40ab6bdb6b36a582eee50691d0f6d19de2/admob/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /admob/app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/firebase/snippets-android/50e1ce40ab6bdb6b36a582eee50691d0f6d19de2/admob/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /admob/app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/firebase/snippets-android/50e1ce40ab6bdb6b36a582eee50691d0f6d19de2/admob/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /admob/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/firebase/snippets-android/50e1ce40ab6bdb6b36a582eee50691d0f6d19de2/admob/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /admob/app/src/main/res/values-w820dp/dimens.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 64dp 6 | 7 | -------------------------------------------------------------------------------- /admob/app/src/main/res/values/colors.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | #3F51B5 4 | #303F9F 5 | #FF4081 6 | 7 | -------------------------------------------------------------------------------- /admob/app/src/main/res/values/dimens.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 16dp 4 | 16dp 5 | 6 | -------------------------------------------------------------------------------- /admob/app/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | Firebase Options 3 | ca-app-pub-3940256099942544/1033173712 4 | Show Interstitial Ad 5 | ca-app-pub-3940256099942544/6300978111 6 | 7 | -------------------------------------------------------------------------------- /admob/app/src/main/res/values/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /admob/build.gradle.kts: -------------------------------------------------------------------------------- 1 | // Top-level build file where you can add configuration options common to all sub-projects/modules. 2 | 3 | plugins { 4 | id("com.android.application") version "8.10.1" apply false 5 | id("com.android.library") version "8.10.1" apply false 6 | id("org.jetbrains.kotlin.android") version "2.1.21" apply false 7 | id("com.google.gms.google-services") version "4.4.2" apply false 8 | } 9 | 10 | allprojects { 11 | repositories { 12 | mavenLocal() 13 | google() 14 | mavenCentral() 15 | } 16 | } 17 | 18 | tasks { 19 | register("clean", Delete::class) { 20 | delete(rootProject.buildDir) 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /admob/gradle.properties: -------------------------------------------------------------------------------- 1 | # Project-wide Gradle settings. 2 | 3 | # IDE (e.g. Android Studio) users: 4 | # Gradle settings configured through the IDE *will override* 5 | # any settings specified in this file. 6 | 7 | # For more details on how to configure your build environment visit 8 | # http://www.gradle.org/docs/current/userguide/build_environment.html 9 | 10 | # Specifies the JVM arguments used for the daemon process. 11 | # The setting is particularly useful for tweaking memory settings. 12 | org.gradle.jvmargs=-Xmx1536m 13 | android.useAndroidX=true 14 | 15 | # When configured, Gradle will run in incubating parallel mode. 16 | # This option should only be used with decoupled projects. More details, visit 17 | # http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects 18 | # org.gradle.parallel=true 19 | -------------------------------------------------------------------------------- /admob/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/firebase/snippets-android/50e1ce40ab6bdb6b36a582eee50691d0f6d19de2/admob/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /admob/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.12-bin.zip 4 | zipStoreBase=GRADLE_USER_HOME 5 | zipStorePath=wrapper/dists 6 | -------------------------------------------------------------------------------- /admob/settings.gradle.kts: -------------------------------------------------------------------------------- 1 | pluginManagement { 2 | repositories { 3 | google() 4 | mavenCentral() 5 | gradlePluginPortal() 6 | } 7 | } 8 | 9 | include(":app") 10 | -------------------------------------------------------------------------------- /analytics/.gitignore: -------------------------------------------------------------------------------- 1 | *.iml 2 | .gradle 3 | /local.properties 4 | /.idea/workspace.xml 5 | /.idea/libraries 6 | .DS_Store 7 | /build 8 | /captures 9 | .externalNativeBuild 10 | -------------------------------------------------------------------------------- /analytics/app/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /analytics/app/proguard-rules.pro: -------------------------------------------------------------------------------- 1 | # Add project specific ProGuard rules here. 2 | # By default, the flags in this file are appended to flags specified 3 | # in /Users/ianbarber/Library/Android/sdk/tools/proguard/proguard-android.txt 4 | # You can edit the include path and order by changing the proguardFiles 5 | # directive in build.gradle.kts. 6 | # 7 | # For more details, see 8 | # http://developer.android.com/guide/developing/tools/proguard.html 9 | 10 | # Add any project specific keep options here: 11 | 12 | # If your project uses WebView with JS, uncomment the following 13 | # and specify the fully qualified class name to the JavaScript interface 14 | # class: 15 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview { 16 | # public *; 17 | #} 18 | -------------------------------------------------------------------------------- /analytics/app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/firebase/snippets-android/50e1ce40ab6bdb6b36a582eee50691d0f6d19de2/analytics/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /analytics/app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/firebase/snippets-android/50e1ce40ab6bdb6b36a582eee50691d0f6d19de2/analytics/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /analytics/app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/firebase/snippets-android/50e1ce40ab6bdb6b36a582eee50691d0f6d19de2/analytics/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /analytics/app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/firebase/snippets-android/50e1ce40ab6bdb6b36a582eee50691d0f6d19de2/analytics/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /analytics/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/firebase/snippets-android/50e1ce40ab6bdb6b36a582eee50691d0f6d19de2/analytics/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /analytics/app/src/main/res/values-w820dp/dimens.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 64dp 6 | 7 | -------------------------------------------------------------------------------- /analytics/app/src/main/res/values/colors.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | #3F51B5 4 | #303F9F 5 | #FF4081 6 | 7 | -------------------------------------------------------------------------------- /analytics/app/src/main/res/values/dimens.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 16dp 4 | 16dp 5 | 6 | -------------------------------------------------------------------------------- /analytics/app/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | Firebase Options 3 | 4 | -------------------------------------------------------------------------------- /analytics/app/src/main/res/values/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /analytics/build.gradle.kts: -------------------------------------------------------------------------------- 1 | // Top-level build file where you can add configuration options common to all sub-projects/modules. 2 | 3 | plugins { 4 | id("com.android.application") version "8.10.1" apply false 5 | id("com.android.library") version "8.10.1" apply false 6 | id("org.jetbrains.kotlin.android") version "2.1.21" apply false 7 | id("com.google.gms.google-services") version "4.4.2" apply false 8 | } 9 | 10 | allprojects { 11 | repositories { 12 | mavenLocal() 13 | google() 14 | mavenCentral() 15 | maven("https://android-sdk.is.com/") 16 | } 17 | } 18 | 19 | tasks { 20 | register("clean", Delete::class) { 21 | delete(rootProject.buildDir) 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /analytics/gradle.properties: -------------------------------------------------------------------------------- 1 | # Project-wide Gradle settings. 2 | 3 | # IDE (e.g. Android Studio) users: 4 | # Gradle settings configured through the IDE *will override* 5 | # any settings specified in this file. 6 | 7 | # For more details on how to configure your build environment visit 8 | # http://www.gradle.org/docs/current/userguide/build_environment.html 9 | 10 | # Specifies the JVM arguments used for the daemon process. 11 | # The setting is particularly useful for tweaking memory settings. 12 | org.gradle.jvmargs=-Xmx1536m 13 | android.useAndroidX=true 14 | 15 | # When configured, Gradle will run in incubating parallel mode. 16 | # This option should only be used with decoupled projects. More details, visit 17 | # http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects 18 | # org.gradle.parallel=true 19 | -------------------------------------------------------------------------------- /analytics/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/firebase/snippets-android/50e1ce40ab6bdb6b36a582eee50691d0f6d19de2/analytics/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /analytics/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.12-bin.zip 4 | zipStoreBase=GRADLE_USER_HOME 5 | zipStorePath=wrapper/dists 6 | -------------------------------------------------------------------------------- /analytics/settings.gradle.kts: -------------------------------------------------------------------------------- 1 | pluginManagement { 2 | repositories { 3 | google() 4 | mavenCentral() 5 | gradlePluginPortal() 6 | // Ironsource library used for ad_impression snippets 7 | maven("https://android-sdk.is.com/") 8 | } 9 | } 10 | 11 | include(":app") 12 | -------------------------------------------------------------------------------- /appcheck/.gitignore: -------------------------------------------------------------------------------- 1 | *.iml 2 | .gradle 3 | /local.properties 4 | /.idea/caches 5 | /.idea/libraries 6 | /.idea/modules.xml 7 | /.idea/workspace.xml 8 | /.idea/navEditor.xml 9 | /.idea/assetWizardSettings.xml 10 | .DS_Store 11 | /build 12 | /captures 13 | .externalNativeBuild 14 | .cxx 15 | local.properties 16 | -------------------------------------------------------------------------------- /appcheck/app/.gitignore: -------------------------------------------------------------------------------- 1 | /build -------------------------------------------------------------------------------- /appcheck/app/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 11 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | -------------------------------------------------------------------------------- /appcheck/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /appcheck/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /appcheck/app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/firebase/snippets-android/50e1ce40ab6bdb6b36a582eee50691d0f6d19de2/appcheck/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /appcheck/app/src/main/res/mipmap-hdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/firebase/snippets-android/50e1ce40ab6bdb6b36a582eee50691d0f6d19de2/appcheck/app/src/main/res/mipmap-hdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /appcheck/app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/firebase/snippets-android/50e1ce40ab6bdb6b36a582eee50691d0f6d19de2/appcheck/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /appcheck/app/src/main/res/mipmap-mdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/firebase/snippets-android/50e1ce40ab6bdb6b36a582eee50691d0f6d19de2/appcheck/app/src/main/res/mipmap-mdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /appcheck/app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/firebase/snippets-android/50e1ce40ab6bdb6b36a582eee50691d0f6d19de2/appcheck/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /appcheck/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/firebase/snippets-android/50e1ce40ab6bdb6b36a582eee50691d0f6d19de2/appcheck/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /appcheck/app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/firebase/snippets-android/50e1ce40ab6bdb6b36a582eee50691d0f6d19de2/appcheck/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /appcheck/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/firebase/snippets-android/50e1ce40ab6bdb6b36a582eee50691d0f6d19de2/appcheck/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /appcheck/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/firebase/snippets-android/50e1ce40ab6bdb6b36a582eee50691d0f6d19de2/appcheck/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /appcheck/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/firebase/snippets-android/50e1ce40ab6bdb6b36a582eee50691d0f6d19de2/appcheck/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /appcheck/app/src/main/res/values/colors.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | #FFBB86FC 4 | #FF6200EE 5 | #FF3700B3 6 | #FF03DAC5 7 | #FF018786 8 | #FF000000 9 | #FFFFFFFF 10 | -------------------------------------------------------------------------------- /appcheck/app/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | App Check snippets 3 | -------------------------------------------------------------------------------- /appcheck/build.gradle.kts: -------------------------------------------------------------------------------- 1 | // Top-level build file where you can add configuration options common to all sub-projects/modules. 2 | 3 | plugins { 4 | id("com.android.application") version "8.10.1" apply false 5 | id("com.android.library") version "8.10.1" apply false 6 | id("org.jetbrains.kotlin.android") version "2.1.21" apply false 7 | id("com.google.gms.google-services") version "4.4.2" apply false 8 | } 9 | 10 | allprojects { 11 | repositories { 12 | mavenLocal() 13 | google() 14 | mavenCentral() 15 | maven("https://android-sdk.is.com/") 16 | } 17 | } 18 | 19 | tasks { 20 | register("clean", Delete::class) { 21 | delete(rootProject.buildDir) 22 | } 23 | } -------------------------------------------------------------------------------- /appcheck/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/firebase/snippets-android/50e1ce40ab6bdb6b36a582eee50691d0f6d19de2/appcheck/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /appcheck/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | #Mon Jul 26 13:22:22 PDT 2021 2 | distributionBase=GRADLE_USER_HOME 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.12-bin.zip 4 | distributionPath=wrapper/dists 5 | zipStorePath=wrapper/dists 6 | zipStoreBase=GRADLE_USER_HOME 7 | -------------------------------------------------------------------------------- /appcheck/settings.gradle.kts: -------------------------------------------------------------------------------- 1 | pluginManagement { 2 | repositories { 3 | google() 4 | mavenCentral() 5 | gradlePluginPortal() 6 | } 7 | } 8 | 9 | include(":app") 10 | -------------------------------------------------------------------------------- /auth/.gitignore: -------------------------------------------------------------------------------- 1 | *.iml 2 | .gradle 3 | /local.properties 4 | /.idea/workspace.xml 5 | /.idea/libraries 6 | .DS_Store 7 | /build 8 | /captures 9 | -------------------------------------------------------------------------------- /auth/app/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /auth/app/proguard-rules.pro: -------------------------------------------------------------------------------- 1 | # Add project specific ProGuard rules here. 2 | # By default, the flags in this file are appended to flags specified 3 | # in /usr/local/google/home/samstern/android-sdk-linux/tools/proguard/proguard-android.txt 4 | # You can edit the include path and order by changing the proguardFiles 5 | # directive in build.gradle.kts. 6 | # 7 | # For more details, see 8 | # http://developer.android.com/guide/developing/tools/proguard.html 9 | 10 | # Add any project specific keep options here: 11 | 12 | # If your project uses WebView with JS, uncomment the following 13 | # and specify the fully qualified class name to the JavaScript interface 14 | # class: 15 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview { 16 | # public *; 17 | #} 18 | -------------------------------------------------------------------------------- /auth/app/src/main/java/com/google/firebase/quickstart/auth/EmulatorSuite.java: -------------------------------------------------------------------------------- 1 | package com.google.firebase.quickstart.auth; 2 | 3 | import com.google.firebase.auth.FirebaseAuth; 4 | 5 | public class EmulatorSuite { 6 | public void emulatorSettings() { 7 | // [START auth_emulator_connect] 8 | // 10.0.2.2 is the special IP address to connect to the 'localhost' of 9 | // the host computer from an Android emulator. 10 | FirebaseAuth.getInstance().useEmulator("10.0.2.2", 9099); 11 | // [END auth_emulator_connect] 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /auth/app/src/main/java/com/google/firebase/quickstart/auth/kotlin/EmulatorSuite.kt: -------------------------------------------------------------------------------- 1 | package com.google.firebase.quickstart.auth.kotlin 2 | 3 | import com.google.firebase.auth.auth 4 | import com.google.firebase.Firebase 5 | 6 | class EmulatorSuite { 7 | 8 | fun emulatorSettings() { 9 | // [START auth_emulator_connect] 10 | // 10.0.2.2 is the special IP address to connect to the 'localhost' of 11 | // the host computer from an Android emulator. 12 | Firebase.auth.useEmulator("10.0.2.2", 9099) 13 | // [END auth_emulator_connect] 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /auth/app/src/main/res/drawable/my_great_logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/firebase/snippets-android/50e1ce40ab6bdb6b36a582eee50691d0f6d19de2/auth/app/src/main/res/drawable/my_great_logo.png -------------------------------------------------------------------------------- /auth/app/src/main/res/layout/activity_firebase_ui.xml: -------------------------------------------------------------------------------- 1 | 2 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /auth/app/src/main/res/layout/activity_main.xml: -------------------------------------------------------------------------------- 1 | 2 | 11 | 12 | 16 | 17 | -------------------------------------------------------------------------------- /auth/app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/firebase/snippets-android/50e1ce40ab6bdb6b36a582eee50691d0f6d19de2/auth/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /auth/app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/firebase/snippets-android/50e1ce40ab6bdb6b36a582eee50691d0f6d19de2/auth/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /auth/app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/firebase/snippets-android/50e1ce40ab6bdb6b36a582eee50691d0f6d19de2/auth/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /auth/app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/firebase/snippets-android/50e1ce40ab6bdb6b36a582eee50691d0f6d19de2/auth/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /auth/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/firebase/snippets-android/50e1ce40ab6bdb6b36a582eee50691d0f6d19de2/auth/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /auth/app/src/main/res/values-w820dp/dimens.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 64dp 6 | 7 | -------------------------------------------------------------------------------- /auth/app/src/main/res/values/colors.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | #3F51B5 4 | #303F9F 5 | #FF4081 6 | 7 | -------------------------------------------------------------------------------- /auth/app/src/main/res/values/dimens.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 16dp 4 | 16dp 5 | 6 | -------------------------------------------------------------------------------- /auth/app/src/main/res/values/firebaseui.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | YOUR_APP_ID 6 | fbYOUR_APP_ID 7 | 8 | YOUR_CONSUMER_KEY 9 | YOUR_CONSUMER_SECRET 10 | 11 | 12 | -------------------------------------------------------------------------------- /auth/app/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | auth 3 | 4 | -------------------------------------------------------------------------------- /auth/app/src/main/res/values/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /auth/build.gradle.kts: -------------------------------------------------------------------------------- 1 | // Top-level build file where you can add configuration options common to all sub-projects/modules. 2 | 3 | plugins { 4 | id("com.android.application") version "8.10.1" apply false 5 | id("com.android.library") version "8.10.1" apply false 6 | id("org.jetbrains.kotlin.android") version "2.1.21" apply false 7 | id("com.google.gms.google-services") version "4.4.2" apply false 8 | } 9 | 10 | allprojects { 11 | repositories { 12 | mavenLocal() 13 | google() 14 | mavenCentral() 15 | } 16 | } 17 | 18 | tasks { 19 | register("clean", Delete::class) { 20 | delete(rootProject.buildDir) 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /auth/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/firebase/snippets-android/50e1ce40ab6bdb6b36a582eee50691d0f6d19de2/auth/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /auth/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.12-bin.zip 4 | zipStoreBase=GRADLE_USER_HOME 5 | zipStorePath=wrapper/dists 6 | -------------------------------------------------------------------------------- /auth/settings.gradle.kts: -------------------------------------------------------------------------------- 1 | pluginManagement { 2 | repositories { 3 | google() 4 | mavenCentral() 5 | gradlePluginPortal() 6 | } 7 | } 8 | 9 | include(":app") -------------------------------------------------------------------------------- /config/.gitignore: -------------------------------------------------------------------------------- 1 | /build -------------------------------------------------------------------------------- /config/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /config/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /config/app/src/main/res/mipmap-hdpi/ic_launcher.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/firebase/snippets-android/50e1ce40ab6bdb6b36a582eee50691d0f6d19de2/config/app/src/main/res/mipmap-hdpi/ic_launcher.webp -------------------------------------------------------------------------------- /config/app/src/main/res/mipmap-hdpi/ic_launcher_round.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/firebase/snippets-android/50e1ce40ab6bdb6b36a582eee50691d0f6d19de2/config/app/src/main/res/mipmap-hdpi/ic_launcher_round.webp -------------------------------------------------------------------------------- /config/app/src/main/res/mipmap-mdpi/ic_launcher.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/firebase/snippets-android/50e1ce40ab6bdb6b36a582eee50691d0f6d19de2/config/app/src/main/res/mipmap-mdpi/ic_launcher.webp -------------------------------------------------------------------------------- /config/app/src/main/res/mipmap-mdpi/ic_launcher_round.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/firebase/snippets-android/50e1ce40ab6bdb6b36a582eee50691d0f6d19de2/config/app/src/main/res/mipmap-mdpi/ic_launcher_round.webp -------------------------------------------------------------------------------- /config/app/src/main/res/mipmap-xhdpi/ic_launcher.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/firebase/snippets-android/50e1ce40ab6bdb6b36a582eee50691d0f6d19de2/config/app/src/main/res/mipmap-xhdpi/ic_launcher.webp -------------------------------------------------------------------------------- /config/app/src/main/res/mipmap-xhdpi/ic_launcher_round.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/firebase/snippets-android/50e1ce40ab6bdb6b36a582eee50691d0f6d19de2/config/app/src/main/res/mipmap-xhdpi/ic_launcher_round.webp -------------------------------------------------------------------------------- /config/app/src/main/res/mipmap-xxhdpi/ic_launcher.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/firebase/snippets-android/50e1ce40ab6bdb6b36a582eee50691d0f6d19de2/config/app/src/main/res/mipmap-xxhdpi/ic_launcher.webp -------------------------------------------------------------------------------- /config/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/firebase/snippets-android/50e1ce40ab6bdb6b36a582eee50691d0f6d19de2/config/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp -------------------------------------------------------------------------------- /config/app/src/main/res/mipmap-xxxhdpi/ic_launcher.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/firebase/snippets-android/50e1ce40ab6bdb6b36a582eee50691d0f6d19de2/config/app/src/main/res/mipmap-xxxhdpi/ic_launcher.webp -------------------------------------------------------------------------------- /config/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/firebase/snippets-android/50e1ce40ab6bdb6b36a582eee50691d0f6d19de2/config/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp -------------------------------------------------------------------------------- /config/app/src/main/res/values/colors.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | #FFBB86FC 4 | #FF6200EE 5 | #FF3700B3 6 | #FF03DAC5 7 | #FF018786 8 | #FF000000 9 | #FFFFFFFF 10 | -------------------------------------------------------------------------------- /config/app/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | Remote Config 3 | -------------------------------------------------------------------------------- /config/app/src/main/res/xml/remote_config_defaults.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | loading_phrase 6 | Fetching config… 7 | 8 | 9 | welcome_message_caps 10 | false 11 | 12 | 13 | welcome_message 14 | Welcome to my awesome app! 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /config/app/src/test/java/com/google/firebase/quickstart/config/ExampleUnitTest.kt: -------------------------------------------------------------------------------- 1 | package com.google.firebase.quickstart.config 2 | 3 | import org.junit.Assert.assertEquals 4 | import org.junit.Test 5 | 6 | /** 7 | * Example local unit test, which will execute on the development machine (host). 8 | * 9 | * See [testing documentation](http://d.android.com/tools/testing). 10 | */ 11 | class ExampleUnitTest { 12 | @Test 13 | fun addition_isCorrect() { 14 | assertEquals(4, 2 + 2) 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /config/build.gradle.kts: -------------------------------------------------------------------------------- 1 | // Top-level build file where you can add configuration options common to all sub-projects/modules. 2 | 3 | plugins { 4 | id("com.android.application") version "8.10.1" apply false 5 | id("com.android.library") version "8.10.1" apply false 6 | id("org.jetbrains.kotlin.android") version "2.1.21" apply false 7 | id("com.google.gms.google-services") version "4.4.2" apply false 8 | } 9 | 10 | allprojects { 11 | repositories { 12 | mavenLocal() 13 | google() 14 | mavenCentral() 15 | } 16 | } 17 | 18 | tasks { 19 | register("clean", Delete::class) { 20 | delete(rootProject.buildDir) 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /config/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/firebase/snippets-android/50e1ce40ab6bdb6b36a582eee50691d0f6d19de2/config/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /config/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.12-bin.zip 4 | zipStoreBase=GRADLE_USER_HOME 5 | zipStorePath=wrapper/dists 6 | -------------------------------------------------------------------------------- /config/settings.gradle.kts: -------------------------------------------------------------------------------- 1 | pluginManagement { 2 | repositories { 3 | google() 4 | mavenCentral() 5 | gradlePluginPortal() 6 | } 7 | } 8 | 9 | include(":app") 10 | -------------------------------------------------------------------------------- /crashlytics/.gitignore: -------------------------------------------------------------------------------- 1 | *.iml 2 | .gradle 3 | /local.properties 4 | /.idea/workspace.xml 5 | /.idea/libraries 6 | .DS_Store 7 | /build 8 | /captures 9 | .externalNativeBuild 10 | -------------------------------------------------------------------------------- /crashlytics/app/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /crashlytics/app/proguard-rules.pro: -------------------------------------------------------------------------------- 1 | # Add project specific ProGuard rules here. 2 | # By default, the flags in this file are appended to flags specified 3 | # in /Users/ianbarber/Library/Android/sdk/tools/proguard/proguard-android.txt 4 | # You can edit the include path and order by changing the proguardFiles 5 | # directive in build.gradle.kts. 6 | # 7 | # For more details, see 8 | # http://developer.android.com/guide/developing/tools/proguard.html 9 | 10 | # Add any project specific keep options here: 11 | 12 | # If your project uses WebView with JS, uncomment the following 13 | # and specify the fully qualified class name to the JavaScript interface 14 | # class: 15 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview { 16 | # public *; 17 | #} 18 | -------------------------------------------------------------------------------- /crashlytics/app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/firebase/snippets-android/50e1ce40ab6bdb6b36a582eee50691d0f6d19de2/crashlytics/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /crashlytics/app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/firebase/snippets-android/50e1ce40ab6bdb6b36a582eee50691d0f6d19de2/crashlytics/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /crashlytics/app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/firebase/snippets-android/50e1ce40ab6bdb6b36a582eee50691d0f6d19de2/crashlytics/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /crashlytics/app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/firebase/snippets-android/50e1ce40ab6bdb6b36a582eee50691d0f6d19de2/crashlytics/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /crashlytics/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/firebase/snippets-android/50e1ce40ab6bdb6b36a582eee50691d0f6d19de2/crashlytics/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /crashlytics/app/src/main/res/values-w820dp/dimens.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 64dp 6 | 7 | -------------------------------------------------------------------------------- /crashlytics/app/src/main/res/values/colors.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | #3F51B5 4 | #303F9F 5 | #FF4081 6 | 7 | -------------------------------------------------------------------------------- /crashlytics/app/src/main/res/values/dimens.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 16dp 4 | 16dp 5 | 6 | -------------------------------------------------------------------------------- /crashlytics/app/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | Firebase Options 3 | 4 | -------------------------------------------------------------------------------- /crashlytics/app/src/main/res/values/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /crashlytics/build.gradle.kts: -------------------------------------------------------------------------------- 1 | // Top-level build file where you can add configuration options common to all sub-projects/modules. 2 | 3 | plugins { 4 | id("com.android.application") version "8.10.1" apply false 5 | id("com.android.library") version "8.10.1" apply false 6 | id("org.jetbrains.kotlin.android") version "2.1.21" apply false 7 | id("com.google.gms.google-services") version "4.4.2" apply false 8 | id("com.google.firebase.crashlytics") version "3.0.3" apply false 9 | } 10 | 11 | allprojects { 12 | repositories { 13 | mavenLocal() 14 | google() 15 | mavenCentral() 16 | } 17 | } 18 | 19 | tasks { 20 | register("clean", Delete::class) { 21 | delete(rootProject.buildDir) 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /crashlytics/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/firebase/snippets-android/50e1ce40ab6bdb6b36a582eee50691d0f6d19de2/crashlytics/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /crashlytics/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.12-bin.zip 4 | zipStoreBase=GRADLE_USER_HOME 5 | zipStorePath=wrapper/dists 6 | -------------------------------------------------------------------------------- /crashlytics/settings.gradle.kts: -------------------------------------------------------------------------------- 1 | pluginManagement { 2 | repositories { 3 | google() 4 | mavenCentral() 5 | gradlePluginPortal() 6 | } 7 | } 8 | 9 | include(":app") 10 | -------------------------------------------------------------------------------- /database/app/proguard-rules.pro: -------------------------------------------------------------------------------- 1 | # Add project specific ProGuard rules here. 2 | # By default, the flags in this file are appended to flags specified 3 | # in /home/gkal/android-sdks/tools/proguard/proguard-android.txt 4 | # You can edit the include path and order by changing the proguardFiles 5 | # directive in build.gradle.kts. 6 | # 7 | # For more details, see 8 | # http://developer.android.com/guide/developing/tools/proguard.html 9 | 10 | # Add any project specific keep options here: 11 | 12 | # If your project uses WebView with JS, uncomment the following 13 | # and specify the fully qualified class name to the JavaScript interface 14 | # class: 15 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview { 16 | # public *; 17 | #} 18 | -------------------------------------------------------------------------------- /database/app/src/main/java/com/google/firebase/referencecode/database/kotlin/ShardingActivity.kt: -------------------------------------------------------------------------------- 1 | package com.google.firebase.referencecode.database.kotlin 2 | 3 | import androidx.appcompat.app.AppCompatActivity 4 | import com.google.firebase.database.database 5 | import com.google.firebase.Firebase 6 | 7 | class ShardingActivity : AppCompatActivity() { 8 | 9 | private fun getMultipleInstances() { 10 | // [START rtdb_multi_instance] 11 | // Get the default database instance for an app 12 | val primary = Firebase.database.reference 13 | 14 | // Get a secondary database instance by URL 15 | val secondary = Firebase.database("https://testapp-1234.firebaseio.com").reference 16 | // [END rtdb_multi_instance] 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /database/app/src/main/java/com/google/firebase/referencecode/database/kotlin/models/Comment.kt: -------------------------------------------------------------------------------- 1 | package com.google.firebase.referencecode.database.kotlin.models 2 | 3 | import com.google.firebase.database.IgnoreExtraProperties 4 | 5 | // [START comment_class] 6 | @IgnoreExtraProperties 7 | data class Comment( 8 | var uid: String? = "", 9 | var author: String? = "", 10 | var text: String? = "", 11 | ) 12 | // [END comment_class] 13 | -------------------------------------------------------------------------------- /database/app/src/main/java/com/google/firebase/referencecode/database/kotlin/models/User.kt: -------------------------------------------------------------------------------- 1 | package com.google.firebase.referencecode.database.kotlin.models 2 | 3 | import com.google.firebase.database.IgnoreExtraProperties 4 | 5 | // [START rtdb_user_class] 6 | @IgnoreExtraProperties 7 | data class User(val username: String? = null, val email: String? = null) { 8 | // Null default values create a no-argument default constructor, which is needed 9 | // for deserialization from a DataSnapshot. 10 | } 11 | // [END rtdb_user_class] 12 | -------------------------------------------------------------------------------- /database/app/src/main/java/com/google/firebase/referencecode/database/models/Comment.java: -------------------------------------------------------------------------------- 1 | package com.google.firebase.referencecode.database.models; 2 | 3 | import com.google.firebase.database.IgnoreExtraProperties; 4 | 5 | // [START comment_class] 6 | @IgnoreExtraProperties 7 | public class Comment { 8 | 9 | public String uid; 10 | public String author; 11 | public String text; 12 | 13 | public Comment() { 14 | // Default constructor required for calls to DataSnapshot.getValue(Comment.class) 15 | } 16 | 17 | public Comment(String uid, String author, String text) { 18 | this.uid = uid; 19 | this.author = author; 20 | this.text = text; 21 | } 22 | 23 | } 24 | // [END comment_class] -------------------------------------------------------------------------------- /database/app/src/main/java/com/google/firebase/referencecode/database/models/User.java: -------------------------------------------------------------------------------- 1 | package com.google.firebase.referencecode.database.models; 2 | 3 | import com.google.firebase.database.IgnoreExtraProperties; 4 | 5 | // [START rtdb_user_class] 6 | @IgnoreExtraProperties 7 | public class User { 8 | 9 | public String username; 10 | public String email; 11 | 12 | public User() { 13 | // Default constructor required for calls to DataSnapshot.getValue(User.class) 14 | } 15 | 16 | public User(String username, String email) { 17 | this.username = username; 18 | this.email = email; 19 | } 20 | 21 | } 22 | // [END rtdb_user_class] 23 | -------------------------------------------------------------------------------- /database/app/src/main/res/layout/activity_main.xml: -------------------------------------------------------------------------------- 1 | 2 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /database/app/src/main/res/layout/activity_query.xml: -------------------------------------------------------------------------------- 1 | 2 | 11 | 12 | 16 | 17 | -------------------------------------------------------------------------------- /database/app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/firebase/snippets-android/50e1ce40ab6bdb6b36a582eee50691d0f6d19de2/database/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /database/app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/firebase/snippets-android/50e1ce40ab6bdb6b36a582eee50691d0f6d19de2/database/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /database/app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/firebase/snippets-android/50e1ce40ab6bdb6b36a582eee50691d0f6d19de2/database/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /database/app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/firebase/snippets-android/50e1ce40ab6bdb6b36a582eee50691d0f6d19de2/database/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /database/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/firebase/snippets-android/50e1ce40ab6bdb6b36a582eee50691d0f6d19de2/database/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /database/app/src/main/res/values-w820dp/dimens.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 64dp 6 | 7 | -------------------------------------------------------------------------------- /database/app/src/main/res/values/colors.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | #3F51B5 4 | #303F9F 5 | #FF4081 6 | 7 | -------------------------------------------------------------------------------- /database/app/src/main/res/values/dimens.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 16dp 4 | 16dp 5 | 6 | -------------------------------------------------------------------------------- /database/app/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | database 3 | 4 | -------------------------------------------------------------------------------- /database/app/src/main/res/values/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /database/build.gradle.kts: -------------------------------------------------------------------------------- 1 | // Top-level build file where you can add configuration options common to all sub-projects/modules. 2 | 3 | plugins { 4 | id("com.android.application") version "8.10.1" apply false 5 | id("com.android.library") version "8.10.1" apply false 6 | id("org.jetbrains.kotlin.android") version "2.1.21" apply false 7 | id("com.google.gms.google-services") version "4.4.2" apply false 8 | } 9 | 10 | allprojects { 11 | repositories { 12 | mavenLocal() 13 | google() 14 | mavenCentral() 15 | } 16 | } 17 | 18 | tasks { 19 | register("clean", Delete::class) { 20 | delete(rootProject.buildDir) 21 | } 22 | } -------------------------------------------------------------------------------- /database/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/firebase/snippets-android/50e1ce40ab6bdb6b36a582eee50691d0f6d19de2/database/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /database/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.12-bin.zip 4 | zipStoreBase=GRADLE_USER_HOME 5 | zipStorePath=wrapper/dists 6 | -------------------------------------------------------------------------------- /database/settings.gradle.kts: -------------------------------------------------------------------------------- 1 | pluginManagement { 2 | repositories { 3 | google() 4 | mavenCentral() 5 | gradlePluginPortal() 6 | } 7 | } 8 | 9 | include(":app") 10 | -------------------------------------------------------------------------------- /dl-invites/app/src/main/java/com/google/firebase/dynamicinvites/kotlin/model/InviteContent.kt: -------------------------------------------------------------------------------- 1 | package com.google.firebase.dynamicinvites.kotlin.model 2 | 3 | import android.net.Uri 4 | 5 | // [START ddl_invite_content] 6 | /** 7 | * The content of an invitation, with optional fields to accommodate all presenters. 8 | * This type could be modified to also include an image, for sending invites over email. 9 | */ 10 | data class InviteContent( 11 | /** The subject of the message. Not used for invites without subjects, like SMS. */ 12 | val subject: String?, 13 | /** The body of the message. Indispensable content should go here. */ 14 | val body: String?, 15 | /** The URL containing the link to invite. In link-copy cases, only this field will be used. */ 16 | val link: Uri, 17 | ) 18 | // [END ddl_invite_content] 19 | -------------------------------------------------------------------------------- /dl-invites/app/src/main/java/com/google/firebase/dynamicinvites/kotlin/presenter/CopyPresenter.kt: -------------------------------------------------------------------------------- 1 | package com.google.firebase.dynamicinvites.kotlin.presenter 2 | 3 | import android.content.Context 4 | import android.widget.Toast 5 | import com.google.firebase.dynamicinvites.R 6 | import com.google.firebase.dynamicinvites.kotlin.model.InviteContent 7 | 8 | class CopyPresenter(isAvailable: Boolean, content: InviteContent) : 9 | InvitePresenter("Copy Link", R.drawable.ic_content_copy, isAvailable, content) { 10 | 11 | override fun sendInvite(context: Context) { 12 | super.sendInvite(context) 13 | Toast.makeText(context, "TODO: Implement link copying", Toast.LENGTH_SHORT).show() 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /dl-invites/app/src/main/java/com/google/firebase/dynamicinvites/kotlin/presenter/EmailPresenter.kt: -------------------------------------------------------------------------------- 1 | package com.google.firebase.dynamicinvites.kotlin.presenter 2 | 3 | import android.content.Context 4 | import android.widget.Toast 5 | import com.google.firebase.dynamicinvites.R 6 | import com.google.firebase.dynamicinvites.kotlin.model.InviteContent 7 | 8 | class EmailPresenter(isAvailable: Boolean, content: InviteContent) : 9 | InvitePresenter("Email", R.drawable.ic_email, isAvailable, content) { 10 | 11 | override fun sendInvite(context: Context) { 12 | super.sendInvite(context) 13 | Toast.makeText(context, "TODO: Implement email sending", Toast.LENGTH_SHORT).show() 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /dl-invites/app/src/main/java/com/google/firebase/dynamicinvites/kotlin/presenter/MessagePresenter.kt: -------------------------------------------------------------------------------- 1 | package com.google.firebase.dynamicinvites.kotlin.presenter 2 | 3 | import android.content.Context 4 | import android.widget.Toast 5 | import com.google.firebase.dynamicinvites.R 6 | import com.google.firebase.dynamicinvites.kotlin.model.InviteContent 7 | 8 | class MessagePresenter(isAvailable: Boolean, content: InviteContent) : 9 | InvitePresenter("Message", R.drawable.ic_sms, isAvailable, content) { 10 | 11 | override fun sendInvite(context: Context) { 12 | super.sendInvite(context) 13 | Toast.makeText(context, "TODO: Implement SMS", Toast.LENGTH_SHORT).show() 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /dl-invites/app/src/main/java/com/google/firebase/dynamicinvites/kotlin/presenter/SocialPresenter.kt: -------------------------------------------------------------------------------- 1 | package com.google.firebase.dynamicinvites.kotlin.presenter 2 | 3 | import android.content.Context 4 | import android.widget.Toast 5 | import com.google.firebase.dynamicinvites.R 6 | import com.google.firebase.dynamicinvites.kotlin.model.InviteContent 7 | 8 | class SocialPresenter(isAvailable: Boolean, content: InviteContent) : 9 | InvitePresenter("Social", R.drawable.ic_people, isAvailable, content) { 10 | 11 | override fun sendInvite(context: Context) { 12 | super.sendInvite(context) 13 | Toast.makeText(context, "TODO: Implement social sending", Toast.LENGTH_SHORT).show() 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /dl-invites/app/src/main/java/com/google/firebase/dynamicinvites/presenter/CopyPresenter.java: -------------------------------------------------------------------------------- 1 | package com.google.firebase.dynamicinvites.presenter; 2 | 3 | import android.content.Context; 4 | import android.widget.Toast; 5 | 6 | import com.google.firebase.dynamicinvites.R; 7 | import com.google.firebase.dynamicinvites.kotlin.model.InviteContent; 8 | 9 | public class CopyPresenter extends InvitePresenter { 10 | 11 | public CopyPresenter(boolean isAvailable, InviteContent content) { 12 | super("Copy Link", R.drawable.ic_content_copy, isAvailable, content); 13 | } 14 | 15 | @Override 16 | public void sendInvite(Context context) { 17 | super.sendInvite(context); 18 | Toast.makeText(context, "TODO: Implement link copying", Toast.LENGTH_SHORT).show(); 19 | } 20 | 21 | } 22 | -------------------------------------------------------------------------------- /dl-invites/app/src/main/java/com/google/firebase/dynamicinvites/presenter/EmailPresenter.java: -------------------------------------------------------------------------------- 1 | package com.google.firebase.dynamicinvites.presenter; 2 | 3 | import android.content.Context; 4 | import android.widget.Toast; 5 | 6 | import com.google.firebase.dynamicinvites.R; 7 | import com.google.firebase.dynamicinvites.kotlin.model.InviteContent; 8 | 9 | public class EmailPresenter extends InvitePresenter { 10 | 11 | public EmailPresenter(boolean isAvailable, InviteContent content) { 12 | super("Email", R.drawable.ic_email, isAvailable, content); 13 | } 14 | 15 | @Override 16 | public void sendInvite(Context context) { 17 | super.sendInvite(context); 18 | Toast.makeText(context, "TODO: Implement email sending", Toast.LENGTH_SHORT).show(); 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /dl-invites/app/src/main/java/com/google/firebase/dynamicinvites/presenter/MessagePresenter.java: -------------------------------------------------------------------------------- 1 | package com.google.firebase.dynamicinvites.presenter; 2 | 3 | import android.content.Context; 4 | import android.widget.Toast; 5 | 6 | import com.google.firebase.dynamicinvites.R; 7 | import com.google.firebase.dynamicinvites.kotlin.model.InviteContent; 8 | 9 | public class MessagePresenter extends InvitePresenter { 10 | 11 | public MessagePresenter(boolean isAvailable, InviteContent content) { 12 | super("Message", R.drawable.ic_sms, isAvailable, content); 13 | } 14 | 15 | @Override 16 | public void sendInvite(Context context) { 17 | super.sendInvite(context); 18 | Toast.makeText(context, "TODO: Implement SMS", Toast.LENGTH_SHORT).show(); 19 | } 20 | 21 | } 22 | -------------------------------------------------------------------------------- /dl-invites/app/src/main/java/com/google/firebase/dynamicinvites/presenter/SocialPresenter.java: -------------------------------------------------------------------------------- 1 | package com.google.firebase.dynamicinvites.presenter; 2 | 3 | import android.content.Context; 4 | import android.widget.Toast; 5 | 6 | import com.google.firebase.dynamicinvites.R; 7 | import com.google.firebase.dynamicinvites.kotlin.model.InviteContent; 8 | 9 | public class SocialPresenter extends InvitePresenter { 10 | 11 | public SocialPresenter(boolean isAvailable, InviteContent content) { 12 | super("Social", R.drawable.ic_people, isAvailable, content); 13 | } 14 | 15 | @Override 16 | public void sendInvite(Context context) { 17 | super.sendInvite(context); 18 | Toast.makeText(context, "TODO: Implement social sending", Toast.LENGTH_SHORT).show(); 19 | } 20 | 21 | } 22 | -------------------------------------------------------------------------------- /dl-invites/app/src/main/res/drawable/ic_content_copy.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /dl-invites/app/src/main/res/drawable/ic_email.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /dl-invites/app/src/main/res/drawable/ic_more_horiz.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /dl-invites/app/src/main/res/drawable/ic_people.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /dl-invites/app/src/main/res/drawable/ic_sms.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /dl-invites/app/src/main/res/drawable/pizza_monster.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/firebase/snippets-android/50e1ce40ab6bdb6b36a582eee50691d0f6d19de2/dl-invites/app/src/main/res/drawable/pizza_monster.png -------------------------------------------------------------------------------- /dl-invites/app/src/main/res/layout/fragment_item_list_dialog.xml: -------------------------------------------------------------------------------- 1 | 2 | 12 | -------------------------------------------------------------------------------- /dl-invites/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /dl-invites/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /dl-invites/app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/firebase/snippets-android/50e1ce40ab6bdb6b36a582eee50691d0f6d19de2/dl-invites/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /dl-invites/app/src/main/res/mipmap-hdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/firebase/snippets-android/50e1ce40ab6bdb6b36a582eee50691d0f6d19de2/dl-invites/app/src/main/res/mipmap-hdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /dl-invites/app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/firebase/snippets-android/50e1ce40ab6bdb6b36a582eee50691d0f6d19de2/dl-invites/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /dl-invites/app/src/main/res/mipmap-mdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/firebase/snippets-android/50e1ce40ab6bdb6b36a582eee50691d0f6d19de2/dl-invites/app/src/main/res/mipmap-mdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /dl-invites/app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/firebase/snippets-android/50e1ce40ab6bdb6b36a582eee50691d0f6d19de2/dl-invites/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /dl-invites/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/firebase/snippets-android/50e1ce40ab6bdb6b36a582eee50691d0f6d19de2/dl-invites/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /dl-invites/app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/firebase/snippets-android/50e1ce40ab6bdb6b36a582eee50691d0f6d19de2/dl-invites/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /dl-invites/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/firebase/snippets-android/50e1ce40ab6bdb6b36a582eee50691d0f6d19de2/dl-invites/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /dl-invites/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/firebase/snippets-android/50e1ce40ab6bdb6b36a582eee50691d0f6d19de2/dl-invites/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /dl-invites/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/firebase/snippets-android/50e1ce40ab6bdb6b36a582eee50691d0f6d19de2/dl-invites/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /dl-invites/app/src/main/res/values/colors.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | #263238 4 | #000a12 5 | #4f5b62 6 | #03a9f4 7 | 8 | #9E9E9E 9 | 10 | -------------------------------------------------------------------------------- /dl-invites/app/src/main/res/values/dimens.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 16dp 4 | 8dp 5 | 6 | -------------------------------------------------------------------------------- /dl-invites/app/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | Dynamic Invites 3 | 4 | 5 | AIzaSyCh-veDlf-cJsVgO0dm1FnQB_kZZEI9fR0 6 | 1:733471010301:android:6037b8829628a1f3 7 | 8 | Share Link 9 | https://your-custom-invite.link/111111 10 | 11 | -------------------------------------------------------------------------------- /dl-invites/build.gradle.kts: -------------------------------------------------------------------------------- 1 | // Top-level build file where you can add configuration options common to all sub-projects/modules. 2 | 3 | plugins { 4 | id("com.android.application") version "8.10.1" apply false 5 | id("com.android.library") version "8.10.1" apply false 6 | id("org.jetbrains.kotlin.android") version "2.1.21" apply false 7 | id("com.google.gms.google-services") version "4.4.2" apply false 8 | } 9 | 10 | allprojects { 11 | repositories { 12 | mavenLocal() 13 | google() 14 | mavenCentral() 15 | } 16 | } 17 | 18 | tasks { 19 | register("clean", Delete::class) { 20 | delete(rootProject.buildDir) 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /dl-invites/gradle.properties: -------------------------------------------------------------------------------- 1 | # Project-wide Gradle settings. 2 | # IDE (e.g. Android Studio) users: 3 | # Gradle settings configured through the IDE *will override* 4 | # any settings specified in this file. 5 | # For more details on how to configure your build environment visit 6 | # http://www.gradle.org/docs/current/userguide/build_environment.html 7 | # Specifies the JVM arguments used for the daemon process. 8 | # The setting is particularly useful for tweaking memory settings. 9 | org.gradle.jvmargs=-Xmx1536m 10 | android.useAndroidX=true 11 | # When configured, Gradle will run in incubating parallel mode. 12 | # This option should only be used with decoupled projects. More details, visit 13 | # http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects 14 | # org.gradle.parallel=true 15 | 16 | 17 | -------------------------------------------------------------------------------- /dl-invites/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/firebase/snippets-android/50e1ce40ab6bdb6b36a582eee50691d0f6d19de2/dl-invites/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /dl-invites/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.12-bin.zip 4 | zipStoreBase=GRADLE_USER_HOME 5 | zipStorePath=wrapper/dists 6 | -------------------------------------------------------------------------------- /dl-invites/screenshots/invite-screen-intent.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/firebase/snippets-android/50e1ce40ab6bdb6b36a582eee50691d0f6d19de2/dl-invites/screenshots/invite-screen-intent.png -------------------------------------------------------------------------------- /dl-invites/screenshots/invite-screen.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/firebase/snippets-android/50e1ce40ab6bdb6b36a582eee50691d0f6d19de2/dl-invites/screenshots/invite-screen.png -------------------------------------------------------------------------------- /dl-invites/screenshots/refer-screen-intent.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/firebase/snippets-android/50e1ce40ab6bdb6b36a582eee50691d0f6d19de2/dl-invites/screenshots/refer-screen-intent.png -------------------------------------------------------------------------------- /dl-invites/screenshots/refer-screen.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/firebase/snippets-android/50e1ce40ab6bdb6b36a582eee50691d0f6d19de2/dl-invites/screenshots/refer-screen.png -------------------------------------------------------------------------------- /dl-invites/settings.gradle.kts: -------------------------------------------------------------------------------- 1 | pluginManagement { 2 | repositories { 3 | google() 4 | mavenCentral() 5 | gradlePluginPortal() 6 | } 7 | } 8 | 9 | include(":app") 10 | -------------------------------------------------------------------------------- /dynamic-links/.gitignore: -------------------------------------------------------------------------------- 1 | *.iml 2 | .gradle 3 | /local.properties 4 | /.idea/workspace.xml 5 | /.idea/libraries 6 | .DS_Store 7 | /build 8 | /captures 9 | -------------------------------------------------------------------------------- /dynamic-links/app/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /dynamic-links/app/proguard-rules.pro: -------------------------------------------------------------------------------- 1 | # Add project specific ProGuard rules here. 2 | # By default, the flags in this file are appended to flags specified 3 | # in /usr/local/google/home/samstern/android-sdk-linux/tools/proguard/proguard-android.txt 4 | # You can edit the include path and order by changing the proguardFiles 5 | # directive in build.gradle.kts. 6 | # 7 | # For more details, see 8 | # http://developer.android.com/guide/developing/tools/proguard.html 9 | 10 | # Add any project specific keep options here: 11 | 12 | # If your project uses WebView with JS, uncomment the following 13 | # and specify the fully qualified class name to the JavaScript interface 14 | # class: 15 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview { 16 | # public *; 17 | #} 18 | -------------------------------------------------------------------------------- /dynamic-links/app/src/main/res/layout/activity_main.xml: -------------------------------------------------------------------------------- 1 | 2 | 9 | 10 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /dynamic-links/app/src/main/res/layout/activity_referral.xml: -------------------------------------------------------------------------------- 1 | 2 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /dynamic-links/app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/firebase/snippets-android/50e1ce40ab6bdb6b36a582eee50691d0f6d19de2/dynamic-links/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /dynamic-links/app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/firebase/snippets-android/50e1ce40ab6bdb6b36a582eee50691d0f6d19de2/dynamic-links/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /dynamic-links/app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/firebase/snippets-android/50e1ce40ab6bdb6b36a582eee50691d0f6d19de2/dynamic-links/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /dynamic-links/app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/firebase/snippets-android/50e1ce40ab6bdb6b36a582eee50691d0f6d19de2/dynamic-links/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /dynamic-links/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/firebase/snippets-android/50e1ce40ab6bdb6b36a582eee50691d0f6d19de2/dynamic-links/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /dynamic-links/app/src/main/res/values-w820dp/dimens.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 64dp 6 | 7 | -------------------------------------------------------------------------------- /dynamic-links/app/src/main/res/values/colors.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | #3F51B5 4 | #303F9F 5 | #FF4081 6 | 7 | -------------------------------------------------------------------------------- /dynamic-links/app/src/main/res/values/dimens.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 16dp 4 | 16dp 5 | 6 | -------------------------------------------------------------------------------- /dynamic-links/app/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | tasks 3 | 4 | -------------------------------------------------------------------------------- /dynamic-links/app/src/main/res/values/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /dynamic-links/build.gradle.kts: -------------------------------------------------------------------------------- 1 | // Top-level build file where you can add configuration options common to all sub-projects/modules. 2 | 3 | plugins { 4 | id("com.android.application") version "8.10.1" apply false 5 | id("com.android.library") version "8.10.1" apply false 6 | id("org.jetbrains.kotlin.android") version "2.1.21" apply false 7 | id("com.google.gms.google-services") version "4.4.2" apply false 8 | } 9 | 10 | allprojects { 11 | repositories { 12 | mavenLocal() 13 | google() 14 | mavenCentral() 15 | } 16 | } 17 | 18 | tasks { 19 | register("clean", Delete::class) { 20 | delete(rootProject.buildDir) 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /dynamic-links/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/firebase/snippets-android/50e1ce40ab6bdb6b36a582eee50691d0f6d19de2/dynamic-links/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /dynamic-links/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.12-bin.zip 4 | zipStoreBase=GRADLE_USER_HOME 5 | zipStorePath=wrapper/dists 6 | -------------------------------------------------------------------------------- /dynamic-links/settings.gradle.kts: -------------------------------------------------------------------------------- 1 | pluginManagement { 2 | repositories { 3 | google() 4 | mavenCentral() 5 | gradlePluginPortal() 6 | } 7 | } 8 | 9 | include(":app") 10 | -------------------------------------------------------------------------------- /firebase-ai/.gitignore: -------------------------------------------------------------------------------- 1 | /build -------------------------------------------------------------------------------- /firebase-ai/src/main/java/com/google/firebase/example/ai/googleai/FirebaseAILogic.kt: -------------------------------------------------------------------------------- 1 | package com.google.firebase.example.ai.googleai 2 | 3 | import com.google.firebase.Firebase 4 | import com.google.firebase.ai.ai 5 | import com.google.firebase.ai.type.GenerativeBackend 6 | 7 | class FirebaseAILogic { 8 | 9 | private fun initialization() { 10 | // [START initialize_googleai_and_model] 11 | // Initialize the Gemini Developer API backend service 12 | // Create a `GenerativeModel` instance with a model that supports your use case 13 | val model = Firebase.ai(backend = GenerativeBackend.googleAI()) 14 | .generativeModel("gemini-2.0-flash") 15 | // [END initialize_googleai_and_model] 16 | } 17 | 18 | 19 | } 20 | -------------------------------------------------------------------------------- /firebase-ai/src/main/java/com/google/firebase/example/ai/ui/theme/Color.kt: -------------------------------------------------------------------------------- 1 | package com.google.firebase.example.ai.ui.theme 2 | 3 | import androidx.compose.ui.graphics.Color 4 | 5 | val Purple80 = Color(0xFFD0BCFF) 6 | val PurpleGrey80 = Color(0xFFCCC2DC) 7 | val Pink80 = Color(0xFFEFB8C8) 8 | 9 | val Purple40 = Color(0xFF6650a4) 10 | val PurpleGrey40 = Color(0xFF625b71) 11 | val Pink40 = Color(0xFF7D5260) -------------------------------------------------------------------------------- /firebase-ai/src/main/java/com/google/firebase/example/ai/vertexai/FirebaseAILogic.kt: -------------------------------------------------------------------------------- 1 | package com.google.firebase.example.ai.vertexai 2 | 3 | import com.google.firebase.Firebase 4 | import com.google.firebase.ai.ai 5 | import com.google.firebase.ai.type.GenerativeBackend 6 | 7 | class FirebaseAILogic { 8 | 9 | private fun initialization() { 10 | // [START initialize_vertexai_and_model] 11 | // Initialize the Vertex AI Gemini API backend service 12 | // Create a `GenerativeModel` instance with a model that supports your use case 13 | val model = Firebase.ai(backend = GenerativeBackend.vertexAI()) 14 | .generativeModel("gemini-2.0-flash") 15 | // [END initialize_vertexai_and_model] 16 | } 17 | 18 | } 19 | -------------------------------------------------------------------------------- /firebase-ai/src/main/res/mipmap-anydpi-v26/ic_launcher.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /firebase-ai/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /firebase-ai/src/main/res/mipmap-hdpi/ic_launcher.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/firebase/snippets-android/50e1ce40ab6bdb6b36a582eee50691d0f6d19de2/firebase-ai/src/main/res/mipmap-hdpi/ic_launcher.webp -------------------------------------------------------------------------------- /firebase-ai/src/main/res/mipmap-hdpi/ic_launcher_round.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/firebase/snippets-android/50e1ce40ab6bdb6b36a582eee50691d0f6d19de2/firebase-ai/src/main/res/mipmap-hdpi/ic_launcher_round.webp -------------------------------------------------------------------------------- /firebase-ai/src/main/res/mipmap-mdpi/ic_launcher.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/firebase/snippets-android/50e1ce40ab6bdb6b36a582eee50691d0f6d19de2/firebase-ai/src/main/res/mipmap-mdpi/ic_launcher.webp -------------------------------------------------------------------------------- /firebase-ai/src/main/res/mipmap-mdpi/ic_launcher_round.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/firebase/snippets-android/50e1ce40ab6bdb6b36a582eee50691d0f6d19de2/firebase-ai/src/main/res/mipmap-mdpi/ic_launcher_round.webp -------------------------------------------------------------------------------- /firebase-ai/src/main/res/mipmap-xhdpi/ic_launcher.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/firebase/snippets-android/50e1ce40ab6bdb6b36a582eee50691d0f6d19de2/firebase-ai/src/main/res/mipmap-xhdpi/ic_launcher.webp -------------------------------------------------------------------------------- /firebase-ai/src/main/res/mipmap-xhdpi/ic_launcher_round.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/firebase/snippets-android/50e1ce40ab6bdb6b36a582eee50691d0f6d19de2/firebase-ai/src/main/res/mipmap-xhdpi/ic_launcher_round.webp -------------------------------------------------------------------------------- /firebase-ai/src/main/res/mipmap-xxhdpi/ic_launcher.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/firebase/snippets-android/50e1ce40ab6bdb6b36a582eee50691d0f6d19de2/firebase-ai/src/main/res/mipmap-xxhdpi/ic_launcher.webp -------------------------------------------------------------------------------- /firebase-ai/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/firebase/snippets-android/50e1ce40ab6bdb6b36a582eee50691d0f6d19de2/firebase-ai/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp -------------------------------------------------------------------------------- /firebase-ai/src/main/res/mipmap-xxxhdpi/ic_launcher.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/firebase/snippets-android/50e1ce40ab6bdb6b36a582eee50691d0f6d19de2/firebase-ai/src/main/res/mipmap-xxxhdpi/ic_launcher.webp -------------------------------------------------------------------------------- /firebase-ai/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/firebase/snippets-android/50e1ce40ab6bdb6b36a582eee50691d0f6d19de2/firebase-ai/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp -------------------------------------------------------------------------------- /firebase-ai/src/main/res/values/colors.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | #FFBB86FC 4 | #FF6200EE 5 | #FF3700B3 6 | #FF03DAC5 7 | #FF018786 8 | #FF000000 9 | #FFFFFFFF 10 | -------------------------------------------------------------------------------- /firebase-ai/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | firebase-ai 3 | -------------------------------------------------------------------------------- /firebase-ai/src/main/res/values/themes.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /firebaseoptions/build.gradle.kts: -------------------------------------------------------------------------------- 1 | // Top-level build file where you can add configuration options common to all sub-projects/modules. 2 | 3 | plugins { 4 | id("com.android.application") version "8.10.1" apply false 5 | id("com.android.library") version "8.10.1" apply false 6 | id("org.jetbrains.kotlin.android") version "2.1.21" apply false 7 | id("com.google.gms.google-services") version "4.4.2" apply false 8 | } 9 | 10 | allprojects { 11 | repositories { 12 | mavenLocal() 13 | google() 14 | mavenCentral() 15 | } 16 | } 17 | 18 | tasks { 19 | register("clean", Delete::class) { 20 | delete(rootProject.buildDir) 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /firebaseoptions/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/firebase/snippets-android/50e1ce40ab6bdb6b36a582eee50691d0f6d19de2/firebaseoptions/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /firebaseoptions/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.12-bin.zip 4 | zipStoreBase=GRADLE_USER_HOME 5 | zipStorePath=wrapper/dists 6 | -------------------------------------------------------------------------------- /firebaseoptions/settings.gradle.kts: -------------------------------------------------------------------------------- 1 | pluginManagement { 2 | repositories { 3 | google() 4 | mavenCentral() 5 | gradlePluginPortal() 6 | } 7 | } 8 | 9 | include(":app") 10 | -------------------------------------------------------------------------------- /firestore/.gitignore: -------------------------------------------------------------------------------- 1 | *.iml 2 | .gradle 3 | /local.properties 4 | /.idea/workspace.xml 5 | /.idea/libraries 6 | .DS_Store 7 | /build 8 | /captures 9 | .externalNativeBuild 10 | -------------------------------------------------------------------------------- /firestore/app/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /firestore/app/src/main/java/com/google/example/firestore/kotlin/EmulatorSuite.kt: -------------------------------------------------------------------------------- 1 | package com.google.example.firestore.kotlin 2 | 3 | import com.google.firebase.firestore.firestore 4 | import com.google.firebase.firestore.firestoreSettings 5 | import com.google.firebase.Firebase 6 | 7 | class EmulatorSuite { 8 | 9 | fun emulatorSettings() { 10 | // [START fs_emulator_connect] 11 | // 10.0.2.2 is the special IP address to connect to the 'localhost' of 12 | // the host computer from an Android emulator. 13 | val firestore = Firebase.firestore 14 | firestore.useEmulator("10.0.2.2", 8080) 15 | 16 | firestore.firestoreSettings = firestoreSettings { 17 | isPersistenceEnabled = false 18 | } 19 | // [END fs_emulator_connect] 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /firestore/app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/firebase/snippets-android/50e1ce40ab6bdb6b36a582eee50691d0f6d19de2/firestore/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /firestore/app/src/main/res/mipmap-hdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/firebase/snippets-android/50e1ce40ab6bdb6b36a582eee50691d0f6d19de2/firestore/app/src/main/res/mipmap-hdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /firestore/app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/firebase/snippets-android/50e1ce40ab6bdb6b36a582eee50691d0f6d19de2/firestore/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /firestore/app/src/main/res/mipmap-mdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/firebase/snippets-android/50e1ce40ab6bdb6b36a582eee50691d0f6d19de2/firestore/app/src/main/res/mipmap-mdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /firestore/app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/firebase/snippets-android/50e1ce40ab6bdb6b36a582eee50691d0f6d19de2/firestore/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /firestore/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/firebase/snippets-android/50e1ce40ab6bdb6b36a582eee50691d0f6d19de2/firestore/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /firestore/app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/firebase/snippets-android/50e1ce40ab6bdb6b36a582eee50691d0f6d19de2/firestore/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /firestore/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/firebase/snippets-android/50e1ce40ab6bdb6b36a582eee50691d0f6d19de2/firestore/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /firestore/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/firebase/snippets-android/50e1ce40ab6bdb6b36a582eee50691d0f6d19de2/firestore/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /firestore/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/firebase/snippets-android/50e1ce40ab6bdb6b36a582eee50691d0f6d19de2/firestore/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /firestore/app/src/main/res/values/colors.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | #3F51B5 4 | #303F9F 5 | #FF4081 6 | 7 | -------------------------------------------------------------------------------- /firestore/app/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | firestore 3 | 4 | -------------------------------------------------------------------------------- /firestore/app/src/main/res/values/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /firestore/build.gradle.kts: -------------------------------------------------------------------------------- 1 | // Top-level build file where you can add configuration options common to all sub-projects/modules. 2 | 3 | plugins { 4 | id("com.android.application") version "8.10.1" apply false 5 | id("com.android.library") version "8.10.1" apply false 6 | id("org.jetbrains.kotlin.android") version "2.1.21" apply false 7 | id("com.google.gms.google-services") version "4.4.2" apply false 8 | } 9 | 10 | allprojects { 11 | repositories { 12 | mavenLocal() 13 | google() 14 | mavenCentral() 15 | } 16 | } 17 | 18 | tasks { 19 | register("clean", Delete::class) { 20 | delete(rootProject.buildDir) 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /firestore/gradle.properties: -------------------------------------------------------------------------------- 1 | # Project-wide Gradle settings. 2 | 3 | # IDE (e.g. Android Studio) users: 4 | # Gradle settings configured through the IDE *will override* 5 | # any settings specified in this file. 6 | 7 | # For more details on how to configure your build environment visit 8 | # http://www.gradle.org/docs/current/userguide/build_environment.html 9 | 10 | # Specifies the JVM arguments used for the daemon process. 11 | # The setting is particularly useful for tweaking memory settings. 12 | org.gradle.jvmargs=-Xmx1536m 13 | android.useAndroidX=true 14 | 15 | # When configured, Gradle will run in incubating parallel mode. 16 | # This option should only be used with decoupled projects. More details, visit 17 | # http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects 18 | # org.gradle.parallel=true 19 | -------------------------------------------------------------------------------- /firestore/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/firebase/snippets-android/50e1ce40ab6bdb6b36a582eee50691d0f6d19de2/firestore/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /firestore/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | #Wed May 17 13:55:25 PDT 2023 2 | distributionBase=GRADLE_USER_HOME 3 | distributionPath=wrapper/dists 4 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.12-bin.zip 5 | zipStoreBase=GRADLE_USER_HOME 6 | zipStorePath=wrapper/dists 7 | -------------------------------------------------------------------------------- /firestore/settings.gradle.kts: -------------------------------------------------------------------------------- 1 | pluginManagement { 2 | repositories { 3 | google() 4 | mavenCentral() 5 | gradlePluginPortal() 6 | } 7 | } 8 | 9 | include(":app") 10 | -------------------------------------------------------------------------------- /functions/.gitignore: -------------------------------------------------------------------------------- 1 | *.iml 2 | .gradle 3 | /local.properties 4 | /.idea/workspace.xml 5 | /.idea/libraries 6 | .DS_Store 7 | /build 8 | /captures 9 | .externalNativeBuild 10 | -------------------------------------------------------------------------------- /functions/app/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /functions/app/proguard-rules.pro: -------------------------------------------------------------------------------- 1 | # Add project specific ProGuard rules here. 2 | # By default, the flags in this file are appended to flags specified 3 | # in /Users/ianbarber/Library/Android/sdk/tools/proguard/proguard-android.txt 4 | # You can edit the include path and order by changing the proguardFiles 5 | # directive in build.gradle.kts. 6 | # 7 | # For more details, see 8 | # http://developer.android.com/guide/developing/tools/proguard.html 9 | 10 | # Add any project specific keep options here: 11 | 12 | # If your project uses WebView with JS, uncomment the following 13 | # and specify the fully qualified class name to the JavaScript interface 14 | # class: 15 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview { 16 | # public *; 17 | #} 18 | -------------------------------------------------------------------------------- /functions/app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/firebase/snippets-android/50e1ce40ab6bdb6b36a582eee50691d0f6d19de2/functions/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /functions/app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/firebase/snippets-android/50e1ce40ab6bdb6b36a582eee50691d0f6d19de2/functions/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /functions/app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/firebase/snippets-android/50e1ce40ab6bdb6b36a582eee50691d0f6d19de2/functions/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /functions/app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/firebase/snippets-android/50e1ce40ab6bdb6b36a582eee50691d0f6d19de2/functions/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /functions/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/firebase/snippets-android/50e1ce40ab6bdb6b36a582eee50691d0f6d19de2/functions/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /functions/app/src/main/res/values-w820dp/dimens.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 64dp 6 | 7 | -------------------------------------------------------------------------------- /functions/app/src/main/res/values/colors.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | #3F51B5 4 | #303F9F 5 | #FF4081 6 | 7 | -------------------------------------------------------------------------------- /functions/app/src/main/res/values/dimens.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 16dp 4 | 16dp 5 | 6 | -------------------------------------------------------------------------------- /functions/app/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | Firebase Options 3 | 4 | -------------------------------------------------------------------------------- /functions/app/src/main/res/values/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /functions/build.gradle.kts: -------------------------------------------------------------------------------- 1 | // Top-level build file where you can add configuration options common to all sub-projects/modules. 2 | 3 | plugins { 4 | id("com.android.application") version "8.10.1" apply false 5 | id("com.android.library") version "8.10.1" apply false 6 | id("org.jetbrains.kotlin.android") version "2.1.21" apply false 7 | id("com.google.gms.google-services") version "4.4.2" apply false 8 | } 9 | 10 | allprojects { 11 | repositories { 12 | mavenLocal() 13 | google() 14 | mavenCentral() 15 | } 16 | } 17 | 18 | tasks { 19 | register("clean", Delete::class) { 20 | delete(rootProject.buildDir) 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /functions/gradle.properties: -------------------------------------------------------------------------------- 1 | # Project-wide Gradle settings. 2 | 3 | # IDE (e.g. Android Studio) users: 4 | # Gradle settings configured through the IDE *will override* 5 | # any settings specified in this file. 6 | 7 | # For more details on how to configure your build environment visit 8 | # http://www.gradle.org/docs/current/userguide/build_environment.html 9 | 10 | # Specifies the JVM arguments used for the daemon process. 11 | # The setting is particularly useful for tweaking memory settings. 12 | org.gradle.jvmargs=-Xmx1536m 13 | android.useAndroidX=true 14 | 15 | # When configured, Gradle will run in incubating parallel mode. 16 | # This option should only be used with decoupled projects. More details, visit 17 | # http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects 18 | # org.gradle.parallel=true 19 | -------------------------------------------------------------------------------- /functions/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/firebase/snippets-android/50e1ce40ab6bdb6b36a582eee50691d0f6d19de2/functions/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /functions/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.12-bin.zip 4 | zipStoreBase=GRADLE_USER_HOME 5 | zipStorePath=wrapper/dists 6 | -------------------------------------------------------------------------------- /functions/settings.gradle.kts: -------------------------------------------------------------------------------- 1 | pluginManagement { 2 | repositories { 3 | google() 4 | mavenCentral() 5 | gradlePluginPortal() 6 | } 7 | } 8 | 9 | include(":app") 10 | -------------------------------------------------------------------------------- /gradle.properties: -------------------------------------------------------------------------------- 1 | org.gradle.jvmargs=-Xmx6g -XX:MaxMetaspaceSize=6g -XX:ReservedCodeCacheSize=2g -Dfile.encoding=UTF-8 2 | org.gradle.parallel=true 3 | org.gradle.configureondemand=true 4 | org.gradle.caching=true 5 | 6 | android.enableJetifier=true 7 | android.useAndroidX=true 8 | android.defaults.buildfeatures.buildconfig=true 9 | android.nonTransitiveRClass=false 10 | android.nonFinalResIds=false 11 | -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/firebase/snippets-android/50e1ce40ab6bdb6b36a582eee50691d0f6d19de2/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.12-bin.zip 4 | zipStoreBase=GRADLE_USER_HOME 5 | zipStorePath=wrapper/dists 6 | -------------------------------------------------------------------------------- /inappmessaging/.gitignore: -------------------------------------------------------------------------------- 1 | *.iml 2 | .gradle 3 | /local.properties 4 | /.idea/workspace.xml 5 | /.idea/libraries 6 | .DS_Store 7 | /build 8 | /captures 9 | .externalNativeBuild 10 | -------------------------------------------------------------------------------- /inappmessaging/app/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /inappmessaging/app/lint.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /inappmessaging/app/proguard-rules.pro: -------------------------------------------------------------------------------- 1 | # Add project specific ProGuard rules here. 2 | # By default, the flags in this file are appended to flags specified 3 | # in /Users/ianbarber/Library/Android/sdk/tools/proguard/proguard-android.txt 4 | # You can edit the include path and order by changing the proguardFiles 5 | # directive in build.gradle.kts. 6 | # 7 | # For more details, see 8 | # http://developer.android.com/guide/developing/tools/proguard.html 9 | 10 | # Add any project specific keep options here: 11 | 12 | # If your project uses WebView with JS, uncomment the following 13 | # and specify the fully qualified class name to the JavaScript interface 14 | # class: 15 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview { 16 | # public *; 17 | #} 18 | -------------------------------------------------------------------------------- /inappmessaging/app/src/main/java/com/google/firebase/example/inappmessaging/kotlin/MyClickListener.kt: -------------------------------------------------------------------------------- 1 | package com.google.firebase.example.inappmessaging.kotlin 2 | 3 | import com.google.firebase.inappmessaging.FirebaseInAppMessagingClickListener 4 | import com.google.firebase.inappmessaging.model.Action 5 | import com.google.firebase.inappmessaging.model.InAppMessage 6 | 7 | // [START fiam_click_listener] 8 | class MyClickListener : FirebaseInAppMessagingClickListener { 9 | 10 | override fun messageClicked(inAppMessage: InAppMessage, action: Action) { 11 | // Determine which URL the user clicked 12 | val url = action.actionUrl 13 | 14 | // Get general information about the campaign 15 | val metadata = inAppMessage.campaignMetadata 16 | 17 | // ... 18 | } 19 | } 20 | // [END fiam_click_listener] 21 | -------------------------------------------------------------------------------- /inappmessaging/app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/firebase/snippets-android/50e1ce40ab6bdb6b36a582eee50691d0f6d19de2/inappmessaging/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /inappmessaging/app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/firebase/snippets-android/50e1ce40ab6bdb6b36a582eee50691d0f6d19de2/inappmessaging/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /inappmessaging/app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/firebase/snippets-android/50e1ce40ab6bdb6b36a582eee50691d0f6d19de2/inappmessaging/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /inappmessaging/app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/firebase/snippets-android/50e1ce40ab6bdb6b36a582eee50691d0f6d19de2/inappmessaging/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /inappmessaging/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/firebase/snippets-android/50e1ce40ab6bdb6b36a582eee50691d0f6d19de2/inappmessaging/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /inappmessaging/app/src/main/res/values-w820dp/dimens.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 64dp 6 | 7 | -------------------------------------------------------------------------------- /inappmessaging/app/src/main/res/values/colors.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | #3F51B5 4 | #303F9F 5 | #FF4081 6 | 7 | -------------------------------------------------------------------------------- /inappmessaging/app/src/main/res/values/dimens.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 16dp 4 | 16dp 5 | 6 | -------------------------------------------------------------------------------- /inappmessaging/app/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | Firebase In App Messaging 3 | 4 | -------------------------------------------------------------------------------- /inappmessaging/app/src/main/res/values/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /inappmessaging/build.gradle.kts: -------------------------------------------------------------------------------- 1 | // Top-level build file where you can add configuration options common to all sub-projects/modules. 2 | 3 | plugins { 4 | id("com.android.application") version "8.10.1" apply false 5 | id("com.android.library") version "8.10.1" apply false 6 | id("org.jetbrains.kotlin.android") version "2.1.21" apply false 7 | id("com.google.gms.google-services") version "4.4.2" apply false 8 | } 9 | 10 | allprojects { 11 | repositories { 12 | mavenLocal() 13 | google() 14 | mavenCentral() 15 | } 16 | } 17 | 18 | tasks { 19 | register("clean", Delete::class) { 20 | delete(rootProject.buildDir) 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /inappmessaging/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/firebase/snippets-android/50e1ce40ab6bdb6b36a582eee50691d0f6d19de2/inappmessaging/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /inappmessaging/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.12-bin.zip 4 | zipStoreBase=GRADLE_USER_HOME 5 | zipStorePath=wrapper/dists 6 | -------------------------------------------------------------------------------- /inappmessaging/settings.gradle.kts: -------------------------------------------------------------------------------- 1 | pluginManagement { 2 | repositories { 3 | google() 4 | mavenCentral() 5 | gradlePluginPortal() 6 | } 7 | } 8 | 9 | include(":app") 10 | -------------------------------------------------------------------------------- /installations/.gitignore: -------------------------------------------------------------------------------- 1 | *.iml 2 | .gradle 3 | /local.properties 4 | /.idea/caches 5 | /.idea/libraries 6 | /.idea/modules.xml 7 | /.idea/workspace.xml 8 | /.idea/navEditor.xml 9 | /.idea/assetWizardSettings.xml 10 | .DS_Store 11 | /build 12 | /captures 13 | .externalNativeBuild 14 | .cxx 15 | -------------------------------------------------------------------------------- /installations/app/.gitignore: -------------------------------------------------------------------------------- 1 | /build -------------------------------------------------------------------------------- /installations/app/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 11 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | -------------------------------------------------------------------------------- /installations/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /installations/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /installations/app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/firebase/snippets-android/50e1ce40ab6bdb6b36a582eee50691d0f6d19de2/installations/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /installations/app/src/main/res/mipmap-hdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/firebase/snippets-android/50e1ce40ab6bdb6b36a582eee50691d0f6d19de2/installations/app/src/main/res/mipmap-hdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /installations/app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/firebase/snippets-android/50e1ce40ab6bdb6b36a582eee50691d0f6d19de2/installations/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /installations/app/src/main/res/mipmap-mdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/firebase/snippets-android/50e1ce40ab6bdb6b36a582eee50691d0f6d19de2/installations/app/src/main/res/mipmap-mdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /installations/app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/firebase/snippets-android/50e1ce40ab6bdb6b36a582eee50691d0f6d19de2/installations/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /installations/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/firebase/snippets-android/50e1ce40ab6bdb6b36a582eee50691d0f6d19de2/installations/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /installations/app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/firebase/snippets-android/50e1ce40ab6bdb6b36a582eee50691d0f6d19de2/installations/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /installations/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/firebase/snippets-android/50e1ce40ab6bdb6b36a582eee50691d0f6d19de2/installations/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /installations/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/firebase/snippets-android/50e1ce40ab6bdb6b36a582eee50691d0f6d19de2/installations/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /installations/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/firebase/snippets-android/50e1ce40ab6bdb6b36a582eee50691d0f6d19de2/installations/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /installations/app/src/main/res/values/colors.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | #6200EE 4 | #3700B3 5 | #03DAC5 6 | -------------------------------------------------------------------------------- /installations/app/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | My Application 3 | -------------------------------------------------------------------------------- /installations/app/src/main/res/values/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 9 | 10 | -------------------------------------------------------------------------------- /installations/build.gradle.kts: -------------------------------------------------------------------------------- 1 | // Top-level build file where you can add configuration options common to all sub-projects/modules. 2 | plugins { 3 | id("com.android.application") version "8.10.1" apply false 4 | id("com.android.library") version "8.10.1" apply false 5 | id("org.jetbrains.kotlin.android") version "2.1.21" apply false 6 | id("com.google.gms.google-services") version "4.4.2" apply false 7 | } 8 | 9 | allprojects { 10 | repositories { 11 | mavenLocal() 12 | google() 13 | mavenCentral() 14 | } 15 | } 16 | 17 | tasks { 18 | register("clean", Delete::class) { 19 | delete(rootProject.buildDir) 20 | } 21 | } -------------------------------------------------------------------------------- /installations/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/firebase/snippets-android/50e1ce40ab6bdb6b36a582eee50691d0f6d19de2/installations/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /installations/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | #Mon Jun 22 16:09:34 PDT 2020 2 | distributionBase=GRADLE_USER_HOME 3 | distributionPath=wrapper/dists 4 | zipStoreBase=GRADLE_USER_HOME 5 | zipStorePath=wrapper/dists 6 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.12-bin.zip 7 | -------------------------------------------------------------------------------- /installations/settings.gradle.kts: -------------------------------------------------------------------------------- 1 | pluginManagement { 2 | repositories { 3 | google() 4 | mavenCentral() 5 | gradlePluginPortal() 6 | } 7 | } 8 | 9 | include(":app") 10 | rootProject.name = "My Application" -------------------------------------------------------------------------------- /messaging/.gitignore: -------------------------------------------------------------------------------- 1 | *.iml 2 | .gradle 3 | /local.properties 4 | /.idea/workspace.xml 5 | /.idea/libraries 6 | .DS_Store 7 | /build 8 | /captures 9 | .externalNativeBuild 10 | -------------------------------------------------------------------------------- /messaging/app/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /messaging/app/proguard-rules.pro: -------------------------------------------------------------------------------- 1 | # Add project specific ProGuard rules here. 2 | # By default, the flags in this file are appended to flags specified 3 | # in /Users/ianbarber/Library/Android/sdk/tools/proguard/proguard-android.txt 4 | # You can edit the include path and order by changing the proguardFiles 5 | # directive in build.gradle.kts. 6 | # 7 | # For more details, see 8 | # http://developer.android.com/guide/developing/tools/proguard.html 9 | 10 | # Add any project specific keep options here: 11 | 12 | # If your project uses WebView with JS, uncomment the following 13 | # and specify the fully qualified class name to the JavaScript interface 14 | # class: 15 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview { 16 | # public *; 17 | #} 18 | -------------------------------------------------------------------------------- /messaging/app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/firebase/snippets-android/50e1ce40ab6bdb6b36a582eee50691d0f6d19de2/messaging/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /messaging/app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/firebase/snippets-android/50e1ce40ab6bdb6b36a582eee50691d0f6d19de2/messaging/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /messaging/app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/firebase/snippets-android/50e1ce40ab6bdb6b36a582eee50691d0f6d19de2/messaging/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /messaging/app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/firebase/snippets-android/50e1ce40ab6bdb6b36a582eee50691d0f6d19de2/messaging/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /messaging/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/firebase/snippets-android/50e1ce40ab6bdb6b36a582eee50691d0f6d19de2/messaging/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /messaging/app/src/main/res/values-w820dp/dimens.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 64dp 6 | 7 | -------------------------------------------------------------------------------- /messaging/app/src/main/res/values/colors.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | #3F51B5 4 | #303F9F 5 | #FF4081 6 | 7 | -------------------------------------------------------------------------------- /messaging/app/src/main/res/values/dimens.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 16dp 4 | 16dp 5 | 6 | -------------------------------------------------------------------------------- /messaging/app/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | Firebase Options 3 | 4 | -------------------------------------------------------------------------------- /messaging/app/src/main/res/values/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /messaging/build.gradle.kts: -------------------------------------------------------------------------------- 1 | // Top-level build file where you can add configuration options common to all sub-projects/modules. 2 | 3 | plugins { 4 | id("com.android.application") version "8.10.1" apply false 5 | id("com.android.library") version "8.10.1" apply false 6 | id("org.jetbrains.kotlin.android") version "2.1.21" apply false 7 | id("com.google.gms.google-services") version "4.4.2" apply false 8 | } 9 | 10 | allprojects { 11 | repositories { 12 | mavenLocal() 13 | google() 14 | mavenCentral() 15 | } 16 | } 17 | 18 | tasks { 19 | register("clean", Delete::class) { 20 | delete(rootProject.buildDir) 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /messaging/gradle.properties: -------------------------------------------------------------------------------- 1 | # Project-wide Gradle settings. 2 | 3 | # IDE (e.g. Android Studio) users: 4 | # Gradle settings configured through the IDE *will override* 5 | # any settings specified in this file. 6 | 7 | # For more details on how to configure your build environment visit 8 | # http://www.gradle.org/docs/current/userguide/build_environment.html 9 | 10 | # Specifies the JVM arguments used for the daemon process. 11 | # The setting is particularly useful for tweaking memory settings. 12 | org.gradle.jvmargs=-Xmx1536m 13 | android.useAndroidX=true 14 | 15 | # When configured, Gradle will run in incubating parallel mode. 16 | # This option should only be used with decoupled projects. More details, visit 17 | # http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects 18 | # org.gradle.parallel=true 19 | -------------------------------------------------------------------------------- /messaging/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/firebase/snippets-android/50e1ce40ab6bdb6b36a582eee50691d0f6d19de2/messaging/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /messaging/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.12-bin.zip 4 | zipStoreBase=GRADLE_USER_HOME 5 | zipStorePath=wrapper/dists 6 | -------------------------------------------------------------------------------- /messaging/settings.gradle.kts: -------------------------------------------------------------------------------- 1 | pluginManagement { 2 | repositories { 3 | google() 4 | mavenCentral() 5 | gradlePluginPortal() 6 | } 7 | } 8 | 9 | include(":app") 10 | -------------------------------------------------------------------------------- /ml-functions/.gitignore: -------------------------------------------------------------------------------- 1 | .gradle 2 | local.properties 3 | .idea 4 | build/ 5 | .DS_Store 6 | *.iml 7 | *.apk 8 | *.aar 9 | *.zip 10 | google-services.json 11 | 12 | .project 13 | .settings 14 | .classpath 15 | .vscode -------------------------------------------------------------------------------- /ml-functions/app/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /ml-functions/app/proguard-rules.pro: -------------------------------------------------------------------------------- 1 | # Add project specific ProGuard rules here. 2 | # By default, the flags in this file are appended to flags specified 3 | # in /Users/ianbarber/Library/Android/sdk/tools/proguard/proguard-android.txt 4 | # You can edit the include path and order by changing the proguardFiles 5 | # directive in build.gradle.kts 6 | # 7 | # For more details, see 8 | # http://developer.android.com/guide/developing/tools/proguard.html 9 | 10 | # Add any project specific keep options here: 11 | 12 | # If your project uses WebView with JS, uncomment the following 13 | # and specify the fully qualified class name to the JavaScript interface 14 | # class: 15 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview { 16 | # public *; 17 | #} 18 | -------------------------------------------------------------------------------- /ml-functions/app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/firebase/snippets-android/50e1ce40ab6bdb6b36a582eee50691d0f6d19de2/ml-functions/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /ml-functions/app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/firebase/snippets-android/50e1ce40ab6bdb6b36a582eee50691d0f6d19de2/ml-functions/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /ml-functions/app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/firebase/snippets-android/50e1ce40ab6bdb6b36a582eee50691d0f6d19de2/ml-functions/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /ml-functions/app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/firebase/snippets-android/50e1ce40ab6bdb6b36a582eee50691d0f6d19de2/ml-functions/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /ml-functions/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/firebase/snippets-android/50e1ce40ab6bdb6b36a582eee50691d0f6d19de2/ml-functions/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /ml-functions/app/src/main/res/values-w820dp/dimens.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 64dp 6 | 7 | -------------------------------------------------------------------------------- /ml-functions/app/src/main/res/values/colors.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | #3F51B5 4 | #303F9F 5 | #FF4081 6 | 7 | -------------------------------------------------------------------------------- /ml-functions/app/src/main/res/values/dimens.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 16dp 4 | 16dp 5 | 6 | -------------------------------------------------------------------------------- /ml-functions/app/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | Firebase Options 3 | 4 | -------------------------------------------------------------------------------- /ml-functions/app/src/main/res/values/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /ml-functions/build.gradle.kts: -------------------------------------------------------------------------------- 1 | // Top-level build file where you can add configuration options common to all sub-projects/modules. 2 | 3 | plugins { 4 | id("com.android.application") version "8.10.1" apply false 5 | id("com.android.library") version "8.10.1" apply false 6 | id("org.jetbrains.kotlin.android") version "2.1.21" apply false 7 | id("com.google.gms.google-services") version "4.4.2" apply false 8 | } 9 | 10 | allprojects { 11 | repositories { 12 | mavenLocal() 13 | google() 14 | mavenCentral() 15 | } 16 | } 17 | 18 | tasks { 19 | register("clean", Delete::class) { 20 | delete(rootProject.buildDir) 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /ml-functions/gradle.properties: -------------------------------------------------------------------------------- 1 | # Project-wide Gradle settings. 2 | 3 | # IDE (e.g. Android Studio) users: 4 | # Gradle settings configured through the IDE *will override* 5 | # any settings specified in this file. 6 | 7 | # For more details on how to configure your build environment visit 8 | # http://www.gradle.org/docs/current/userguide/build_environment.html 9 | 10 | # Specifies the JVM arguments used for the daemon process. 11 | # The setting is particularly useful for tweaking memory settings. 12 | org.gradle.jvmargs=-Xmx1536m 13 | 14 | # When configured, Gradle will run in incubating parallel mode. 15 | # This option should only be used with decoupled projects. More details, visit 16 | # http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects 17 | # org.gradle.parallel=true 18 | android.useAndroidX=true -------------------------------------------------------------------------------- /ml-functions/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/firebase/snippets-android/50e1ce40ab6bdb6b36a582eee50691d0f6d19de2/ml-functions/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /ml-functions/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | #Wed Jan 13 06:32:42 EST 2021 2 | distributionBase=GRADLE_USER_HOME 3 | distributionPath=wrapper/dists 4 | zipStoreBase=GRADLE_USER_HOME 5 | zipStorePath=wrapper/dists 6 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.12-bin.zip 7 | -------------------------------------------------------------------------------- /ml-functions/settings.gradle.kts: -------------------------------------------------------------------------------- 1 | pluginManagement { 2 | repositories { 3 | google() 4 | mavenCentral() 5 | gradlePluginPortal() 6 | } 7 | } 8 | 9 | include(":app") 10 | -------------------------------------------------------------------------------- /mlkit/.gitignore: -------------------------------------------------------------------------------- 1 | *.iml 2 | .gradle 3 | /local.properties 4 | /.idea/workspace.xml 5 | /.idea/libraries 6 | .DS_Store 7 | /build 8 | /captures 9 | .externalNativeBuild 10 | -------------------------------------------------------------------------------- /mlkit/app/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /mlkit/app/proguard-rules.pro: -------------------------------------------------------------------------------- 1 | # Add project specific ProGuard rules here. 2 | # By default, the flags in this file are appended to flags specified 3 | # in /Users/ianbarber/Library/Android/sdk/tools/proguard/proguard-android.txt 4 | # You can edit the include path and order by changing the proguardFiles 5 | # directive in build.gradle.kts. 6 | # 7 | # For more details, see 8 | # http://developer.android.com/guide/developing/tools/proguard.html 9 | 10 | # Add any project specific keep options here: 11 | 12 | # If your project uses WebView with JS, uncomment the following 13 | # and specify the fully qualified class name to the JavaScript interface 14 | # class: 15 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview { 16 | # public *; 17 | #} 18 | -------------------------------------------------------------------------------- /mlkit/app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/firebase/snippets-android/50e1ce40ab6bdb6b36a582eee50691d0f6d19de2/mlkit/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /mlkit/app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/firebase/snippets-android/50e1ce40ab6bdb6b36a582eee50691d0f6d19de2/mlkit/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /mlkit/app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/firebase/snippets-android/50e1ce40ab6bdb6b36a582eee50691d0f6d19de2/mlkit/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /mlkit/app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/firebase/snippets-android/50e1ce40ab6bdb6b36a582eee50691d0f6d19de2/mlkit/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /mlkit/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/firebase/snippets-android/50e1ce40ab6bdb6b36a582eee50691d0f6d19de2/mlkit/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /mlkit/app/src/main/res/values-w820dp/dimens.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 64dp 6 | 7 | -------------------------------------------------------------------------------- /mlkit/app/src/main/res/values/colors.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | #3F51B5 4 | #303F9F 5 | #FF4081 6 | 7 | -------------------------------------------------------------------------------- /mlkit/app/src/main/res/values/dimens.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 16dp 4 | 16dp 5 | 6 | -------------------------------------------------------------------------------- /mlkit/app/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | Firebase Options 3 | 4 | -------------------------------------------------------------------------------- /mlkit/app/src/main/res/values/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /mlkit/build.gradle.kts: -------------------------------------------------------------------------------- 1 | // Top-level build file where you can add configuration options common to all sub-projects/modules. 2 | 3 | plugins { 4 | id("com.android.application") version "8.10.1" apply false 5 | id("com.android.library") version "8.10.1" apply false 6 | id("org.jetbrains.kotlin.android") version "2.1.21" apply false 7 | id("com.google.gms.google-services") version "4.4.2" apply false 8 | } 9 | 10 | allprojects { 11 | repositories { 12 | mavenLocal() 13 | google() 14 | mavenCentral() 15 | } 16 | } 17 | 18 | tasks { 19 | register("clean", Delete::class) { 20 | delete(rootProject.buildDir) 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /mlkit/gradle.properties: -------------------------------------------------------------------------------- 1 | # Project-wide Gradle settings. 2 | 3 | # IDE (e.g. Android Studio) users: 4 | # Gradle settings configured through the IDE *will override* 5 | # any settings specified in this file. 6 | 7 | # For more details on how to configure your build environment visit 8 | # http://www.gradle.org/docs/current/userguide/build_environment.html 9 | 10 | # Specifies the JVM arguments used for the daemon process. 11 | # The setting is particularly useful for tweaking memory settings. 12 | org.gradle.jvmargs=-Xmx1536m 13 | android.useAndroidX=true 14 | # When configured, Gradle will run in incubating parallel mode. 15 | # This option should only be used with decoupled projects. More details, visit 16 | # http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects 17 | # org.gradle.parallel=true 18 | -------------------------------------------------------------------------------- /mlkit/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/firebase/snippets-android/50e1ce40ab6bdb6b36a582eee50691d0f6d19de2/mlkit/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /mlkit/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | #Mon May 15 13:34:12 BST 2023 2 | distributionBase=GRADLE_USER_HOME 3 | distributionPath=wrapper/dists 4 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.12-bin.zip 5 | zipStoreBase=GRADLE_USER_HOME 6 | zipStorePath=wrapper/dists 7 | -------------------------------------------------------------------------------- /mlkit/settings.gradle.kts: -------------------------------------------------------------------------------- 1 | pluginManagement { 2 | repositories { 3 | google() 4 | mavenCentral() 5 | gradlePluginPortal() 6 | } 7 | } 8 | 9 | include(":app") 10 | -------------------------------------------------------------------------------- /perf/.gitignore: -------------------------------------------------------------------------------- 1 | *.iml 2 | .gradle 3 | /local.properties 4 | /.idea/workspace.xml 5 | /.idea/libraries 6 | .DS_Store 7 | /build 8 | /captures 9 | .externalNativeBuild 10 | -------------------------------------------------------------------------------- /perf/app/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /perf/app/proguard-rules.pro: -------------------------------------------------------------------------------- 1 | # Add project specific ProGuard rules here. 2 | # By default, the flags in this file are appended to flags specified 3 | # in /Users/ianbarber/Library/Android/sdk/tools/proguard/proguard-android.txt 4 | # You can edit the include path and order by changing the proguardFiles 5 | # directive in build.gradle.kts. 6 | # 7 | # For more details, see 8 | # http://developer.android.com/guide/developing/tools/proguard.html 9 | 10 | # Add any project specific keep options here: 11 | 12 | # If your project uses WebView with JS, uncomment the following 13 | # and specify the fully qualified class name to the JavaScript interface 14 | # class: 15 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview { 16 | # public *; 17 | #} 18 | -------------------------------------------------------------------------------- /perf/app/src/main/java/com/google/firebase/example/perf/kotlin/model/Item.kt: -------------------------------------------------------------------------------- 1 | package com.google.firebase.example.perf.kotlin.model 2 | 3 | class Item 4 | -------------------------------------------------------------------------------- /perf/app/src/main/java/com/google/firebase/example/perf/kotlin/model/ItemCache.kt: -------------------------------------------------------------------------------- 1 | package com.google.firebase.example.perf.kotlin.model 2 | 3 | class ItemCache { 4 | fun fetch(name: String): Item? { 5 | return null 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /perf/app/src/main/java/com/google/firebase/example/perf/kotlin/model/User.kt: -------------------------------------------------------------------------------- 1 | package com.google.firebase.example.perf.kotlin.model 2 | 3 | class User { 4 | fun getEmailAddress(): String { 5 | return "" 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /perf/app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/firebase/snippets-android/50e1ce40ab6bdb6b36a582eee50691d0f6d19de2/perf/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /perf/app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/firebase/snippets-android/50e1ce40ab6bdb6b36a582eee50691d0f6d19de2/perf/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /perf/app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/firebase/snippets-android/50e1ce40ab6bdb6b36a582eee50691d0f6d19de2/perf/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /perf/app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/firebase/snippets-android/50e1ce40ab6bdb6b36a582eee50691d0f6d19de2/perf/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /perf/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/firebase/snippets-android/50e1ce40ab6bdb6b36a582eee50691d0f6d19de2/perf/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /perf/app/src/main/res/values-w820dp/dimens.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 64dp 6 | 7 | -------------------------------------------------------------------------------- /perf/app/src/main/res/values/colors.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | #3F51B5 4 | #303F9F 5 | #FF4081 6 | 7 | -------------------------------------------------------------------------------- /perf/app/src/main/res/values/dimens.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 16dp 4 | 16dp 5 | 6 | -------------------------------------------------------------------------------- /perf/app/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | Firebase Options 3 | 4 | -------------------------------------------------------------------------------- /perf/app/src/main/res/values/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /perf/app/src/main/res/xml/remote_config_defaults.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | welcome_message 5 | Welcome to my awesome app! 6 | 7 | 8 | -------------------------------------------------------------------------------- /perf/build.gradle.kts: -------------------------------------------------------------------------------- 1 | // Top-level build file where you can add configuration options common to all sub-projects/modules. 2 | 3 | plugins { 4 | id("com.android.application") version "8.10.1" apply false 5 | id("com.android.library") version "8.10.1" apply false 6 | id("org.jetbrains.kotlin.android") version "2.1.21" apply false 7 | id("com.google.gms.google-services") version "4.4.2" apply false 8 | id("com.google.firebase.firebase-perf") version "1.4.2" apply false 9 | } 10 | 11 | allprojects { 12 | repositories { 13 | mavenLocal() 14 | google() 15 | mavenCentral() 16 | } 17 | } 18 | 19 | tasks { 20 | register("clean", Delete::class) { 21 | delete(rootProject.buildDir) 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /perf/gradle.properties: -------------------------------------------------------------------------------- 1 | # Project-wide Gradle settings. 2 | 3 | # IDE (e.g. Android Studio) users: 4 | # Gradle settings configured through the IDE *will override* 5 | # any settings specified in this file. 6 | 7 | # For more details on how to configure your build environment visit 8 | # http://www.gradle.org/docs/current/userguide/build_environment.html 9 | 10 | # Specifies the JVM arguments used for the daemon process. 11 | # The setting is particularly useful for tweaking memory settings. 12 | org.gradle.jvmargs=-Xmx1536m 13 | android.useAndroidX=true 14 | 15 | # When configured, Gradle will run in incubating parallel mode. 16 | # This option should only be used with decoupled projects. More details, visit 17 | # http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects 18 | # org.gradle.parallel=true 19 | -------------------------------------------------------------------------------- /perf/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/firebase/snippets-android/50e1ce40ab6bdb6b36a582eee50691d0f6d19de2/perf/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /perf/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.12-bin.zip 4 | zipStoreBase=GRADLE_USER_HOME 5 | zipStorePath=wrapper/dists 6 | -------------------------------------------------------------------------------- /perf/settings.gradle.kts: -------------------------------------------------------------------------------- 1 | pluginManagement { 2 | repositories { 3 | google() 4 | mavenCentral() 5 | gradlePluginPortal() 6 | } 7 | } 8 | 9 | include(":app") 10 | -------------------------------------------------------------------------------- /settings.gradle.kts: -------------------------------------------------------------------------------- 1 | pluginManagement { 2 | repositories { 3 | google() 4 | mavenCentral() 5 | gradlePluginPortal() 6 | } 7 | } 8 | 9 | include(":auth:app", 10 | ":appcheck:app", 11 | ":config:app", 12 | ":database:app", 13 | ":dynamic-links:app", 14 | ":dl-invites:app", 15 | ":firebaseoptions:app", 16 | ":functions:app", 17 | ":firestore:app", 18 | ":storage:app", 19 | ":tasks:app", 20 | ":inappmessaging:app", 21 | ":admob:app", 22 | ":messaging:app", 23 | ":crashlytics:app", 24 | ":perf:app", 25 | ":test-lab:app", 26 | ":analytics:app", 27 | ":installations:app", 28 | ":vertexai:app" 29 | ) 30 | 31 | include(":firebase-ai") 32 | -------------------------------------------------------------------------------- /storage/.gitignore: -------------------------------------------------------------------------------- 1 | *.iml 2 | .gradle 3 | /local.properties 4 | /.idea/workspace.xml 5 | /.idea/libraries 6 | .DS_Store 7 | /build 8 | /captures 9 | -------------------------------------------------------------------------------- /storage/app/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /storage/app/proguard-rules.pro: -------------------------------------------------------------------------------- 1 | # Add project specific ProGuard rules here. 2 | # By default, the flags in this file are appended to flags specified 3 | # in /Users/puf/Library/Android/sdk/tools/proguard/proguard-android.txt 4 | # You can edit the include path and order by changing the proguardFiles 5 | # directive in build.gradle.kts. 6 | # 7 | # For more details, see 8 | # http://developer.android.com/guide/developing/tools/proguard.html 9 | 10 | # Add any project specific keep options here: 11 | 12 | # If your project uses WebView with JS, uncomment the following 13 | # and specify the fully qualified class name to the JavaScript interface 14 | # class: 15 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview { 16 | # public *; 17 | #} 18 | -------------------------------------------------------------------------------- /storage/app/src/main/java/com/google/firebase/referencecode/storage/EmulatorSuite.java: -------------------------------------------------------------------------------- 1 | package com.google.firebase.referencecode.storage; 2 | 3 | import com.google.firebase.storage.FirebaseStorage; 4 | 5 | public class EmulatorSuite { 6 | 7 | public void emulatorSettings() { 8 | // [START storage_emulator_connect] 9 | // 10.0.2.2 is the special IP address to connect to the 'localhost' of 10 | // the host computer from an Android emulator. 11 | FirebaseStorage storage = FirebaseStorage.getInstance(); 12 | storage.useEmulator("10.0.2.2", 9199); 13 | // [END storage_emulator_connect] 14 | } 15 | 16 | } 17 | -------------------------------------------------------------------------------- /storage/app/src/main/java/com/google/firebase/referencecode/storage/kotlin/EmulatorSuite.kt: -------------------------------------------------------------------------------- 1 | package com.google.firebase.referencecode.storage.kotlin 2 | 3 | import com.google.firebase.Firebase 4 | import com.google.firebase.storage.storage 5 | 6 | class EmulatorSuite { 7 | 8 | fun emulatorSettings() { 9 | // [START storage_emulator_connect] 10 | // 10.0.2.2 is the special IP address to connect to the 'localhost' of 11 | // the host computer from an Android emulator. 12 | val storage = Firebase.storage 13 | storage.useEmulator("10.0.2.2", 9199) 14 | // [END storage_emulator_connect] 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /storage/app/src/main/res/layout/activity_firebase_ui.xml: -------------------------------------------------------------------------------- 1 | 2 | 8 | 9 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /storage/app/src/main/res/layout/activity_lifecycle_demo.xml: -------------------------------------------------------------------------------- 1 | 2 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /storage/app/src/main/res/layout/activity_upload.xml: -------------------------------------------------------------------------------- 1 | 2 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /storage/app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/firebase/snippets-android/50e1ce40ab6bdb6b36a582eee50691d0f6d19de2/storage/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /storage/app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/firebase/snippets-android/50e1ce40ab6bdb6b36a582eee50691d0f6d19de2/storage/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /storage/app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/firebase/snippets-android/50e1ce40ab6bdb6b36a582eee50691d0f6d19de2/storage/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /storage/app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/firebase/snippets-android/50e1ce40ab6bdb6b36a582eee50691d0f6d19de2/storage/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /storage/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/firebase/snippets-android/50e1ce40ab6bdb6b36a582eee50691d0f6d19de2/storage/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /storage/app/src/main/res/values-w820dp/dimens.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 64dp 6 | 7 | -------------------------------------------------------------------------------- /storage/app/src/main/res/values/colors.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | #3F51B5 4 | #303F9F 5 | #FF4081 6 | 7 | -------------------------------------------------------------------------------- /storage/app/src/main/res/values/dimens.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 16dp 4 | 16dp 5 | 6 | -------------------------------------------------------------------------------- /storage/app/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | Storage 3 | 4 | -------------------------------------------------------------------------------- /storage/app/src/main/res/values/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /storage/build.gradle.kts: -------------------------------------------------------------------------------- 1 | // Top-level build file where you can add configuration options common to all sub-projects/modules. 2 | 3 | plugins { 4 | id("com.android.application") version "8.10.1" apply false 5 | id("com.android.library") version "8.10.1" apply false 6 | id("org.jetbrains.kotlin.android") version "2.1.21" apply false 7 | id("com.google.gms.google-services") version "4.4.2" apply false 8 | } 9 | 10 | allprojects { 11 | repositories { 12 | mavenLocal() 13 | google() 14 | mavenCentral() 15 | } 16 | } 17 | 18 | tasks { 19 | register("clean", Delete::class) { 20 | delete(rootProject.buildDir) 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /storage/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/firebase/snippets-android/50e1ce40ab6bdb6b36a582eee50691d0f6d19de2/storage/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /storage/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.12-bin.zip 4 | zipStoreBase=GRADLE_USER_HOME 5 | zipStorePath=wrapper/dists 6 | -------------------------------------------------------------------------------- /storage/settings.gradle.kts: -------------------------------------------------------------------------------- 1 | pluginManagement { 2 | repositories { 3 | google() 4 | mavenCentral() 5 | gradlePluginPortal() 6 | } 7 | } 8 | 9 | include(":app") 10 | -------------------------------------------------------------------------------- /tasks/.gitignore: -------------------------------------------------------------------------------- 1 | *.iml 2 | .gradle 3 | /local.properties 4 | /.idea/workspace.xml 5 | /.idea/libraries 6 | .DS_Store 7 | /build 8 | /captures 9 | -------------------------------------------------------------------------------- /tasks/app/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /tasks/app/proguard-rules.pro: -------------------------------------------------------------------------------- 1 | # Add project specific ProGuard rules here. 2 | # By default, the flags in this file are appended to flags specified 3 | # in /usr/local/google/home/samstern/android-sdk-linux/tools/proguard/proguard-android.txt 4 | # You can edit the include path and order by changing the proguardFiles 5 | # directive in build.gradle.kts. 6 | # 7 | # For more details, see 8 | # http://developer.android.com/guide/developing/tools/proguard.html 9 | 10 | # Add any project specific keep options here: 11 | 12 | # If your project uses WebView with JS, uncomment the following 13 | # and specify the fully qualified class name to the JavaScript interface 14 | # class: 15 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview { 16 | # public *; 17 | #} 18 | -------------------------------------------------------------------------------- /tasks/app/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 10 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | -------------------------------------------------------------------------------- /tasks/app/src/main/res/layout/activity_main.xml: -------------------------------------------------------------------------------- 1 | 2 | 9 | 10 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /tasks/app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/firebase/snippets-android/50e1ce40ab6bdb6b36a582eee50691d0f6d19de2/tasks/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /tasks/app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/firebase/snippets-android/50e1ce40ab6bdb6b36a582eee50691d0f6d19de2/tasks/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /tasks/app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/firebase/snippets-android/50e1ce40ab6bdb6b36a582eee50691d0f6d19de2/tasks/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /tasks/app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/firebase/snippets-android/50e1ce40ab6bdb6b36a582eee50691d0f6d19de2/tasks/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /tasks/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/firebase/snippets-android/50e1ce40ab6bdb6b36a582eee50691d0f6d19de2/tasks/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /tasks/app/src/main/res/values-w820dp/dimens.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 64dp 6 | 7 | -------------------------------------------------------------------------------- /tasks/app/src/main/res/values/colors.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | #3F51B5 4 | #303F9F 5 | #FF4081 6 | 7 | -------------------------------------------------------------------------------- /tasks/app/src/main/res/values/dimens.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 16dp 4 | 16dp 5 | 6 | -------------------------------------------------------------------------------- /tasks/app/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | tasks 3 | 4 | -------------------------------------------------------------------------------- /tasks/app/src/main/res/values/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /tasks/build.gradle.kts: -------------------------------------------------------------------------------- 1 | // Top-level build file where you can add configuration options common to all sub-projects/modules. 2 | 3 | plugins { 4 | id("com.android.application") version "8.10.1" apply false 5 | id("com.android.library") version "8.10.1" apply false 6 | id("org.jetbrains.kotlin.android") version "2.1.21" apply false 7 | id("com.google.gms.google-services") version "4.4.2" apply false 8 | } 9 | 10 | allprojects { 11 | repositories { 12 | mavenLocal() 13 | google() 14 | mavenCentral() 15 | } 16 | } 17 | 18 | tasks { 19 | register("clean", Delete::class) { 20 | delete(rootProject.buildDir) 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /tasks/gradle.properties: -------------------------------------------------------------------------------- 1 | # Project-wide Gradle settings. 2 | 3 | # IDE (e.g. Android Studio) users: 4 | # Gradle settings configured through the IDE *will override* 5 | # any settings specified in this file. 6 | 7 | # For more details on how to configure your build environment visit 8 | # http://www.gradle.org/docs/current/userguide/build_environment.html 9 | 10 | # Specifies the JVM arguments used for the daemon process. 11 | # The setting is particularly useful for tweaking memory settings. 12 | org.gradle.jvmargs=-Xmx1536m 13 | android.useAndroidX=true 14 | 15 | # When configured, Gradle will run in incubating parallel mode. 16 | # This option should only be used with decoupled projects. More details, visit 17 | # http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects 18 | # org.gradle.parallel=true 19 | -------------------------------------------------------------------------------- /tasks/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/firebase/snippets-android/50e1ce40ab6bdb6b36a582eee50691d0f6d19de2/tasks/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /tasks/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.12-bin.zip 4 | zipStoreBase=GRADLE_USER_HOME 5 | zipStorePath=wrapper/dists 6 | -------------------------------------------------------------------------------- /tasks/settings.gradle.kts: -------------------------------------------------------------------------------- 1 | pluginManagement { 2 | repositories { 3 | google() 4 | mavenCentral() 5 | gradlePluginPortal() 6 | } 7 | } 8 | 9 | include(":app") 10 | -------------------------------------------------------------------------------- /test-lab/.gitignore: -------------------------------------------------------------------------------- 1 | *.iml 2 | .gradle 3 | /local.properties 4 | /.idea/workspace.xml 5 | /.idea/libraries 6 | .DS_Store 7 | /build 8 | /captures 9 | .externalNativeBuild 10 | 11 | !aars/cloudtestingscreenshotter_lib.aar 12 | -------------------------------------------------------------------------------- /test-lab/aars/cloudtestingscreenshotter_lib.aar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/firebase/snippets-android/50e1ce40ab6bdb6b36a582eee50691d0f6d19de2/test-lab/aars/cloudtestingscreenshotter_lib.aar -------------------------------------------------------------------------------- /test-lab/app/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /test-lab/app/proguard-rules.pro: -------------------------------------------------------------------------------- 1 | # Add project specific ProGuard rules here. 2 | # By default, the flags in this file are appended to flags specified 3 | # in /Users/ianbarber/Library/Android/sdk/tools/proguard/proguard-android.txt 4 | # You can edit the include path and order by changing the proguardFiles 5 | # directive in build.gradle.kts. 6 | # 7 | # For more details, see 8 | # http://developer.android.com/guide/developing/tools/proguard.html 9 | 10 | # Add any project specific keep options here: 11 | 12 | # If your project uses WebView with JS, uncomment the following 13 | # and specify the fully qualified class name to the JavaScript interface 14 | # class: 15 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview { 16 | # public *; 17 | #} 18 | -------------------------------------------------------------------------------- /test-lab/app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/firebase/snippets-android/50e1ce40ab6bdb6b36a582eee50691d0f6d19de2/test-lab/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /test-lab/app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/firebase/snippets-android/50e1ce40ab6bdb6b36a582eee50691d0f6d19de2/test-lab/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /test-lab/app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/firebase/snippets-android/50e1ce40ab6bdb6b36a582eee50691d0f6d19de2/test-lab/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /test-lab/app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/firebase/snippets-android/50e1ce40ab6bdb6b36a582eee50691d0f6d19de2/test-lab/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /test-lab/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/firebase/snippets-android/50e1ce40ab6bdb6b36a582eee50691d0f6d19de2/test-lab/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /test-lab/app/src/main/res/values-w820dp/dimens.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 64dp 6 | 7 | -------------------------------------------------------------------------------- /test-lab/app/src/main/res/values/colors.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | #3F51B5 4 | #303F9F 5 | #FF4081 6 | 7 | -------------------------------------------------------------------------------- /test-lab/app/src/main/res/values/dimens.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 16dp 4 | 16dp 5 | 6 | -------------------------------------------------------------------------------- /test-lab/app/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | Firebase Options 3 | 4 | -------------------------------------------------------------------------------- /test-lab/app/src/main/res/values/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /test-lab/build.gradle.kts: -------------------------------------------------------------------------------- 1 | // Top-level build file where you can add configuration options common to all sub-projects/modules. 2 | 3 | plugins { 4 | id("com.android.application") version "8.10.1" apply false 5 | id("com.android.library") version "8.10.1" apply false 6 | id("org.jetbrains.kotlin.android") version "2.1.21" apply false 7 | id("com.google.gms.google-services") version "4.4.2" apply false 8 | } 9 | 10 | allprojects { 11 | repositories { 12 | mavenLocal() 13 | google() 14 | mavenCentral() 15 | } 16 | } 17 | 18 | tasks { 19 | register("clean", Delete::class) { 20 | delete(rootProject.buildDir) 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /test-lab/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/firebase/snippets-android/50e1ce40ab6bdb6b36a582eee50691d0f6d19de2/test-lab/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /test-lab/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.12-bin.zip 4 | zipStoreBase=GRADLE_USER_HOME 5 | zipStorePath=wrapper/dists 6 | -------------------------------------------------------------------------------- /test-lab/settings.gradle.kts: -------------------------------------------------------------------------------- 1 | pluginManagement { 2 | repositories { 3 | google() 4 | mavenCentral() 5 | gradlePluginPortal() 6 | } 7 | } 8 | 9 | include(":app") 10 | -------------------------------------------------------------------------------- /vertexai/.gitignore: -------------------------------------------------------------------------------- 1 | *.iml 2 | .gradle 3 | /local.properties 4 | /.idea/caches 5 | /.idea/libraries 6 | /.idea/modules.xml 7 | /.idea/workspace.xml 8 | /.idea/navEditor.xml 9 | /.idea/assetWizardSettings.xml 10 | .DS_Store 11 | /build 12 | /captures 13 | .externalNativeBuild 14 | .cxx 15 | local.properties 16 | -------------------------------------------------------------------------------- /vertexai/app/.gitignore: -------------------------------------------------------------------------------- 1 | /build -------------------------------------------------------------------------------- /vertexai/app/src/main/java/com/google/firebase/example/vertexai/ui/theme/Color.kt: -------------------------------------------------------------------------------- 1 | package com.google.firebase.example.vertexai.ui.theme 2 | 3 | import androidx.compose.ui.graphics.Color 4 | 5 | val Purple80 = Color(0xFFD0BCFF) 6 | val PurpleGrey80 = Color(0xFFCCC2DC) 7 | val Pink80 = Color(0xFFEFB8C8) 8 | 9 | val Purple40 = Color(0xFF6650a4) 10 | val PurpleGrey40 = Color(0xFF625b71) 11 | val Pink40 = Color(0xFF7D5260) -------------------------------------------------------------------------------- /vertexai/app/src/main/res/drawable/sparky.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/firebase/snippets-android/50e1ce40ab6bdb6b36a582eee50691d0f6d19de2/vertexai/app/src/main/res/drawable/sparky.png -------------------------------------------------------------------------------- /vertexai/app/src/main/res/drawable/sparky_eats_pizza.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/firebase/snippets-android/50e1ce40ab6bdb6b36a582eee50691d0f6d19de2/vertexai/app/src/main/res/drawable/sparky_eats_pizza.png -------------------------------------------------------------------------------- /vertexai/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /vertexai/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /vertexai/app/src/main/res/mipmap-hdpi/ic_launcher.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/firebase/snippets-android/50e1ce40ab6bdb6b36a582eee50691d0f6d19de2/vertexai/app/src/main/res/mipmap-hdpi/ic_launcher.webp -------------------------------------------------------------------------------- /vertexai/app/src/main/res/mipmap-hdpi/ic_launcher_round.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/firebase/snippets-android/50e1ce40ab6bdb6b36a582eee50691d0f6d19de2/vertexai/app/src/main/res/mipmap-hdpi/ic_launcher_round.webp -------------------------------------------------------------------------------- /vertexai/app/src/main/res/mipmap-mdpi/ic_launcher.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/firebase/snippets-android/50e1ce40ab6bdb6b36a582eee50691d0f6d19de2/vertexai/app/src/main/res/mipmap-mdpi/ic_launcher.webp -------------------------------------------------------------------------------- /vertexai/app/src/main/res/mipmap-mdpi/ic_launcher_round.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/firebase/snippets-android/50e1ce40ab6bdb6b36a582eee50691d0f6d19de2/vertexai/app/src/main/res/mipmap-mdpi/ic_launcher_round.webp -------------------------------------------------------------------------------- /vertexai/app/src/main/res/mipmap-xhdpi/ic_launcher.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/firebase/snippets-android/50e1ce40ab6bdb6b36a582eee50691d0f6d19de2/vertexai/app/src/main/res/mipmap-xhdpi/ic_launcher.webp -------------------------------------------------------------------------------- /vertexai/app/src/main/res/mipmap-xhdpi/ic_launcher_round.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/firebase/snippets-android/50e1ce40ab6bdb6b36a582eee50691d0f6d19de2/vertexai/app/src/main/res/mipmap-xhdpi/ic_launcher_round.webp -------------------------------------------------------------------------------- /vertexai/app/src/main/res/mipmap-xxhdpi/ic_launcher.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/firebase/snippets-android/50e1ce40ab6bdb6b36a582eee50691d0f6d19de2/vertexai/app/src/main/res/mipmap-xxhdpi/ic_launcher.webp -------------------------------------------------------------------------------- /vertexai/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/firebase/snippets-android/50e1ce40ab6bdb6b36a582eee50691d0f6d19de2/vertexai/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp -------------------------------------------------------------------------------- /vertexai/app/src/main/res/mipmap-xxxhdpi/ic_launcher.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/firebase/snippets-android/50e1ce40ab6bdb6b36a582eee50691d0f6d19de2/vertexai/app/src/main/res/mipmap-xxxhdpi/ic_launcher.webp -------------------------------------------------------------------------------- /vertexai/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/firebase/snippets-android/50e1ce40ab6bdb6b36a582eee50691d0f6d19de2/vertexai/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp -------------------------------------------------------------------------------- /vertexai/app/src/main/res/values/colors.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | #FFBB86FC 4 | #FF6200EE 5 | #FF3700B3 6 | #FF03DAC5 7 | #FF018786 8 | #FF000000 9 | #FFFFFFFF 10 | -------------------------------------------------------------------------------- /vertexai/app/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | Vertex AI in Firebase 3 | -------------------------------------------------------------------------------- /vertexai/app/src/main/res/values/themes.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 |