-
-
Notifications
You must be signed in to change notification settings - Fork 218
Open
Labels
good first issueGood for newcomersGood for newcomersseverity: minorImpairs non-critical functionality or suitable workarounds existImpairs non-critical functionality or suitable workarounds existstate: help wantedI looked into this issue but couldn't solve it quicklyI looked into this issue but couldn't solve it quicklytype: enhancementNew feature or requestNew feature or request
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 in AboutActivity to Jetpack Compose #2489)
ManageGroupsActivity
- Convert to Kotlin (Convert ManageGroupsActivity to Kotlin #2763)
- Convert to Compose
ManageGroupActivity
- Convert to Kotlin (Convert ManageGroupActivity to Kotlin #2760)
- 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 (claimed by @davkenn, Migration to Jetpack Compose #2483 (comment))
- Convert to Compose
ScanActivity
- Convert to Kotlin (Refactor ScanActivity.java to kotlin #2779)
- Convert to Compose
(May be quite a challenge with the zxing code)
BarcodeSelectorActivity
- Convert to Kotlin (Migrate 2 actvities to kotlin #2585)
- Convert to Compose
preferences.SettingsActivity
- Convert to Kotlin (Convert SettingsActivity to Kotlin #2744)
- Convert to Compose
(This settings activity works strangely, do we need anything else to make this work?)
ImportExportActivity
- Convert to Kotlin (Convert ImportExportActivity to Kotlin #2755)
- Convert to Compose
CardShortcutConfigure
- Convert to Kotlin (Migrate 2 actvities to kotlin #2585)
- Convert to Compose
UCropWrapper
- Convert to Kotlin (Convert UcropWrapper to kotlin #2782)
- Convert to Compose
(Is this viable? Consider switching library)
hectodium
Metadata
Metadata
Assignees
Labels
good first issueGood for newcomersGood for newcomersseverity: minorImpairs non-critical functionality or suitable workarounds existImpairs non-critical functionality or suitable workarounds existstate: help wantedI looked into this issue but couldn't solve it quicklyI looked into this issue but couldn't solve it quicklytype: enhancementNew feature or requestNew feature or request