Version upgrade/Migration to AndroidX

80 views
Skip to first unread message

Wolfgang Grossinger

unread,
Jan 9, 2019, 12:20:30 AM1/9/19
to K-9 Mail Developers List
Hi there!

I intend to fork k-9 and build a new UI (and other things), but want to give back something if possible.

What I‘ve done so far is to upgrade a lot of dependencies and migrated to AndroidX to have an up-to-date basis for development. Currently my versions look like this:


ext {
buildConfig = [
'compileSdk': 28,
'minSdk': 23,
'buildTools': '28.0.3'
]

versions = [
'kotlin': '1.3.11',
'supportLibrary': '28.0.0',
'preferencesFix': '28.0.0.0',
'lifecycleExtensions': '1.1.1',
'okio': '1.14.0',
'timber': '4.7.1',
'koin': '0.9.3',
'commonsIo': '2.4',
'coreKtx': '1.0.1',
'mime4j': '0.8.2',
'junit': '4.12',
'robolectric': '4.1',
'mockito': '2.18.0',
'mockitoKotlin': '1.5.0',
'truth': '0.42',
]
}

(I know that your minSdk is lower, but this can be changed back quickly.)


My main question is, if you are interested in a pull request and how to handle that best. I see all Tests passing, but I don‘t know if there are issues in the application and my experience with K-9 is to limited that I could say everything is ok.


What I have done so far:

  • Version upgrade

  • Migration to AndroidX

  • Coroutines: Migrated to stable API (no more experimental things here).

  • Instrumentation tests: Tests under android-tests didn‘t work befor my migration. I deleted them/will leave them as they are.

  • DateTime Picker: API has changed. At the moment I just commented it out. Is used on 2 occasions. Migration should be not a big issue.


What I intend to do next:


  • Migrate to Gradle 5.1 (if possible)

  • Migrate to Java 9/10

  • Stability fixes: Sonar says that there are some Streams, that are not closed properly and I will at least fix this.

  • Cleanup: Some deprecation warnings poping up since version update. I will also try to get rid of most of the this warnings.

  • Get rid of the remaining experimental code.

  • Cleanup most of the issues in Lint, Findbugs...


So what do you think?


Best regards,


Wolfgang

cketti

unread,
Jan 9, 2019, 10:12:04 AM1/9/19
to k-9...@googlegroups.com
Hi Wolfgang,

thanks for offering to give back to the community. We'd love to get pull requests from you that improve K-9 Mail. However, we only recently increased the minSdkVersion to 19 and want to keep it at that.

As for upgrading dependencies: my experience is that most developers simply switch to the latest version of all libraries without checking the change logs or migration instructions. Most of the time this strategy works fine. But sometimes changes in a library can have larger implications for the app. I like to be very thorough here, which is why I prefer pull requests that update one library (or group of libraries) at a time. Especially when upgrading a library requires additional changes ("support library", Robolectric).

In general please try to keep the pull requests as small and limited in scope as possible. That makes code reviews a lot easier and should help to get changes merged faster.

Best,
cketti

markand...@gmail.com

unread,
Jul 3, 2022, 10:29:18 PM7/3/22
to K-9 Mail Developers List
Hello Wolfgang,

I just came across this communication. Thank you for sharing.

I understand it is back from 2019 however I would be very interested in looking at the Androidx conversion if that has progressed.

Do you have a Fork I could look at ?

Thank you
Mark
Reply all
Reply to author
Forward
0 new messages