<feed xmlns="http://www.w3.org/2005/Atom"> <id>https://galex.dev/</id><title>Alexander Gherschon</title><subtitle>Sharing my tips &amp; tricks about Android Development.</subtitle> <updated>2026-08-15T09:01:30+03:00</updated> <author> <name>Alexander Gherschon</name> <uri>https://galex.dev/</uri> </author><link rel="self" type="application/atom+xml" href="https://galex.dev/feed.xml"/><link rel="alternate" type="text/html" hreflang="en" href="https://galex.dev/"/> <generator uri="https://jekyllrb.com/" version="4.4.1">Jekyll</generator> <rights> © 2026 Alexander Gherschon </rights> <icon>/assets/img/favicons/favicon.ico</icon> <logo>/assets/img/favicons/favicon-96x96.png</logo> <entry><title>How to Give Our Coding Agent a Map of the App</title><link href="https://galex.dev/posts/how-to-give-our-coding-agent-a-map-of-the-app/" rel="alternate" type="text/html" title="How to Give Our Coding Agent a Map of the App" /><published>2026-08-15T00:00:00+03:00</published> <updated>2026-08-15T00:00:00+03:00</updated> <id>https://galex.dev/posts/how-to-give-our-coding-agent-a-map-of-the-app/</id> <content src="https://galex.dev/posts/how-to-give-our-coding-agent-a-map-of-the-app/" /> <author> <name>Alexander Gherschon</name> </author> <category term="Android" /> <category term="AI" /> <summary> Our agent can finally see the running app, through the probe we built in How to Make Our Coding Agent Fully Independent. It still has no idea where anything is. 😅 Watch it work. It wants to check the toy detail screen, so it runs probe ui-snapshot, reads every element of the list screen, decides that a card looks tappable, taps it, and dumps the whole screen again to find out where it landed... </summary> </entry> <entry><title>How to Make Our Coding Agent Fully Independent</title><link href="https://galex.dev/posts/how-to-make-your-coding-agent-fully-independent/" rel="alternate" type="text/html" title="How to Make Our Coding Agent Fully Independent" /><published>2026-08-10T00:00:00+03:00</published> <updated>2026-08-10T00:00:00+03:00</updated> <id>https://galex.dev/posts/how-to-make-your-coding-agent-fully-independent/</id> <content src="https://galex.dev/posts/how-to-make-your-coding-agent-fully-independent/" /> <author> <name>Alexander Gherschon</name> </author> <category term="Android" /> <category term="AI" /> <summary> Our agent writes Compose code, the build goes green, and it tells us the feature is done. Then we install the app, we look at it, we describe what’s wrong in words, the agent fixes it, and around we go again. The agent is fast at every step except the one that decides whether the work is any good, and that step goes through us. 😅 So how do we let our agent look at the app by itself? ℹ️ T... </summary> </entry> <entry><title>Saving ViewModel State with Serialization</title><link href="https://galex.dev/posts/saving-viewmodel-state-with-serialization/" rel="alternate" type="text/html" title="Saving ViewModel State with Serialization" /><published>2026-07-21T00:00:00+03:00</published> <updated>2026-07-21T00:00:00+03:00</updated> <id>https://galex.dev/posts/saving-viewmodel-state-with-serialization/</id> <content src="https://galex.dev/posts/saving-viewmodel-state-with-serialization/" /> <author> <name>Alexander Gherschon</name> </author> <category term="Android" /> <category term="State Management" /> <summary> We already know that Process Death is the rule, not the exception, and we’ve seen how to solve those issues with State Management. In a ViewModel, the tool for the job is SavedStateHandle. But the way we’re usually taught to use it doesn’t scale past two or three fields, and I’d like to show you an alternative that scales to any screen, for free. What we’re building Let’s take a small, bor... </summary> </entry> <entry><title>How to provide View IDs in Jetpack Compose</title><link href="https://galex.dev/posts/how-to-provide-view-ids-in-compose/" rel="alternate" type="text/html" title="How to provide View IDs in Jetpack Compose" /><published>2025-04-05T00:00:00+03:00</published> <updated>2025-04-05T00:00:00+03:00</updated> <id>https://galex.dev/posts/how-to-provide-view-ids-in-compose/</id> <content src="https://galex.dev/posts/how-to-provide-view-ids-in-compose/" /> <author> <name>Alexander Gherschon</name> </author> <category term="Android" /> <category term="Compose" /> <summary> Automation Frameworks like Appium Inspector or Maestro Studio need to find views ids in our mobile apps to be able to interact with its views and run the thousands of E2E tests we have in our projects. But in the new world of Jetpack Compose, we don’t have XML files anymore, so we don’t have View IDs anymore, so how do we provide those IDs to the automation framework? Definition of Done Be... </summary> </entry> <entry><title>Detecting Process Death issues with Maestro</title><link href="https://galex.dev/posts/how-to-detect-process-death-issues-with-maestro/" rel="alternate" type="text/html" title="Detecting Process Death issues with Maestro" /><published>2024-08-08T00:00:00+03:00</published> <updated>2024-08-08T00:00:00+03:00</updated> <id>https://galex.dev/posts/how-to-detect-process-death-issues-with-maestro/</id> <content src="https://galex.dev/posts/how-to-detect-process-death-issues-with-maestro/" /> <author> <name>Alexander Gherschon</name> </author> <category term="Android" /> <category term="Process Death" /> <summary> After explaining what System-initiated Process Death is, showing how to detect it manually and automate detection with Appium, I’d like to demonstrate how to automate detection this time with Maestro, a relatively new Automation tool! 🎉 What is Maestro? Maestro is a command line tool that allows us to run end-to-end UI tests, written in a simple YAML format. Run the following command to in... </summary> </entry> </feed>
