Updating Scrumnotes to SDK 29

January 3, 2021

As required by Google, I have been working on updating my apps to SDK 29 from SDK 28. SInce this should have been done in November, I am late getting this completed. I decided to update the easiest app first, ScrumNotes

Scrum notes is a simple app I wrote to use during standup meetings. It has

  • a place for notes about work completed and what I am working on today
  • the ability to take notes during Parking Lots and send notes to the team
  • the ability to create a follow up meeting if needed

The update to SDK 29 was pretty simple. Updating all the dependencies, Kotlin and the Gradle plugin was the first task. Updating Gradle is not a scary as it was a few years ago. The appcompat and support libraries are no longer supported. Everything has moved to androidx.

  • com.android.support:appcompat-v7 is now androidx.appcompat:appcompat
  • com.android.support:design is now com.google.android.material:material
  • com.android.support.constraint:constraint-layout is now androidx.constraintlayout:constraintlayout
  • com.android.support:support-vector-drawable is now androidx.vectordrawable:vectordrawable

Next was updating all of the appcompat imports to androidx. So imports like android.support.v4.app.Fragment became androidx.fragment.app.Fragment

Since I am using ConstraintLayout, the main layout was updated from android.support.constraint.ConstraintLayout to androidx.constraintlayout.widget.ConstraintLayout. The BottomNavigation widget changed from android.support.design.widget.BottomNavigationView to com.google.android.material.bottomnavigation.BottomNavigationView

No code changes were required other than tweaking some null values in the Kotlin code.All in all, it was a fairly easy upgrade. Much easier than I expected when I learned about the move to androidx.

The code is open source and in Github if you would like to see more.