Skip to content

Migrate to Jetpack Compose (master) #5616

@westnordost

Description

@westnordost

This is the master ticket for migrating from the Android view system (layout XMLs etc.) to Jetpack Compose as UI framework.

The primary reason for this is #5421: To make possible an iOS version of this app that has a shared codebase for the UI through the use of Compose Multiplatform. The first step however is to migrate to Jetpack Compose and only later switch to Compose Multiplatform.

The first foray into Jetpack Compose has been made in PR #5447, I am also new to this but I tried to follow guidelines closely how things should be done, so feel free to look into that PR to learn how the UI code typically looks like before and after.

Contributing

As this is a larger undertaking which can be implemented step by step - this ticket shall serve as a master ticket. Whenever you would like to contribute, post on which screen or view you would like to work on now here and later post a PR when you are done.

Migration is generally done bottom-up, i.e. start with single views first and then work your way up to the screen-level, see Migration Strategy. For converting a whole screen, it is very advisable to do this only after the Fragment or Activity in question has been refactored to use ViewModels, see #5530.

Metadata

Metadata

Assignees

No one assigned

    Labels

    iOSnecessary for iOS port

    Type

    No type

    Projects

    Status

    In Progress

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions