cgeo / cgeo

c:geo - The powerful Android geocaching app.
www.cgeo.org
Apache License 2.0
1.4k stars 567 forks source link

Move to AndroidX #7748

Closed jonas-koeritz closed 4 years ago

jonas-koeritz commented 5 years ago

I think c:geo should move from the Android Support libraries to AndroidX as soon as possible, maybe we should even create a GitHub project for that. The Support Libs won't be there forever and AndroidX offers cleaner interfaces for development.

Switching to AndroidX is also a required prerequesite for using the Room persistence library, which would be a good fit for a complete rewrite of the DataStore backend which, according to checkstyle, currently contains some of the most complicated and error prone code in c:geo.

bekuno commented 5 years ago

from https://developer.android.com/jetpack/androidx : If you want to use AndroidX in a new project, you need to set the compile SDK to Android 9.0 (API level 28) or higher and set both of the following Android Gradle plugin flags to true in your gradle.properties file.

Because we use Google Maps v1 the maximal compileSdkVersion is compileSdkVersion "Google Inc.:Google APIs:24" (not: 24 !) So we can use the Branch "GoogleMapsV2" also to implement AndroidX.

jonas-koeritz commented 5 years ago

That's exactly what I've done. I started with the MapsV2 branch and worked my way to AndroidX from there. This issue should be approached when we already have a stable GoogleMapsV2 release.

Bernd notifications@github.com schrieb am So., 28. Juli 2019, 23:03:

from https://developer.android.com/jetpack/androidx : If you want to use AndroidX in a new project, you need to set the compile SDK to Android 9.0 (API level 28) or higher and set both of the following Android Gradle plugin flags to true in your gradle.properties file.

Because we use Google Maps v1 the maximal compileSdkVersion is compileSdkVersion "Google Inc.:Google APIs:24" (not: 24 !) So we can use the Branch "GoogleMapsV2" also to implement AndroidX.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/cgeo/cgeo/issues/7748?email_source=notifications&email_token=ABRPLC6LGWVRCVZVTJRCLADQBYCQZA5CNFSM4IHKEB72YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD27GQIQ#issuecomment-515794978, or mute the thread https://github.com/notifications/unsubscribe-auth/ABRPLC5P6FTBRJ3ZLYOBZ2DQBYCQZANCNFSM4IHKEB7Q .

andrixnet commented 5 years ago

What minimum version of OS would then be required for the user to have on their device to use c:geo?

Lineflyer commented 5 years ago

No change planned for the minimum supported version up to now.

moving-bits commented 5 years ago

I think c:geo should move from the Android Support libraries to AndroidX as soon as possible, maybe we should even create a GitHub project for that. The Support Libs won't be there forever and AndroidX offers cleaner interfaces for development.

From https://developer.android.com/topic/libraries/support-library/revisions:

Revision 28.0.0 Production (September 21, 2018) This is the stable release of Support Library 28.0.0 and is suitable for use in production. This will be the last feature release under the android.support packaging, and developers are encouraged to migrate to AndroidX.

So with our recent move towards SDK28 we're getting close to being able to move to AndroidX and should start this step as soon as we've merged #7653, IMHO.

jonas-koeritz commented 5 years ago

Development has been quite fast paced towards getting c:geo up to current standards. I'm looking forward to working with AndroidX inside c:geo. LiveData, Room etc. could potentially bring nice improvements to the app.

bekuno commented 5 years ago

Other infos.: https://developer.android.com/jetpack/androidx/migrate https://developers.google.com/android/guides/releases#june_17_2019

bekuno commented 4 years ago

@jonas-koeritz Have fun with AndroidX now :-)