Rafael Tonholo's Avatar

Rafael Tonholo

@rafael.tonholo.dev

Android Developer πŸ’œ Kotlin lover πŸ“± Jetpack Compose addicted πŸ’‘ Always trying to learn new things

914
Followers
601
Following
94
Posts
27.06.2023
Joined
Posts Following

Latest posts by Rafael Tonholo @rafael.tonholo.dev

Video thumbnail

🫨 Trying to build a library out of the snappy drag thing that I build for one of my apps. #JetpackCompose

01.03.2026 09:35 πŸ‘ 17 πŸ” 2 πŸ’¬ 1 πŸ“Œ 1
Post image Post image Post image

Everything's coming up roses in Pasadena for @socallinuxexpo.bsky.social! Come visit us in the Expo Hall at booth 221 to chat with our team, learn what we're up to, and grab some stickers from:

14:00-18:00 Today
10:00-18:00 Saturday
10:00-14:00 Sunday

#Thunderbird #SCaLE23x

06.03.2026 18:58 πŸ‘ 16 πŸ” 2 πŸ’¬ 1 πŸ“Œ 0
Preview
Illustrating Roc's World: A Spotlight on Michaela Martin - The Thunderbird Blog Design artist Michaela Martin shows us how she expanded our mascot Roc's world and brought it to vivid, illustrated life.

We're excited to shine a light on Michaela Martin, the design artist behind our appeal illustrations. We chat about her background, her process, and how Roc and his world went from first sketches to final drafts. 🎨

#Thunderbird #Illustration

blog.thunderbird.net/2026/03/desi...

03.03.2026 19:35 πŸ‘ 9 πŸ” 1 πŸ’¬ 0 πŸ“Œ 0

πŸŽ™οΈCheck out the new @fragmentedpodcast.com episode on subagents!
They can be a huge unlock once you understand how it all works and you can get real benefits without having to a swarm them.

@kau.sh and I built an RTS mental model for how they work (yes, we did that). Check it out!

17.02.2026 11:24 πŸ‘ 6 πŸ” 2 πŸ’¬ 0 πŸ“Œ 0

new episode is out! spot the easter πŸ₯š?

recent models have shown massive improvement owing to clever use of "modes" and subagent dispatch. it really clicked for me after chatting with @iurysouza.dev

listen to improve your fundamentals! (not just tactics).

17.02.2026 15:14 πŸ‘ 9 πŸ” 2 πŸ’¬ 0 πŸ“Œ 0
Preview
Mobile Progress Report: February 2026 - The Thunderbird Blog In the first Mobile Progress Report of 2026, we're going over our plans and priorities for the Android and iOS Thunderbird apps.

And our Mobile Progress Report provides an early look into how development on Android AND iOS (!) will take shape over the coming year.

#Thunderbird #Android #iOS #OpenSource

blog.thunderbird.net/2026/02/mobi...

13.02.2026 16:41 πŸ‘ 18 πŸ” 3 πŸ’¬ 0 πŸ“Œ 0
CHAOSSCon EU 2026 - Schedule and Speakers - CHAOSS CHAOSScon Europe 2025, co-located with FOSDEM in Brussels, Belgium on Thursday, January 30, 2025.

Heading to CHAOSSCon at @fosdem.org? Be sure to check out @linuxflower.bsky.social and Wayne Mery's Lunch and Learn on Thursday Jan 29 at 13:00 on how we're using community metrics and how we can improve!

#Thunderbird #OpenSource #Community

chaoss.community/chaosscon-20...

26.01.2026 17:50 πŸ‘ 8 πŸ” 2 πŸ’¬ 1 πŸ“Œ 0
Preview
CI Runners Suddenly Failing with 403 Forbidden for Maven/Gradle Repositories (ubuntu-latest) Β· Issue #4180 Β· actions/runner Since today, our CI pipelines running on ubuntu-latest and other hosted runners have started failing while downloading dependencies from Maven/Gradle repositories, returning HTTP 403 Forbidden erro...

Heads up it looks like Sonatype is starting to enforce stricter throttling on Maven Central.

