feat: Implement baseline profile generation and startup benchmarking

- Added baseline profile generator for Rosetta Messenger to optimize startup performance.
- Created startup benchmark tests to measure cold start times under different compilation modes.
- Introduced a new Gradle module for baseline profile and benchmark tests.
- Updated ChatsListViewModel to show loading skeleton while data is being fetched.
- Improved keyboard handling in MessageInputBar by using SHOW_IMPLICIT instead of SHOW_FORCED.
- Minor code cleanups and optimizations across various components.
This commit is contained in:
2026-02-08 09:21:05 +05:00
parent 8b8c883a63
commit abe1a1a710
13 changed files with 1111 additions and 564 deletions

View File

@@ -367,10 +367,24 @@ interface DialogDao {
AND i_have_sent = 1
AND last_message_timestamp > 0
ORDER BY last_message_timestamp DESC
LIMIT 30
"""
)
fun getDialogsFlow(account: String): Flow<List<DialogEntity>>
/** Получить все диалоги с пагинацией */
@Query(
"""
SELECT * FROM dialogs
WHERE account = :account
AND i_have_sent = 1
AND last_message_timestamp > 0
ORDER BY last_message_timestamp DESC
LIMIT :limit OFFSET :offset
"""
)
suspend fun getDialogsPaged(account: String, limit: Int, offset: Int): List<DialogEntity>
/**
* Получить requests - диалоги где нам писали, но мы не отвечали Исключает пустые диалоги (без
* сообщений)
@@ -382,6 +396,7 @@ interface DialogDao {
AND i_have_sent = 0
AND last_message_timestamp > 0
ORDER BY last_message_timestamp DESC
LIMIT 30
"""
)
fun getRequestsFlow(account: String): Flow<List<DialogEntity>>