* fix: enable h/w acceleration for UploadActivity to resolve ime issue
* fix(upload): handle keyboard insets for bottom buttons at Depicts step
* fix(upload): handle keyboard insets for buttons at select category step
* fix(upload): hide keyboard before navigating to Media License screen
This solves keyboard opened at the License screen issue, if we proceed by pressing next at the Upload Categories screen when the keyboard is opened
* activity_review.xml: add new GUI elements to replace old ones
Before this commit, the info icon shared the same GUI element with the "Skip this image" text.
This made the Kotlin code to handle taps on the info icon difficult to write, and would crash
with a NPE when the user used a language that is read right to left and the info icon was pressed.
This commit creates new GUI elements. Notably, the info icon has it's own element. A LinearLayout
is used to place the skip button and the info icon button together. Kotlin code can now be
simplified and the NPE bug can be fixed.
* ReviewActivity.kt: simplify info icon code to work with some languages
Before this commit, if the language was set to a language that is read right to left,
pressing the info icon would crash the app with a NPE. This was because the Kotlin
code assumed that the icon would always be on the right of the skip button
(index 2 in the drawable array). When a right to left language was used, the icon
would be on the left and index 2 would be null.
This commit builds upon prior GUI changes. The info icon now has its own button.
Kotlin changes now remove the use of the drawable array to find the info icon and
instead directly references the new info icon button. The info icon button now works
properly for both left-to-right and right-to-left languages while maintaining correct
positioning.
* activity_review.xml: fix xml to be more readable
This commit moves around some lines in the XML to make it more readable.
* activity_review.xml: change button configuration
This change simplifies the button configuration XML and makes the info icon button slightly smaller
---------
Co-authored-by: Ritika Pahwa <83745993+RitikaPahwa4444@users.noreply.github.com>
Co-authored-by: Nicolas Raoul <nicolas.raoul@gmail.com>
* chore: upgrade target SDK and refactor function signatures to resolve build issues
* chore: bump android gradle plugin version
* chore(ui): add extension functions for applying edge to edge insets
* fix: apply system bar top and bottom insets for edge to edge
* fix: force edge to edge for backward compatibility and consistent UI
* fix: apply top bar insets as padding and make the status bar color white
Since the toolbars have primary color as bg, we should make the status bar white
* chore: bump robolectric version for API 35 compatibility
* fix: preserve existing margins when adding new insets
* feat(customselector): improve RecyclerView edge-to-edge inset handling
It allows the last item to sits above the navigation bar while preserving edge-to-edge appearance.
* feat(notification): improve RecyclerView edge-to-edge insets handling
Also, refactor LocationPicker and DescriptionEdit activities to use extension functions and reduce duplication
* fix(quiz): enable and handle edge-to-edge insets and status icon colors
* fix: bottom insets not dispatched on all API versions consistently
Upgraded core-ktx version installCompatInsetsDispatch wasn't available on current version
* fix: return fallback value when versionName is null
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* fix: resolve compilation errors
* docs: add KDoc for edge-to-edge insets utility functions
* fix(SearchActivity): apply insets for system bars
* fix(util): add utility function to handle keyboard insets with animation
* fix(upload): handle keyboard insets for upload media detail card view
* fix(login): hadle IME insets and make edge-to-edge backward compatible
---------
Co-authored-by: Ritika Pahwa <83745993+RitikaPahwa4444@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* Set imeOptions to actionDone and enforce singleLine for xlarge
* Set imeOptions to actionDone and enforce singleLine for landscape
* Set imeOptions to actionDone and enforce singleLine
* Update askUserForTwoFactorAuth for IME_ACTION_DONE to trigger performLogin
* Fix email verification: Set imeOptions to actionDone and replace singleLine with maxLines=1
* Fix email verification: Set imeOptions to actionDone and replace singleLine with maxLines=1
* Fix email verification: Set imeOptions to actionDone and replace singleLine with maxLines=1
* feat: Set imeOptions to actionNext for login_password to improve focus transition
* feat: Enhance keyboard visibility for email verification code input
* Converted welcome activity / pager to kotlin
* Removed unused interface
* Convert ViewPagerAdapter to kotlin and enforce that all tabs must have a title that comes from strings.xml
* Convert OkHttpConnectionFactory and remove an exception class nobody was using
* Convert MapController to kotlin along with fixing nullability in a few places
* fix: infinite loading progress bar after nominating for deletion
* add logs for testing
* refactor: use globalFileUsage instead of achievement to append in reason
Fetching achievements is a time consuming operation and globalFileUsage gives the similar result in optimal time
* test(ReasonBuilder): fix tests according to new behavior
* refactor: remove logs added for testing
* test: await for async getReason method call
---------
Co-authored-by: Neel Doshi <neeldoshi147@gmail.com>
Co-authored-by: Nicolas Raoul <nicolas.raoul@gmail.com>