If you see 429/403 errors from your runneres, you're not alone.

github.com/actions/runn...
www.sonatype.com/blog/maven-c...

06.01.2026 12:42 πŸ‘ 5 πŸ” 2 πŸ’¬ 1 πŸ“Œ 0
Preview
GitHub - rafaeltonholo/agp-intellij-compatibility-matrix: Compatibility Matrix for Android Gradle Plugin and Intellij Compatibility Matrix for Android Gradle Plugin and Intellij - rafaeltonholo/agp-intellij-compatibility-matrix

I've just added the latest version, but I'm planning to add the previous ones as well.
If you want to help, here is the repo: github.com/rafaeltonhol...

#android #kmp #AndroidDev #intellij

06.01.2026 13:49 πŸ‘ 2 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

For that reason, I'm starting to track the versions in a Git repository to serve as a compatibility matrix until a better solution is available.

06.01.2026 13:49 πŸ‘ 0 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

As I need to support IntelliJ IDEA in a project I work on, I always try to find what is the latest AGP version compatible with IntelliJ IDEA, but it is very difficult to find information about it.

06.01.2026 13:49 πŸ‘ 1 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

incrΓ­vel como vc pode olhar pra qualquer problema mundial e dizer a culpa Γ© dos estados unidos

03.01.2026 13:26 πŸ‘ 483 πŸ” 160 πŸ’¬ 2 πŸ“Œ 8
The Benevolent Gradle Overlord: Keeping Order - Aurimas Liutikas | droidcon London 2025
The Benevolent Gradle Overlord: Keeping Order - Aurimas Liutikas | droidcon London 2025 YouTube video by droidcon & fluttercon

In case you want to become a benevolent Gradle overlord, I've got you some tips

Recording:
youtu.be/o99f54pYGgc?...

Slides:
speakerdeck.com/aurimas/the-...

#gradle

29.11.2025 20:20 πŸ‘ 23 πŸ” 10 πŸ’¬ 1 πŸ“Œ 0
Preview
RemoteCompose: Another Paradigm for Server-Driven UI in Jetpack Compose Building dynamic user interfaces has long been a fundamental challenge in Android development. The traditional approach requires…

Published a new article, 'RemoteCompose: Another Paradigm for Server-Driven UI in Jetpack Compose'.

You’ll explore RemoteCompose, understand its core architecture, and discover the benefits it brings to dynamic screen design with Jetpack Compose.

skydoves.medium.com/remotecompos...

29.11.2025 12:13 πŸ‘ 33 πŸ” 7 πŸ’¬ 5 πŸ“Œ 1
Video thumbnail

Swipe to Dismiss from Material 3 compose lib is quite customizable 🀩 ✨
www.sinasamaki.com/glow-swipe-t...

22.11.2025 21:30 πŸ‘ 25 πŸ” 4 πŸ’¬ 0 πŸ“Œ 0

It seems like yesterday we released Thunderbird for Android. See how fast our first mobile app is growing up.

#Thunderbird #OpenSource #Android

https://blog.thunderbird.net/2025/11/video-an-android-retrospective/

14.11.2025 18:36 πŸ‘ 23 πŸ” 3 πŸ’¬ 0 πŸ“Œ 1
Preview
The Hidden Cost of Default Hierarchy Template in Kotlin Multiplatform Introduction The Default Hierarchy Template in KMP projects is a great way to reduce...

Using the Default Hierarchy Template in KMP? You probably shouldn't πŸ‘€

It creates intermediate source sets you might not need β€” with real build cost. ⚠️

New article on the hidden costs and when to use a custom hierarchy instead πŸ‘‡

dev.to/rsicarelli/t...

14.11.2025 10:58 πŸ‘ 8 πŸ” 2 πŸ’¬ 1 πŸ“Œ 0

At Mozilla we make tech that puts people before profit. We make tech that is designed to help people live better lives. We make tech that is GOOD.

12.11.2025 18:49 πŸ‘ 13 πŸ” 4 πŸ’¬ 0 πŸ“Œ 0

Anyone wants to make a cool OSS contribution to the Kotlin ecosystem?

