From f159108b753a8af0dc1635a1de01329471c6dada Mon Sep 17 00:00:00 2001 From: Codex Date: Mon, 9 Mar 2026 14:11:38 +0300 Subject: [PATCH] android: add wallpaper-aware chat background and overlays --- android/CHANGELOG.md | 5 +++++ .../ru/daemonlord/messenger/ui/chat/ChatScreen.kt | 11 +++++++++++ docs/android-ui-batch-2-checklist.md | 2 +- docs/android-ui-batch-3-checklist.md | 4 ++-- 4 files changed, 19 insertions(+), 3 deletions(-) diff --git a/android/CHANGELOG.md b/android/CHANGELOG.md index 375ceb0..60771ec 100644 --- a/android/CHANGELOG.md +++ b/android/CHANGELOG.md @@ -228,3 +228,8 @@ - Added archive statistics stream in `ChatListViewModel` and special archive top-row entry in `All` tab. - Extended list preview formatting with media-type markers and retained unread/mention/pinned indicators. - Updated Telegram UI checklists for chat-list advanced states (batch 2 and batch 3). + +### Step 37 - Chat UI / wallpaper-aware readability +- Added gradient wallpaper-like chat background layer in `ChatScreen`. +- Kept pinned/composer/action surfaces on semi-transparent containers to preserve readability over wallpaper. +- Updated Telegram UI checklist items for wallpaper and overlay readability. diff --git a/android/app/src/main/java/ru/daemonlord/messenger/ui/chat/ChatScreen.kt b/android/app/src/main/java/ru/daemonlord/messenger/ui/chat/ChatScreen.kt index 4339460..1bcfac1 100644 --- a/android/app/src/main/java/ru/daemonlord/messenger/ui/chat/ChatScreen.kt +++ b/android/app/src/main/java/ru/daemonlord/messenger/ui/chat/ChatScreen.kt @@ -47,6 +47,8 @@ import androidx.compose.ui.text.font.FontWeight import androidx.compose.ui.layout.ContentScale import androidx.compose.ui.draw.clip import androidx.compose.ui.unit.dp +import androidx.compose.ui.graphics.Brush +import androidx.compose.ui.graphics.Color import androidx.compose.foundation.layout.WindowInsets import androidx.compose.foundation.layout.safeDrawing import androidx.hilt.navigation.compose.hiltViewModel @@ -120,6 +122,15 @@ fun ChatScreen( Column( modifier = Modifier .fillMaxSize() + .background( + brush = Brush.verticalGradient( + colors = listOf( + Color(0xFF1B1A22), + Color(0xFF242034), + Color(0xFF1A202A), + ), + ), + ) .windowInsetsPadding(WindowInsets.safeDrawing), ) { Row( diff --git a/docs/android-ui-batch-2-checklist.md b/docs/android-ui-batch-2-checklist.md index 18db1fb..dc5f4f2 100644 --- a/docs/android-ui-batch-2-checklist.md +++ b/docs/android-ui-batch-2-checklist.md @@ -13,7 +13,7 @@ - [ ] Сообщения вход/выход: плотные пузыри, время и delivery статус внизу справа. - [x] Reply-preview внутри outgoing bubble (вертикальная полоска, автор, snippet). - [x] Forwarded header в сообщении ("Переслано от ...") + мини-аватар. -- [ ] Поддержка chat wallpaper (обои в фоне, читабельный контраст поверх). +- [x] Поддержка chat wallpaper (обои в фоне, читабельный контраст поверх). ## P0 — Voice/Audio Message UI - [ ] Voice bubble: крупная play/pause кнопка, waveform/прогресс, длительность, время сообщения. diff --git a/docs/android-ui-batch-3-checklist.md b/docs/android-ui-batch-3-checklist.md index 2fb0e77..b2523ae 100644 --- a/docs/android-ui-batch-3-checklist.md +++ b/docs/android-ui-batch-3-checklist.md @@ -27,8 +27,8 @@ - [ ] Счётчик выбранных элементов в top bar. ## P1 — Chat Background + Overlay Readability -- [ ] Wallpaper-aware плашки: pinned bar, composer, menus должны быть читаемы на ярких обоях. -- [ ] Полупрозрачные подложки с блюром или тёмным тинтом. +- [x] Wallpaper-aware плашки: pinned bar, composer, menus должны быть читаемы на ярких обоях. +- [x] Полупрозрачные подложки с блюром или тёмным тинтом. ## P1 — Video Message (Circle) Capture UI - [ ] Режим круглого превью камеры по центру экрана.