Taskbar icon indicating copy to clipboard operation
Taskbar copied to clipboard

[Rebase] Migrate to Kotlin & Compose

Open machiav3lli opened this issue 2 years ago • 3 comments

Considering that the project has been inactive for a while and (looking at your activity) you having a specific interest in (Jetpack) Compose, maybe it would make sense to migrate the code fully to Kotlin and consequently use Compose.

This should give the project a new life, considering the flexibility of Compose compared to the legacy xml-layouts. I'd also be interested in helping in this considering that we use libtaskbar in Neo Launcher and a personal interest in bringing desktop mode forward (against Google's willing as it seems).

machiav3lli avatar Apr 21 '23 12:04 machiav3lli

I absolutely want to rewrite Taskbar to use Kotlin and Compose. I recently finished a rewrite of my Notepad app (which is now 100% Kotlin and 100% Compose), and intend to have Taskbar be the next app of mine that's rewritten.

My free time is very limited these days, and the Notepad rewrite ended up being fairly daunting, so I have a few thoughts:

  • The rewrite would probably be focused on supporting desktop mode on Android 10+. Right now the app supports Android 5.0+ with freeform mode supported on Android 7.0+. However, there are so many edge cases to consider when supporting freeform mode and desktop mode on the various Android versions, since it's never been an officially supported feature by Google. Limiting the rewrittten app's scope to only Android 10+ and desktop mode would cut down on the number of edge cases needed to support.
    • We'd also probably want to keep the old codebase around so that users on Android 9 and lower can still use the current version of the app.
  • I haven't yet tested Compose within the context of system overlays. I assume it'll work using ComposeView but can't speak to whether or not Compose will work well in a system overlay vs. a regular Activity context.

Anyway, would love to see a Kotlin/Compose rewrite of Taskbar happen and any help would be appreciated.

farmerbb avatar Apr 24 '23 18:04 farmerbb

In my experience, migrating to Kotlin for the first time is pretty tiring, but I've done for now couple of times and it gets always easier (not just through experience but also Kotlin API's and AS's auto-migration are both getting better).

I fully agree on A10+ and leaving current code as legacy/archived. Just ping me here or write me through any of the Neo Collective groups when you decide on starting/planing to work on this, I'd be gladly involved in this (I think @saulhdev & @nift4 maybe too?).

machiav3lli avatar Apr 24 '23 19:04 machiav3lli

I can help with this migration. Count me in when you start.

sivasubramaniamv avatar May 14 '23 14:05 sivasubramaniamv