mirror of
https://github.com/eclipse-sailing-analytics/sailing-analytics.git
synced 2026-10-31 00:07:14 +00:00
fixed missing listener because of no unregister old races
This commit is contained in:
1 parent
e282374e1e
commit
b0db06a196
1 file changed
+19
-3
+19
-3
@@ -22,6 +22,7 @@ import android.os.Binder;
|
||||
import android.os.Build;
|
||||
import android.os.IBinder;
|
||||
import android.support.annotation.NonNull;
|
||||
import android.support.annotation.Nullable;
|
||||
import android.support.v4.app.NotificationCompat;
|
||||
import android.util.Pair;
|
||||
|
||||
@@ -184,6 +185,19 @@ public class RaceStateService extends Service {
|
||||
ExLog.i(this, TAG, "Race " + race.getId() + " unregistered");
|
||||
}
|
||||
|
||||
private void unregisterRace(@Nullable String raceId) {
|
||||
ManagedRace raceToUnregister = null;
|
||||
for (ManagedRace race: registeredStateEventSchedulers.keySet()) {
|
||||
if (race.getId().equals(raceId)) {
|
||||
raceToUnregister = race;
|
||||
}
|
||||
}
|
||||
|
||||
if (raceToUnregister != null) {
|
||||
unregisterRace(raceToUnregister);
|
||||
}
|
||||
}
|
||||
|
||||
private void handleStartCommand(Intent intent) {
|
||||
String action = intent.getAction();
|
||||
ExLog.i(this, TAG, String.format("Command action '%s' received.", action));
|
||||
@@ -337,12 +351,14 @@ public class RaceStateService extends Service {
|
||||
// ... and register for polling!
|
||||
poller.register(race);
|
||||
|
||||
this.registeredLogListeners.put(race, logListener);
|
||||
this.registeredStateEventSchedulers.put(race, stateEventScheduler);
|
||||
registeredLogListeners.put(race, logListener);
|
||||
registeredStateEventSchedulers.put(race, stateEventScheduler);
|
||||
|
||||
ExLog.i(this, TAG, "Race " + race.getId() + " registered.");
|
||||
} else {
|
||||
ExLog.w(this, TAG, "Race " + race.getId() + " was already registered. Ignoring.");
|
||||
ExLog.w(this, TAG, "Race " + race.getId() + " was already registered. Cleaning up.");
|
||||
unregisterRace(race.getId());
|
||||
registerRace(race);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in new issue
Block a user