-
Notifications
You must be signed in to change notification settings - Fork 625
Make the Sessions test app more convenient to test #7054
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
Firebase AI Mock Responses Check
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Summary of Changes
Hello @mrober, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!
This pull request significantly enhances the testability and convenience of the Firebase Sessions test application. The changes focus on improving the application's architecture for multi-process and background service testing by centralizing Firebase initialization, standardizing logging practices, and introducing dedicated background services with actionable commands. These improvements aim to streamline the process of verifying Firebase Sessions functionality under various application lifecycle conditions.
Highlights
- Firebase Initialization Centralization: Firebase initialization has been moved from
BaseActivity
toTestApplication
'sonCreate
method. This ensures Firebase is initialized at the application level, which is crucial for proper functioning and testing within background services and multi-process environments. - Standardized Logging and Process Name Resolution: The logcat tag has been unified to
SessionsTestApp
across the application, making log filtering and test instructions clearer. Additionally, the logic for determining the current process name has been centralized inTestApplication.Companion.myProcessName
, including a robust fallback for older Android API levels (pre-P) by reading/proc/self/cmdline
. - Introduction of Background Test Services: Two new background services,
MyServiceA
andMyServiceB
, have been added. These services are exported and can be easily interacted with viaadb shell
commands (e.g.,am startservice -n com.google.firebase.testing.sessions/.MyServiceA -a PING
), enabling more convenient testing of Firebase Sessions behavior in background and multi-process scenarios, including crashes and process kills.
Using Gemini Code Assist
The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.
Invoking Gemini
You can request assistance from Gemini at any point in your pull request via creating an issue comment (i.e. comment on the pull request page) using either /gemini <command>
or @gemini-code-assist <command>
. Below is a summary of the supported commands.
Feature | Command | Description |
---|---|---|
Code Review | /gemini review |
Performs a code review for the current pull request in its current state. |
Pull Request Summary | /gemini summary |
Provides a summary of the current pull request in its current state. |
Comment | @gemini-code-assist | Responds in comments when explicitly tagged, both in issue comments and review comments. |
Help | /gemini help |
Displays a list of available commands. |
Customization
To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/
folder in the base of the repository. Detailed instructions can be found here.
Limitations & Feedback
Gemini Code Assist is currently in preview and may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments to provide feedback.
You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.
Footnotes
-
Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution. ↩
Generated by 🚫 Danger |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Code Review
The pull request enhances the Sessions test app by initializing Firebase on the Application level, fixing the process name for older Android API levels, standardizing logcat tags, and adding background services for easier interaction. These changes improve the app's testability and convenience.
firebase-sessions/test-app/src/main/kotlin/com/google/firebase/testing/sessions/BaseActivity.kt
Show resolved
Hide resolved
Make the Sessions test app more convenient to test Initialize Firebase on the Application, not Activity, so it can be initialized in background services Fixed the process name for older Android API levels Made all the logcat tags be the same, so it will be easier to give test instructions like `tag:SessionsTestApp tag:FirebaseSessions` Added 2 background services with easy actions to interact with in the background, e.g., `am startservice -n com.google.firebase.testing.sessions/.MyServiceA -a PING`
Make the Sessions test app more convenient to test
Initialize Firebase on the Application, not Activity, so it can be initialized in background services
Fixed the process name for older Android API levels
Made all the logcat tags be the same, so it will be easier to give test instructions like
tag:SessionsTestApp tag:FirebaseSessions
Added 2 background services with easy actions to interact with in the background, e.g.,
am startservice -n com.google.firebase.testing.sessions/.MyServiceA -a PING