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