Releases: Cobresun/PantsOrShorts
Attempting a Fix (part 2)
Attempting a Fix
Firebase Crashlytics turned out to be immediately useful, so much so that I think I should probably start every future android project with it ?! It revealed the crash's true nature:
This release contains a possible fix, where I updated progard rules to hopefully keep that annotation around. Lets see if it works 🤷🏽
Firebase Crashlytics
So the last release caused an immediate crash when using the release build, which I was not thrilled about... Finally got around to adding Firebase to the project, hopefully that'll help me diagnose the issue!
Preparing for the MultiPlatform Overlords
One of my favorite pass times is messing around with this app, by bringing whatever I learn from work into this codebase, to see if I can make this code easier to reason about and maintain. This release is no exception. We've now moved from Moshi -> KotlinX Serialization, and from LiveData to Kotlin StateFlows, and from SharedPreferences to DataStore. The writing is on the wall, a KMP push might happen any year now 😜 The architecture and code separation also makes a bit more sense now, so there is less logic consolidated in the ViewModel, and stuff has been pushed into the repositories. I still feel uncomfortable about the way it's written right now, so there is probably more work to be done on that front.
For user facing changes, landscape mode now looks much cuter, and Fahrenheit toggle should be better 😄
Pirate Weather > Dark Sky
The dreaded day has finally come! Dark Sky's deprecation was always going to be sad moment for Pants or Shorts, but I came across this new API called Pirate Weather that gave us the silver bullet we needed to get out of this pickle!
Also just excited by the use of Dependency Injection to make it relatively trivial to have both API's swappable in the app right now (should we need to switch back), which gives me a path forward for writing a test Weather API that I'd be very excited to do some testing with 😁
Minify Once More
I decided to do a fast-follow release to the previous one where we turn on minification again! Might that be a mistake? Yes. Did we crash in the past? Yes. But I do think it would be cool to find out that simply flipping this switch works now, because the app size has gotten quite massive and that's making it hard for people to not want to delete this lovely meme we created...
Animations and Fahrenheit!
I started learning how to do some basic animating at work so thought I'd do some of that here 😁
I also just keep trying to chip away at this thing's architecture to better prepare us for needing to switch away from DarkSky, but that's going to be a bigger WIP ...
Fixing Compose Mistakes
Changelog
• Upgrade target SDK
• Nicer colours
• Shorter permission text
• Fixed small images
The Truth
• I practiced my Gson -> Moshi (a failed migration at work lol) on PoS
• Fixed Compose mistakes
Jetpack Compose and Hilt
Internal Changelog
Primarily wrote this update to get Jetpack Compose and Hilt out into production since I was curious how those would fare and if any bugs would come out... Pretty excited! The actual changes I mention below are in the app now though, so it's not all testing in production! I do enjoy that at this point this app has just become me playing around with new architectures and libraries and using the app as a vehicle to test those ideas out 🤣
Public Changelog
• Now using your approximate location instead of exact location to save battery (weather doesn't change that much around the block!)
• We explain why we ask for location permission right away for first-time users, making the experience a little clearer
• Fixed a bug where the colour of the button wasn't changing
Return from Retirement
A return for the hit weather app!
• We made various internal changes to the app to improve performance and hopefully cause less crashes.
• The night/day toggle has been removed, now the app respects a user's system theme
• Better handling of permissions for location
• Better handling of no internet scenario
Truth is, I just found out I was still able to update this thing, so I figured I'd try and see what happens 🤣