Skip to content

Initial preparation for rewrite - #687

Merged
thestinger merged 7 commits into
GrapheneOS:composefrom
RankoR-GOS:compose-initial
Aug 13, 2026
Merged

Initial preparation for rewrite#687
thestinger merged 7 commits into
GrapheneOS:composefrom
RankoR-GOS:compose-initial

Conversation

@RankoR

@RankoR RankoR commented Aug 5, 2026

Copy link
Copy Markdown
Contributor

No description provided.

@RankoR
RankoR requested review from m4pl and sdsantos August 5, 2026 18:52
Comment thread .editorconfig Outdated
ktlint_standard_function-signature = disabled
ktlint_standard_trailing-comma-on-call-site = disabled
ktlint_standard_blank-line-between-when-conditions = disabled
max_line_length = 100 No newline at end of file

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Missing newline at the end of the file.

Comment thread AGENTS.md
Every migrated feature follows the same shape — when in doubt, open an already-migrated feature in
this repo and copy it.

**Layering.** Dependency direction is `ui → domain → data`; `data` and `domain` never import `ui`,

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Would it make sense to add a rule that features should not depend on each other? Thinking ahead to the possible module split.

Comment thread AGENTS.md Outdated

### Compose

- **Material 3 only.** All colors and typography go through `CameraTheme` / `MaterialTheme` — never

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nothing about shape here. Should it come from MaterialTheme.shapes as well?

Comment thread AGENTS.md

### Resources

User-visible strings go in `res/values/strings.xml` — never hardcoded in Kotlin. Dimensions shared

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nothing about removing resources here. Would it be worth adding a line about checking values/ when a layout is deleted?

@RankoR
RankoR requested a review from m4pl August 9, 2026 11:50
@RankoR
RankoR requested a review from inthewaves August 10, 2026 09:06
@RankoR RankoR mentioned this pull request Aug 11, 2026
Comment thread AGENTS.md
Comment on lines +192 to +197
**Unidirectional data flow per screen** (`ui/<feature>/screen/`):

- The ViewModel implements a `<Screen>ScreenModel` interface exposing exactly
`uiState: StateFlow<UiState>`, `effects: Flow<ScreenEffect>`, `onAction(Action)`. The screen
composable takes the **interface** (defaulted to `viewModel<...>()`), so previews and tests
substitute a fake without Hilt. The screen collects `uiState` with

@inthewaves inthewaves Aug 13, 2026

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In the future, some of this and stuff like Coding Conventions could probably imagine be extracted into some common doc in e.g. app-docs repo, probably when we have more Compose stuff that is similar to each other in structure

@thestinger
thestinger merged commit 8f3a12a into GrapheneOS:compose Aug 13, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants