Open
Description
Catima uses a lot of "legacy" tech. Java, Android XML. It's become very obvious Google is no longer committed to these technologies and is definitely not giving them the love they need anymore.
To ensure we can use Jetpack Compose, we will have to first migrate things to Kotlin and then Compose them slowly. We can, however, do this per-activity.
Help is very much appreciated here! If there's any part you are willing to do, please help! This is a huge undertaking!
Global changes
- Get rid of custom colour support in Catima (this feature is rarely used and will add to the load of creating themes for the Compose code)
- Create a Compose theme as similar as possible to the current theme (so the Compose and non-compose parts feel similar)
Per activity changes
MainActivity
- Convert to Kotlin
- Convert to Compose
AboutActivity
- Convert to Kotlin (Kotlin conversion of AboutActivity with tests also in Kotlin #2360)
- Convert to Compose (claimed by @TheLastProject)
ManageGroupsActivity
- Convert to Kotlin
- Convert to Compose
ManageGroupActivity
- Convert to Kotlin
- Convert to Compose
LoyaltyCardViewActivity
- Split into LoyaltyCardViewActivity and LoyaltyCardFullscreenViewActivity (to simplify the UI and card code)
- Convert each of the new activities to Kotlin
- Convert each of the new activities to Compose
LoyaltyCardEditActivity
- Convert to Kotlin
- Convert to Compose
ScanActivity
- Convert to Kotlin
- Convert to Compose
(May be quite a challenge with the zxing code)
BarcodeSelectorActivity
- Convert to Kotlin
- Convert to Compose
preferences.SettingsActivity
- Convert to Kotlin
- Convert to Compose
(This settings activity works strangely, do we need anything else to make this work?)
ImportExportActivity
- Convert to Kotlin
- Convert to Compose
CardShortcutConfigure
- Convert to Kotlin
- Convert to Compose
UCropWrapper
- Convert to Kotlin
- Convert to Compose
(Is this viable? Consider switching library)