This commit upgrades the project's build system and refactors the build logic for better maintainability and alignment with modern practices.
The Gradle version has been updated from 8.14.2 to 9.3.0, and the Android Gradle Plugin (AGP) has been upgraded to version 9.0.0. This required migrating the build logic to use the new `com.android.build.api.dsl` interfaces instead of the deprecated `com.android.build.gradle` ones.
Key changes:
- Upgraded Gradle to `9.3.0`.
- Upgraded Android Gradle Plugin to `9.0.0`.
- Updated various dependencies including Kotlin, Compose BOM, Chucker, and serialization.
- Removed the explicit `kotlin-android` plugin application, as it's now handled by AGP.
- Migrated build convention plugins to use the new AGP DSL APIs.
- Commented out the custom APK naming logic in `app/build.gradle.kts`.
- Added new `gradle.properties` flags for build configuration.
- Corrected the namespace in `core/model` from `datastore` to `model`.
This commit updates the Gradle settings to allow specifying Nexus repositories for both plugins and dependencies. It reads the repository URLs from Gradle properties or environment variables (`NEXUS_PLUGINS_URL` and `NEXUS_MAVEN_URL`).
If these properties are set, the corresponding Nexus Maven repositories are added to the build configuration.
* pagination in chat fixed
* other fixes and improvements
* fixed visual bug in progress bar in chat history
* Refactor: Enhance conversations and friends features
- In `ConversationsScreen`, removed `isNeedToScrollToTop` and `onScrolledToTop`, and refactored toolbar container color logic. Added `NoItemsView` for empty conversation lists.
- In `MainGraph`, added `onMessageClicked` for navigation to message history.
- In `ApiEvent`, introduced `parseOrNull` for handling unknown event types.
- In `ConversationsViewModel`, removed `scrollToTop` logic and refactored error handling.
- In `FriendsViewModel`, refactored error handling and introduced `onErrorConsumed` and `handleError`.
- In `FriendItem`, added an icon button to initiate sending a message to a friend.
- In `strings.xml`, added or updated strings for session expiration, log out, refreshing, and empty friend lists.
- In `RootScreen`, added `onMessageClicked` for navigating to messages.
- In `FriendsList`, added `onMessageClicked` for handling message clicks.
- In `MainScreen`, removed unused `MutableSharedFlow`.
- In `FriendsScreen`, added support for showing errors, added `onMessageClicked`, and replaced `hazeChild` with `hazeEffect` and `hazeSource`.
- In `FriendsNavigation`, added `onMessageClicked` for handling message clicks.
- In `ConversationsNavigation`, removed the unused `scrollToTopFlow` parameter.
- In `ErrorView`, added text alignment.
- In `NoItemsView`, added support for a button and custom text.
- In `LongPollUpdatesParser`, replaced try-catch with `parseOrNull`.
* Chat creation feature (#138)
* - read indicator, edit status and time for message in messages history
* message sending status