Android / Development

Create a mapper easily

If you are used to implement clean architecture in your project you will know that the mappers are a very boring part to write. The mappers are needed to send data across boundaries and you need to be careful while you are writing it, because if you forget to map any field the data will …


Playing with the new support TabLayout

Today I had to implement the new TabLayout from the support library and this is my Tips&Tricks to implement the tabs in a painless way.

The default tab indicator is so thin and can’t be appreciated it if the background is similar to the indicator. The first thing to change is the tab indicator height by …


Some fixes to the injectors

I made some fixes to the injectors to make the use more flexible than the first version.

The first improvement is in the output injector, when I created it, I don’t had in mind to have two in the same presenter and this is a really common thing, so I fixed it.

The other fixes and improvements …

Android / Architecture

New implementation of Interactor Invoker

The interactors are the part of the business logic that follows the command pattern, one example implementation in Java is, for example, the ThreadPoolExecutor and the Runnables. The ThreadPoolExecutor is the invoker that executes the runnable (command). When we are using Interactors in our clean approach we are following the command pattern, so I’ve wrapped …


Moving to London

Today I’m proud to announce that I’m leaving Spain to move to London and become part of the Moni’s team, an international transfer app. I’m moving to London looking for new adventures and improve my English level (as you can see is not good enough :D) technically I need to improve my testing skills by …

Android / Architecture

New weapons against the bus

Hi, today I gave a talk in Droidcon Spain about Clean architecture, quite similar to the Salamanca but with some fixes and improvements over this implementation. Now I don’t use a bus for this architecture anymore and I reduced the boilerplate.

New implementation of Interactor Invoker

The new implementation of the invoker is based on Futures and …


Creating an Online backup of my stuff

I often travel from Valencia to Madrid to stay some days to see my teammates at Selltag and I always carry my laptop to develop while commuting. I have a little SSD (128GB) on my laptop where I storage all the code, system, etc.. I have also a HDD with 2TB USB3, on this drive …

Android / Architecture

Clean Android without bus

A lot of people are wondering why use a bus in my Clean Android implementation (Clean-Contacts repo on GitHub). And the reply is simple: I need to to get the reply of a previously launched interactor in a new instance of a presenter because on a rotation change the presenter is destroyed also the view, …


Coordinator as a library

Days ago I released a gist called “Coordinator” it was a simple class that handles X async actions and triggers a Runnable when all actions are complete. I saw some interest in Twitter / Github so I promoted the gist to library and I added Annotations to be easy to use.

Now you can configure Coordinator …


Dynamically creating playlist of artist’s popular songs

I do not use Spotify, play music or any streaming music service. I have a nice library in iTunes that is well labeled with my own ID3 Tags. I hear music around 6hr a day when I’m working because it keeps me focused in my work, that’s why I wear headphones with noise canceling too. …