Android tablet support — layout only #7

Open
opened 2026-09-01 21:58:21 +00:00 by paulhitt · 0 comments
paulhitt commented 2026-09-01 21:58:21 +00:00 (Migrated from gitlab.com)

Ask: run properly on Android tablets, with no change to how anything works —
layout adaptation only.

Current state. Nothing blocks it, which is the good news:

  • AndroidManifest.xml sets no screenOrientation and no resizeableActivity, so on
    Android 12+ the app is resizable on large screens by default. It already runs on a
    tablet.
  • What it does not do is use the space: there is no WindowSizeClass usage anywhere in
    app/src/main — every screen is laid out for one phone-width column.

So the work is Compose layout, not plumbing. The obvious wins are the ones a tablet
makes obvious: a list-detail split so the conversation list and the open chat sit side by
side instead of pushing and popping, and the settings screens not stretching a 400dp
column across 1200dp.

Worth checking while in there: foldables, which are the same problem with a hinge —
and the call UI, which is the screen most likely to assume portrait.

Nothing here should touch protocol, storage or call logic. Paired with
flamenet-messenger-ios#10 (iPad), which is the harder half: iOS has an App Store
requirement attached to it that Android does not.

**Ask:** run properly on Android tablets, with no change to how anything works — layout adaptation only. **Current state.** Nothing blocks it, which is the good news: - `AndroidManifest.xml` sets no `screenOrientation` and no `resizeableActivity`, so on Android 12+ the app is resizable on large screens by default. It already runs on a tablet. - What it does not do is *use* the space: there is no `WindowSizeClass` usage anywhere in `app/src/main` — every screen is laid out for one phone-width column. **So the work is Compose layout, not plumbing.** The obvious wins are the ones a tablet makes obvious: a list-detail split so the conversation list and the open chat sit side by side instead of pushing and popping, and the settings screens not stretching a 400dp column across 1200dp. **Worth checking while in there:** foldables, which are the same problem with a hinge — and the call UI, which is the screen most likely to assume portrait. Nothing here should touch protocol, storage or call logic. Paired with flamenet-messenger-ios#10 (iPad), which is the harder half: iOS has an App Store requirement attached to it that Android does not.
Sign in to join this conversation.