-
Notifications
You must be signed in to change notification settings - Fork 29
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
feat: attachments popup [WPB-10499] #3373
Conversation
Ups 🫰🟨This PR is too big. Please try to break it up into smaller PRs. |
gradle/libs.versions.toml
Outdated
@@ -63,6 +63,7 @@ hilt-work = "1.2.0" | |||
# Android UI | |||
accompanist = "0.32.0" # adjusted to work with compose-destinations "1.9.54" | |||
material = "1.12.0" | |||
material3 = "1.3.0-beta05" |
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.
there is already 1.3.0-rc01 available maybe we can give it a try
Quality Gate passedIssues Measures |
Built wire-android-staging-compat-pr-3373.apk is available for download |
Built wire-android-dev-debug-pr-3373.apk is available for download |
fun requestFocus() { | ||
if (!inputFocused) { | ||
focusRequester.requestFocus() | ||
focusRequester.captureFocus() // TODO 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.
👀
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.
I will check and remove it after playtest
PR Submission Checklist for internal contributors
The PR Title
SQPIT-764
The PR Description
What's new in this PR?
Issues
This pull request addresses various issues related to inconsistent state management of attachments and the keyboard across different Android devices and versions. The main focus was on enhancing the user experience by streamlining processes and rectifying bugs that affected the UI's behavior during interactions with the bottom sheets and attachments.
Causes (Optional)
The underlying causes of the issues included buggy state management mechanisms that varied across different devices and Android versions. There were inconsistencies in how attachments and keyboard heights were handled, leading to a user experience that could often feel unpredictable and jumpy, particularly when transitioning between different states of the UI.
Solutions
Centralized Bottom Sheet Management: Consolidated all bottom sheets (location, self-deleting, edit) into a single management point to ensure consistency across different parts of the application.
IME Padding Workaround: Implemented a workaround for hardcoded IME padding within the bottom sheet. This helps to prevent the bottom sheet from jumping when the keyboard is dismissed, ensuring a smoother transition and a more stable user interface.
Enhanced Animations: Introduced animations for showing and hiding attachments, which not only improve the aesthetics but also provide clearer feedback to the user regarding the UI's state changes.
Attachments Popup with Ripple Reveal Animation: Added a ripple reveal animation for the attachments popup, which enhances visual engagement and makes the interface more interactive and responsive to user actions.
Simplified Process Management: Streamlined the processes for managing the visibility of attachments and the height adjustments of the keyboard and attachments. This simplification helps reduce complexity and improves the maintainability of the code.
Removed Redundant Workarounds and States: Eliminated the read-only mode workaround that was previously required for managing text input, and also removed unnecessary states for attachments that complicated the state management unnecessarily.
How to Test
Play around with message composer and all attachments
Attachments (Optional)
Screen_recording_20240826_134114.webm