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 …

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, …

Android

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 …

Android

My way to clean Android

¡Hola desde Salamanca! He sido invitado como ponente al Android Day que organiza el GDG de Salamanca. He preparado una ponencia sobre clean architecture en Android que me gustaría compartir con vosotros. Las slides están accesibles en Slideshare, el video de la charla en: Youtube y por último y no menos importante el código de …

Android

Presentando Coordinator o como evitar flags

¿Cuantas de nuestras clases necesitan crear flags para coordinar varias tareas asincronas? Te presento Coordinator.

Una clase de utilidad que hará que evites flags para coordinar varias acciones. Simplemente almacena una lista de strings como ids de acciones y lanza un callback cuando todas estén terminadas. Este es un código sin Coordinator:

boolean completedOne = false;
boolean completedTwo …

Android

Quitando permisos innecesarios de librerías

Imaginate que usamos una librería de un tercero que hace varias cosas y usa permisos para una funcionalidad X que nosotros no usamos. Existe una solución, en gradle se hace un merge de todos los manifest de todas las librerías si añadimos esta directiva en nuestro manifest:

<uses-permission android:name=”android.permission.GET_ACCOUNTS” tools:node=”remove” />

le decimos expresamente al merger que …

Android

Pintando con gestos sobre una vista

Os presento una nueva librería para pintar sobre una View y obtener el resultado en un bitmap. Se trata de Drawable View para Android y es muy sencilla de usar, permite escalado con gestos y scroll con 2 dedos. Para configurarla es realmente sencilla, solo tienes que hacer es instanciar un objeto DrawableViewConfig y settear …

Android

Maneja la navegación entre fragmentos

¡Tenemos nueva librería! En casi todas las aplicaciones se nos da un caso o un par de casos en los que hay que manejar una navegación de fragmentos dentro de la misma Activity, es el típico caso en el que se empieza un proceso en el que quieres dar feedback al usuario de que está …

Android / Architecture

VIPER hangout

El pasado Miércoles 28 estuvimos hablando por hangouts on air Alberto Moraga, Pedro Piñera y yo sobre VIPER y en general arquitectura, os dejo las preguntas que se hicieron contestadas y el video del evento.

¿Qué beneficios habéis visto con este tipo de arquitectura?

Poder testar todas tus capas, independientemente de sus dependencias
Que tengas claro en todo …