Skip to content

roll up compile SDK, target SDK, Gradle, AGP, and most dependencies - #8

Open
NinjaCheetah wants to merge 7 commits into
masterfrom
campbell-updates
Open

NinjaCheetah wants to merge 7 commits into
masterfrom
campbell-updates

Conversation

@NinjaCheetah

@NinjaCheetah NinjaCheetah commented Nov 5, 2026 •

Copy link
Copy Markdown
Collaborator

Rolls up the following components to allow the app to be updated on the Play Store:

  • Gradle to 9.5.2
  • Android Gradle Plugin to 9.5.1
  • Minimum SDK to 26 (Android 8.0, required because some deps only support >=26)
  • Compile SDK & Target SDK to 37
  • All dependencies except com.okta.kotlin:auth-foundation and related components to the latest versions (there were a LOT of API changes here so rolling that up is beyond the scope for right now)

To make that easier I also centralized dependency versions into a libs.versions.toml and pointed all the plugins and libraries in the various build.gradle.kts files at it, because that seems like what Google wants you to do and that's what Android Studio set up for me when I created the TigerDine for Android project.

After updating dependencies, I also had to make a couple of functional changes to make the app actually still work. Only two main ones though:

  • DrinkList.kt: PullToRefreshContainer was removed, so I switched the Box + PullToRefreshContainer to a PullToRefreshBox to make it work again.
  • MainActivity.kt: I was running into an issue when it was decoding JWTs because it expected them to be padded and I guess they weren't? So now it pads them as needed and the app data loads again!

I have not migrated from kapt to KSP, so when I migrated to built-in Kotlin I switched it over to the kapt-legacy plugin so that kapt stuff will keep working in the meantime.

I had someone who actually has a Pixel install the app, and signing in/dropping drinks/NFC for Gatekeeper were all working as expected. This should be ready for a Play Store release!! (So Google won't kill our developer account!)

App version bumped to 39/2.2.0

Also rolls all dependencies up to latest to work towards an updated build of the app. Lots of things still broken, that's the next challenge.
Minimum SDK needs to be raised from 24 -> 26 because some libraries have a minimum of 26, and we can't be lower than that. 37 is just the current SDK so that makes sense for compile SDK.
DrinkList was using a Box and a PullToRefreshContainer, and the latter no longer exists. It now uses a PullToRefreshBox instead which is the modern way to implement that.
Okta v3 introduced lots of breaking changes that I don't want to deal with right now, so back to v1.2.0 so that the app builds again.
There are still bugs to fix, the app is still not usable and there are lots of warnings but a build is a step in the right direction.
@NinjaCheetah
NinjaCheetah requested a review from Mstrodl November 5, 2026 04:46
From what I could tell, minify is only supposed to be on for the app target and not the shared target.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant