Stylianos Gakis
gakisstylianos.bsky.social
Stylianos Gakis
@gakisstylianos.bsky.social
Android Dev at Hedvig, Working on https://github.com/HedvigInsurance/android

I live in Stockholm, Sweden 🇸🇪, and I come from Greece 🇬🇷
Reposted by Stylianos Gakis
More #JetpackReleaseNotes are out today with bug fix releases in Room 2.7.2, WorkManager 2.10.2, and Compose 1.8.3 alongside Compose 1.9.0-beta01 and brand new Compose integrations in Ink 1.0.0-alpha05 and NavigationEvent 1.0.0-alpha03.
developer.android.com/jetpack/andr...
Recent Release Notes  |  Android Developers
developer.android.com
June 18, 2025 at 10:46 PM
Reposted by Stylianos Gakis
Today, we've released a brand new Jetpack library - Navigation3! A pure Compose, state based navigation library: android-developers.googleblog.com/2025/05/anno...
Announcing Jetpack Navigation 3
Explore Jetpack Navigation 3, a new Compose-first navigation library with increased flexibility so Android developers to build robust experiences.
android-developers.googleblog.com
May 20, 2025 at 6:05 PM
Reposted by Stylianos Gakis
The first March #JetpackReleaseNotes include Credential 1.5.0, Webkit 1.13.0, Collection 1.5.0, Navigation 2.8.9, Compose Material3 Adaptive 1.1.0, Compose 1.8.0-rc01 plus a bunch of long overdue releases moving towards stable.
developer.android.com/jetpack/andr...
Recent Release Notes  |  Android Developers
developer.android.com
March 14, 2025 at 4:36 AM
Good morning from DevFest Stockholm 2025!
Come say hi if you see me around 👋

#DevFestSthlm #DevFest #GDG
February 28, 2025 at 8:33 AM
Reposted by Stylianos Gakis
For the last #JetpackReleaseNotes of February, we have releases of CoordinatorLayout 1.3.0, ExifInterface 1.4.0, Core ViewTree 1.0.0, Activity 1.10.1, Wear Phone Interactions 1.1.0 plus bug fixes in DataStore 1.1.3, Navigation 2.8.8, and ConstraintLayout 2.2.1.
developer.android.com/jetpack/andr...
Recent Release Notes  |  Android Developers
developer.android.com
February 26, 2025 at 10:03 PM
Reposted by Stylianos Gakis
Hey, I just released jetc.dev Newsletter Issue #253! ModalBottomSheet! @skydoves.bsky.social on composable API design! MapKit in Compose Multiplatform! Shimmer with @igorescodro.bsky.social! TV focus! And... what is androidx.media3:media3-ui-compose?!? jetc.dev/issues/253 #JetpackCompose #AndroidDev
February 11, 2025 at 1:53 PM
Reposted by Stylianos Gakis
More #JetpackReleaseNotes from today's releases of Navigation 2.8.6, Compose 1.7.7, Compose 1.8.0-beta01 (🎉) as well as alphas in XR, Navigation, and Room.
developer.android.com/jetpack/andr...
Recent Release Notes  |  Android Developers
developer.android.com
January 30, 2025 at 12:44 AM
Reposted by Stylianos Gakis
Hey, I just released jetc.dev Newsletter Issue #246! Compose Multiplatform update! Type-safe navigation! Camera! @sellmair.dev on hot reload! @Preview generator! And... a library of libraries?!? jetc.dev/issues/246 #JetpackCompose #AndroidDev
December 24, 2024 at 1:53 PM
Reposted by Stylianos Gakis
Our session for Adapting Android apps for #AndroidXR is now live! Learn how to build with the new Jetpack XR SDK and see your app come to life in the XR emulator within Android Studio.

https://youtu.be/RQsE0n1xBxo?si=mQXjUYCFYPyYSkx-
Adapting Android apps for XR
youtu.be
December 19, 2024 at 10:37 PM
Reposted by Stylianos Gakis
I'm thinking about renaming the modifiers in Haze but not quite sure what to use.

If you want to help, you can comment here:

github.com/chrisbanes/h...
Modifier rename · chrisbanes haze · Discussion #451
Hi everyone. In v0.9 Haze was completely re-written in a way where the way that Haze works underneath was completely inverted. Pre-v0.9, all of the drawing and logic was performed by your Modifier....
github.com
December 19, 2024 at 8:33 AM
Reposted by Stylianos Gakis
✨ New #JetpackCompose feature ✨

Introducing `keyframesWithSpline`, unlike the standard `keyframes` animation spec, it produces a natural smooth curve, perfect for working with predefined X,Y coords.

✂️ gist.github.com/riggaroo/98d...

📃 developer.android.com/reference/ko...
December 17, 2024 at 11:42 AM
Reposted by Stylianos Gakis
Do your teams work in public channels (which, as I understand it, is how folks at Slack itself work) or are your teams hiding their decision & investigation process in private channels, Apple style culture?

I shared this with our mobile org recently (400+ people).

#AndroidDev
December 15, 2024 at 5:02 PM
Reposted by Stylianos Gakis
🤔 Did you know... there is a new Modifier in town 🤠

The latest alpha version of Jetpack Compose contains a new `Modifier#animateBounds()` which can automatically animate the size & position of your Composable.

Simple example usage: gist.github.com/riggaroo/202...

#JetpackCompose
December 12, 2024 at 1:28 PM
Reposted by Stylianos Gakis
Cool to see Confetti (github.com/joreilly/Con...) Kotlin/Wasm based Compose for Web client running now in new stable Safari 18.2 release.
December 12, 2024 at 8:36 AM
Reposted by Stylianos Gakis
Haze 1.1 💠 has been released!

The main change is the new 'Input Scale' parameter, which allows you to set an optional (down)scaling mode. This should have a positive effect on performance when enabled.

github.com/chrisbanes/h...
December 3, 2024 at 8:27 PM
If you do any Compose UI work you owe it to yourself to read this excellent post by @zachklipp.com blog.zachklipp.com/centering-in...

Just like any of Zach's articles, there is so much good information in there, you will thank yourself spending the time understanding what is being explained in it!
Centering in Compose
Let’s talk about centering things. There is no Modifier.center() in Compose, nor is there a Center composable, and I think the reason for that is because once you understand Compose's layout system yo...
blog.zachklipp.com
November 28, 2024 at 2:18 PM
Reposted by Stylianos Gakis
Ever wanted to make a stacked list of avatars or a fading edge effect in #JetpackCompose? 🤔

Check out the latest #ComposeTips to learn all about how a few tricks with BlendModes can help you get the UI you are looking for 👀

youtu.be/rdS4A2YFBHA?...
Clipping and masking | Jetpack Compose Tips
YouTube video by Android Developers
youtu.be
November 27, 2024 at 9:43 PM
Reposted by Stylianos Gakis
Benchmarking is hard!

This is a great example, let's dive into the diff to highlight what I'd typically surface if someone shared this benchmark at Square.

The diff: github.com/android/nowi...

(it's great that Arnaud shared the diff btw, too often benchmark authors don't)

#AndroidDev
I am trying the delicate experiment to benchmark #Koin #Kotlin framework with the Now in Android app, having real-world usage measurements: proandroiddev.com/benchmarking...
Sorry for flaming the internet again 😅 Feedback is welcome to help make this experiment process better 🙏
Benchmarking Koin vs. Dagger Hilt in Modern Android Development (2024)
How Koin scales and performs compared to Hilt, using practical benchmarks and insights.
proandroiddev.com
November 27, 2024 at 3:53 PM
Reposted by Stylianos Gakis
Yet another "My Droidcon London talk is out..." post :P

Check it out if you're interested in how to think about and design a solid composable 💎

www.droidcon.com/2024/11/22/d...
Designing scalable Compose APIs
As more and more apps and teams migrate to Compose, it's important to establish clear guidelines for writing high-quality Compose code.
www.droidcon.com
November 27, 2024 at 11:03 AM
Reposted by Stylianos Gakis
OK, I sent out jetc.dev Newsletter Issue #242! Math! Shared element transitions! Custom modifiers! Macrobenchmark! Adapting to platform-specific design systems! And... why does wrapContentSize() not wrap my content size?!? jetc.dev/issues/242 #JetpackCompose #AndroidDev
jetc.dev: Jetpack Compose Resources
Home of the jetc.dev Jetpack Compose newsletter! In the latest issue: Math! Shared element transitions! Custom modifiers! Macrobenchmark! Adapting to platform-specific design systems! And... why does ...
jetc.dev
November 26, 2024 at 1:53 PM
Reposted by Stylianos Gakis
I would like to share that I have released the Gradle Plugin of my svg-to-compose project!

It is a #KMP project with its own parsing algorithm that parsers both SVG/XML to ImageVector (and, in the future, Canvas and VectorPainter) and it is available on Maven for usage!

⚠️ Long thread ahead.
GitHub - rafaeltonholo/svg-to-compose: A command-line tool for convert SVG to Android Jetpack Compose Icons.
A command-line tool for convert SVG to Android Jetpack Compose Icons. - rafaeltonholo/svg-to-compose
github.com
November 25, 2024 at 11:26 PM
Reposted by Stylianos Gakis
So what should you do?

Create your own RequestBody implementation instead of calling RequestBody.create() with the serialized bytes, and then perform the serialization lazily, only when RequestBody.writeTo(sink) is called (it's called from the http thread).
November 25, 2024 at 9:24 PM