* 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>
* Unused class removed
* Convert BasePresenter to kotlin
* Removed redundent class
* Move the Utils class into the utils package
* Inline the creation of a page title object
* Move license utilities into their own file
* Inline app rating since its only ever used in 1 place
* Moved GeoCoordinates utilities into their own class
* Moved Monuments related utils into their own class
* Moved screen capture into its own util class
* Moved handleWebUrl to its own utility class
* Moved fixExtension to its own class
* Moved clipboard copy into its own utility class
* Renames class to match remaining utility method
* Convert UnderlineUtils to kotlin
* Converted the copy-to-clipboard utility to kotlin
* Converted license name and url lookup to kotlin
* Converted fixExtension to kotlin
* Convert handleGeoCoordinates to kotlin
* Monument utils converted to kotlin
* Convert then inline screeen capture in kotlin
* Convert handleWebUrl to kotlin
* Rename Constants to Follow Kotlin Naming Conventions
>This PR refactors constant names in the project to adhere to Kotlin's UPPERCASE_SNAKE_CASE naming convention, improving code readability and maintaining consistency across the codebase.
>Renamed the following constants in LoginActivity:
>saveProgressDialog → SAVE_PROGRESS_DIALOG
>saveErrorMessage → SAVE_ERROR_MESSAGE
>saveUsername → SAVE_USERNAME
>savePassword → SAVE_PASSWORD
>Updated all references to these constants throughout the project.
* Update Project_Default.xml
* Refactor variable names to adhere to naming conventions
Renamed variables to use camel case:
-UPLOAD_COUNT_THRESHOLD → uploadCountThreshold
-REVERT_PERCENTAGE_FOR_MESSAGE → revertPercentageForMessage
-REVERT_SHARED_PREFERENCE → revertSharedPreference
-UPLOAD_SHARED_PREFERENCE → uploadSharedPreference
Renamed variables with uppercase initials to lowercase for alignment with Kotlin conventions:
-Latitude → latitude
-Longitude → longitude
-Accuracy → accuracy
Refactored the following variable names:
-NUMBER_OF_QUESTIONS → numberOfQuestions
-MULTIPLIER_TO_GET_PERCENTAGE → multiplierToGetPercentage
* Refactor Dialog View Initialization with Null-Safe Calls
This PR refactors the dialog setup code in CustomSelectorActivity to improve safety and readability by replacing explicit casts with null-safe generic calls for findViewById.
>Replaced explicit casting (as Button and as TextView) with the generic findViewById<T>() method for improved type safety.
>Added null-safety (?.) to avoid potential crashes if a view is not found in the dialog layout.
why changed:-
>Prevents runtime crashes caused by NullPointerException when a view is missing in the layout.
* Refactor Unit Test: Replace Unsafe Casting with Type-Safe Mocking for findViewById
>PR refactors the unit test for NearbyParentFragment by replacing unsafe casting in the findViewById mocking statements with type-safe
>Ensured all findViewById mocks now use a consistent, type-safe format (findViewById<View>(...)) to reduce verbosity and potential casting errors.
>Verified the functionality of prepareViewsForSheetPosition remains unchanged, ensuring no regression in test behavior.
* Update NearbyParentFragmentUnitTest.kt
* Refactor: Rename Constants to Follow CamelCase Naming Convention
>Updated all constant variable names to follow the camelCase naming convention, removing underscores in the middle or end.
>Ensured variable names remain descriptive and align with code readability best practices.
* Replace private val with const val for URL constants in QuizController
* Renaming the constant to use UPPER_SNAKE_CASE
* Renaming the constant to use UPPER_SNAKE_CASE
* Update Done
* **Refactor: Convert `minimumThresholdForSwipe` to a compile-time constant**
* Convert AboutActivity from Java to Kotlin
This PR converts the AboutActivity class from Java to Kotlin
>Testing:
>Verified all functionalities of the AboutActivity, including toolbar setup, intent launches, and dialog interactions, to ensure behavior remains consistent post-conversion.
>Successfully ran unit tests for AboutActivity to confirm the correctness of methods and logic.
* Thank you for the suggestion! Since these methods all take a single View parameter, replacing them with method references is a great way to simplify the code and improve readability. I'll updated the code accordingly. Added a TODO in the code as a reminder to refactor this in the future.
---------
Co-authored-by: Nicolas Raoul <nicolas.raoul@gmail.com>