Integrate the Amper dependency resolver in Kotlin scripts and solve KT-42775, make scripting easier for everyone and learn about Gradle metadata at the same time.

youtrack.jetbrains.com/issue/KT-427...

10.11.2025 14:32 πŸ‘ 3 πŸ” 2 πŸ’¬ 1 πŸ“Œ 0
Preview
Gradle debug recipes Get insights into your Gradle build.

I shared how I typicallyl debug my Gradle builds

mbonnin.net/2025-11-08_g...

10.11.2025 09:13 πŸ‘ 12 πŸ” 5 πŸ’¬ 2 πŸ“Œ 0
Google Issue Tracker

I've upgraded to the last @androidstudio.bsky.social stable version and suddenly started to experience a few issues. The most annoying is the debugger randomly throwing Stack Overflow.

If you are experiencing the same, please consider voting for this issue: issuetracker.google.com/issues/45229...

07.11.2025 21:01 πŸ‘ 2 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

Will it enable hot reload in other targets as well, or do we still need to add desktop as a target to have it?

07.11.2025 20:57 πŸ‘ 1 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0
Preview
The LeakCanary Method This blog post shares a method for root causing Android memory leaks

I turned a leak investigation into a post on the Block eng blog to share a method that works well!

It's a bit long... I had to show how to encode code knowledge to automate leak investigations, and digΒ even deeper with YourKit Java Profiler.

engineering.block.xyz/blog/the-lea...

#AndroidDev

21.10.2025 09:00 πŸ‘ 23 πŸ” 10 πŸ’¬ 1 πŸ“Œ 2
Post image

Working on a plugin that provides real-time stability analysis for Jetpack Compose functions in Android Studio.

20.10.2025 13:16 πŸ‘ 43 πŸ” 4 πŸ’¬ 6 πŸ“Œ 1

If you're a senior+ developer and your GitHub looks like this.... I assume you have some mixture of positive work life balance, a spouse and children, and hobbies outside of coding.

What I don't assume is anything about your ability to write great software.

09.09.2025 12:08 πŸ‘ 5 πŸ” 1 πŸ’¬ 0 πŸ“Œ 0
Your GitHub history can look like this, and it’s ok.

If you know you can do a job, apply. I've met so many great devs that weren't active on GitHub publicly.

We need to understand that not everybody prioritizes side projects, for many reasons. And that does not invalidate them for the job, at

Your GitHub history can look like this, and it’s ok. If you know you can do a job, apply. I've met so many great devs that weren't active on GitHub publicly. We need to understand that not everybody prioritizes side projects, for many reasons. And that does not invalidate them for the job, at

Your GitHub history can look like this, and it’s ok.

If you know you can do a job, apply. I've met so many great devs that weren't active on GitHub publicly.

We need to understand that not everybody prioritizes side projects, for many reasons. And that does not invalidate them for the job, at

09.09.2025 05:46 πŸ‘ 8 πŸ” 1 πŸ’¬ 0 πŸ“Œ 1

Open-sourced my Android-in-VS-Code experiment.

A Gradle plugin that generates workspace files for Kotlin LSP. Many things don't work, but some do πŸ˜…
github.com/desugar-64/k...

#AndroidDev #VSCode

30.08.2025 01:11 πŸ‘ 8 πŸ” 2 πŸ’¬ 0 πŸ“Œ 0

There's no good reason why people distributing apps outside the Play Store should need to provide their personal data to Google.

This is just taking Android into the horrible world of dev accounts and notarization that Apple enforces.

26.08.2025 04:27 πŸ‘ 47 πŸ” 17 πŸ’¬ 3 πŸ“Œ 0

While IntelliJ IDEA, and build projects, work fine, AS 2025.1.2 still marks it as experimental.

Am I missing something?

07.08.2025 12:05 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

I was excited to upgrade a project I work to Kotlin 2.2.0 as it turns when-guards stable and I would be able to remove the annoying warning: "This build uses unsafe internal compiler arguments: --XXLanguage:+WhenGuards"

Android Studio: Nope.

07.08.2025 12:05 πŸ‘ 0 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0