Conversation
- Separate device info from the main feedback message body. - When generating a feedback report, search multiple output tabs (Build, App Logs, IDE Logs) for a stack trace to include, instead of only checking the currently active tab. - Add a "Stack trace unavailable" message to the feedback body if no logs are found.
Contributor
There was a problem hiding this comment.
Greptile Overview
Greptile Summary
Improved feedback report generation by searching across multiple output tabs (Build, App Logs, IDE Logs) for stack traces, rather than only checking the currently active tab.
Key Changes:
- Refactored
getLogContent()to iterate through candidate tabs and return the first non-empty log content - Separated device information (app version, Android version, device model) from the main feedback message body for better email formatting
- Added fallback "Stack trace unavailable" message when no logs are found in any tab
Implementation Details:
The new approach builds a list of candidate tabs starting with the current tab, then checking Build Output, Application Logs, and IDE Logs in that order. This ensures users can capture relevant error information even when they're not viewing the correct output tab when triggering feedback.
Confidence Score: 5/5
- This PR is safe to merge with minimal risk
- The changes are straightforward and well-implemented. The logic correctly iterates through candidate tabs with proper null safety checks and early returns. String resource changes are consistent with the code modifications. No custom rules are violated, and the improvements enhance UX by making stack trace collection more reliable.
- No files require special attention
Important Files Changed
File Analysis
| Filename | Score | Overview |
|---|---|---|
| app/src/main/java/com/itsaky/androidide/activities/editor/BaseEditorActivity.kt | 5/5 | Refactored getLogContent() to search multiple output tabs (Build, App Logs, IDE Logs) for stack traces instead of only checking the current tab |
| common/src/main/java/com/itsaky/androidide/utils/FeedbackManager.kt | 5/5 | Separated device info from feedback message body; added fallback message when stack trace is unavailable |
| resources/src/main/res/values/strings.xml | 5/5 | Restructured feedback strings to separate device info and added new "stack trace unavailable" message |
Sequence Diagram
sequenceDiagram
participant User
participant FAB as Feedback FAB
participant FBM as FeedbackButtonManager
participant BEA as BaseEditorActivity
participant BSP as BottomSheetPager
participant SOF as ShareableOutputFragment
participant FM as FeedbackManager
User->>FAB: Click feedback button
FAB->>FBM: onClick()
FBM->>FBM: performFeedbackAction()
FBM->>BEA: getLogContent()
BEA->>BEA: Build candidate tabs list<br/>(current, Build, App Logs, IDE Logs)
loop For each tab in candidateTabs
BEA->>BSP: getFragmentAtIndex(tabIndex)
BSP-->>BEA: Fragment or null
alt Fragment is ShareableOutputFragment
BEA->>SOF: getShareableContent()
SOF-->>BEA: Log content string
alt Log content is not empty
BEA-->>FBM: Return log content
end
end
end
alt No logs found
BEA-->>FBM: Return null
end
FBM->>FM: showFeedbackDialog(activity, logContent)
FM->>FM: Build feedback body
alt logContent is null or empty
FM->>FM: Use "Stack trace unavailable" message
else logContent exists
FM->>FM: Include log content as stack trace
end
FM->>FM: Append device info<br/>(version, Android version, device model)
FM->>User: Show email intent with feedback
3 files reviewed, no comments
Daniel-ADFA
approved these changes
Nov 6, 2025
…ck-email # Conflicts: # resources/src/main/res/values/strings.xml
…m and device info, then user message and stack trace.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
New email template:

Ticket
ADFA-1960