-
Couldn't load subscription status.
- Fork 135
Adaptive apps codelab preparation #165
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
Adaptive apps codelab preparation #165
Conversation
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 @sashalukin, 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 prepares the project for an adaptive apps codelab by streamlining the codebase. It focuses on removing features and complexities that are not central to the codelab's topic, such as specific adaptive navigation patterns, advanced chat input handling, and context menus on media items, providing a cleaner base for participants.
Highlights
- Navigation Simplification: Removed specific adaptive navigation strategies (
ListDetailSceneStrategy) and related metadata from the main navigation setup to simplify the starting point for the codelab. - Chat Feature Removal: Removed advanced features from the chat screen and input bar, including drag-and-drop media handling, custom keyboard scrolling, and sending messages via the Enter key, replacing some with TODOs.
- Context Menu Removal: Removed the
ContextMenuAreawrapper from various media display components in the chat and timeline screens.
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 configureGemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution. ↩
b7cbabe
into
android:codelab-adaptive-apps-start
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
This pull request prepares the application for an "Adaptive apps codelab" by removing several existing features and UI enhancements. Key removals include the ListDetailSceneStrategy for adaptive navigation, keyboard-aware scrolling, drag-and-drop media support in chat (replaced with a TODO), rich content pasting, Enter-key-to-send functionality in the chat input bar (also replaced with a TODO), custom keyboard options, and context menu functionality for media items across different screens.
While these simplifications are understandable for a codelab's starting point, they do represent a reduction in functionality and user experience compared to a production-ready app. The provided TODOs for re-implementing some features are noted.
For future pull requests, especially those involving significant feature removals or changes, including a brief summary in the PR description would be highly beneficial for reviewers to understand the context and intent behind the changes. This was missing in the current PR.
| } | ||
| } | ||
| }, | ||
| // TODO: Add sending message with the "Enter" key |
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.
The functionality to send a message by pressing the 'Enter' key has been removed, and a TODO comment has been added. This is a common convenience feature, especially for users with physical keyboards or in desktop-like environments.
Consider re-adding this functionality. You could adapt the previously existing onPreviewKeyEvent logic. You would also need to re-import androidx.compose.ui.input.key.Key, androidx.compose.ui.input.key.onPreviewKeyEvent, and the isKeyPressed extension from androidx.compose.ui.input.key.KeyEventUtilKt.
.onPreviewKeyEvent { event ->
// Ensure necessary imports: androidx.compose.ui.input.key.Key, androidx.compose.ui.input.key.onPreviewKeyEvent, androidx.compose.ui.input.key.isKeyPressed
if (event.isKeyPressed(androidx.compose.ui.input.key.Key.Enter) && !event.nativeKeyEvent.isShiftPressed) { // Check for Enter without Shift
onSendClick()
true
} else {
false
}
}| ) { innerPadding -> | ||
| Column( | ||
| modifier = Modifier.mediaItemDropTarget(onMediaItemAttached = onMediaItemAttached), | ||
| // TODO: Add drag and drop support |
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.
No description provided.