Conversation
rteyssandier
commented
Feb 16, 2026
Summary of ChangesHello @rteyssandier, 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 introduces a new "BigDialog" scene type, significantly enhancing the application's navigation system. This addition enables the display of large, full-screen overlay dialogs, providing a dedicated and immersive user interface for content that requires more prominence than standard dialogs. The change integrates seamlessly into the existing navigation architecture, allowing for flexible and powerful UI presentations. Highlights
Changelog
Activity
Using Gemini Code AssistThe 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 by creating a comment using either
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 Limitations & Feedback Gemini Code Assist 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. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here. 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
|
There was a problem hiding this comment.
Code Review
This pull request introduces a new BigDialogScene for the navigation system. The implementation is a good start, but there are a few issues in the new BigDialogScene.kt file that need to be addressed. I've pointed out a hardcoded title that limits reusability, an incorrect usage of FloconScaffold that violates a theming rule, and a logic bug in calculateScene that could lead to incorrect behavior or crashes. Please see my detailed comments for suggestions on how to fix these issues.
| val dialogProperties = lastEntry?.metadata?.get(BIG_DIALOG) as? Boolean | ||
| return dialogProperties?.let { properties -> | ||
| BigDialogScene( | ||
| entry = lastEntry, | ||
| previousEntries = entries.dropLast(1), | ||
| overlaidEntries = entries.dropLast(1), | ||
| onBack = onBack, | ||
| ) | ||
| } |
There was a problem hiding this comment.
The current logic using ?.let will create a BigDialogScene even if the BIG_DIALOG metadata property is explicitly false, as let executes for any non-null value. Additionally, lastEntry can be null, which would cause a problem when passed to BigDialogScene which expects a non-nullable NavEntry. This is likely a bug. The scene should only be created when the property is true. Using an if (dialogProperties == true) check would fix this bug and improve code clarity.
val dialogProperties = lastEntry?.metadata?.get(BIG_DIALOG) as? Boolean
return if (dialogProperties == true) {
BigDialogScene(
entry = lastEntry!!,
previousEntries = entries.dropLast(1),
overlaidEntries = entries.dropLast(1),
onBack = onBack,
)
} else {
null
}