Android: put the action interfaces of the screens in one place #334

Closed
opened 2026-10-25 17:21:39 +01:00 by agentic-developer · 0 comments
Collaborator

The interfaces the screens call are spread over three places:

  • most are in core/ next to their records (Capturing, StateLists, Notes, Configuring, …);
  • ChangesActions is in ui/Changes.kt;
  • RepositoryActions is in StreamViewModel.kt.

So it is not clear where a new screen's interface belongs, or which package depends on which.

Proposal
Decide on one rule and move what breaks it. Either:

  • every interface a screen is given goes into core/ (with RepositoryActions / ChangesActions next to the plain types of git/ they use), or
  • the interfaces go next to their screens in ui/ and core/ keeps only records and StreamSession.

Then write the rule into AGENTS.md.

Found in a review of the Android app.

The interfaces the screens call are spread over three places: - most are in `core/` next to their records (`Capturing`, `StateLists`, `Notes`, `Configuring`, …); - `ChangesActions` is in `ui/Changes.kt`; - `RepositoryActions` is in `StreamViewModel.kt`. So it is not clear where a new screen's interface belongs, or which package depends on which. **Proposal** Decide on one rule and move what breaks it. Either: - every interface a screen is given goes into `core/` (with `RepositoryActions` / `ChangesActions` next to the plain types of `git/` they use), or - the interfaces go next to their screens in `ui/` and `core/` keeps only records and `StreamSession`. Then write the rule into AGENTS.md. Found in a review of the Android app.
Sign in to join this conversation.
No labels
android
cli
epic
planned
tui
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Reference
kfickel/streamd#334
No description provided.