MetroList: evitar el fallo por desvincular dos veces el servicio

Escrito por Alessio el 15/3/2026

Problema

Una condición de carrera en el ciclo de vida de MainActivity podía llamar dos veces a unbindService() y provocar IllegalArgumentException.

Cambios

Registré el estado con isServiceBound, protegí las llamadas de desvinculación y reuní la limpieza en safeUnbindService(). La detención del servicio no depende de la desvinculación.

Resultado

La limpieza del servicio es determinista y la doble desvinculación ya no provoca el fallo descrito.

Commit: MetrolistGroup/Metrolist@a00968f