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.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
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.xmlsets noscreenOrientationand noresizeableActivity, so onAndroid 12+ the app is resizable on large screens by default. It already runs on a
tablet.
WindowSizeClassusage anywhere inapp/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.