Fix Compose UI design issues: theme tokens, a11y, lazy keys, effect keying, adaptive grids#404
Draft
Copilot wants to merge 2 commits into
Draft
Fix Compose UI design issues: theme tokens, a11y, lazy keys, effect keying, adaptive grids#404Copilot wants to merge 2 commits into
Copilot wants to merge 2 commits into
Conversation
Copilot created this pull request from a session on behalf of
oxyroid
June 11, 2026 09:52
View session
Copilot
AI
changed the title
Add Jetpack Compose audit report (68/100)
Fix Compose UI design issues: theme tokens, a11y, lazy keys, effect keying, adaptive grids
Jun 11, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Fixes the UI design issues identified in the Compose audit (
COMPOSE-AUDIT-REPORT.md): hardcoded colors bypassing the theme, missing accessibility labels, unkeyed lazy lists, mis-keyed side effects, and fixed grid columns that ignore window size on tablets/foldables.material/model/Colors.ktwith a singleFavoriteColortoken; replaces the duplicatedColor(0xffffcd3c)literal inChannelMask.ktandChannelItem.kt.material/components/ProgressIndicators.ktwrapper around the foundationCircularProgressIndicatordefaulting toLocalContentColor.currentinstead of hardcodedColor.Gray; 8 smartphone call sites switched via import.core/foundationis untouched (stays platform-neutral).ChannelItemnow has acontentDescription(reuses existingfeat_channel_tooltip_favouritestring).DlnaDevicesBottomSheet:key = { it.udn }+contentType.FormatsBottomSheet:key = { "${group.hashCode()}-${index}" }+contentType.ChannelScreen)LaunchedEffect(isSupportBrightnessGesture)so it starts/stops when gesture support changes (was gated by a one-shotLaunchedEffect(Unit)).DisposableEffect(Unit)→DisposableEffect(brightnessGestureEnabled)to avoid restoring a stale value.Helper.adaptiveRowCount(rowCount)combines the existing landscape+2rule withWindowWidthSizeClass(Medium+1, Expanded+2, taking the max). Replaces three duplicated orientation-only computations inForyouScreen,FavouriteScreen, andPlaylistScreen, so tablets/foldables in portrait no longer default to a single column.Investigated but intentionally not changed: TV palette is already mapped into the tv-material
darkColorSchemeinMainActivity; shared-element transitions are infeasible while the player lives in a separatePlayerActivity; theXtreamEpisodelist body inPlayerPanelis a// TODOstub.AI Agent Checklist
Before submitting this PR, confirm:
AGENTS.md.AGENTS.mdfiles.Instructions Read
List the instruction files read for this change:
AGENTS.mdValidation
Commands run:
Results:
Commands not run:
Reason:
Risk Notes
Mention any risk areas:
LocalContentColorinstead of fixed gray; favorite star color unchanged (single token).TrackGroup.hashCode()— collision would throw; considered practically unique per Media3 equality semantics.