mirror of
https://github.com/eclipse-sailing-analytics/sailing-analytics.git
synced 2026-10-30 15:57:11 +00:00
# fixed lifecycle bug in ManagedRaceListFragment
This commit is contained in:
1 parent
1194542724
commit
a84182c32c
1 file changed
+25
-12
+25
-12
@@ -62,6 +62,13 @@ public class ManagedRaceListFragment extends ListFragment implements JuryFlagCli
|
||||
adapter.getFilter().filter("");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onStart() {
|
||||
super.onStart();
|
||||
unregisterAllRaces();
|
||||
registerAllRaces();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onStop() {
|
||||
unregisterAllRaces();
|
||||
@@ -74,14 +81,25 @@ public class ManagedRaceListFragment extends ListFragment implements JuryFlagCli
|
||||
super.onDestroy();
|
||||
}
|
||||
|
||||
public void setupOn(Collection<ManagedRace> listOfManagedRaces) {
|
||||
unregisterAllRaces();
|
||||
|
||||
// save races
|
||||
for (ManagedRace managedRace : listOfManagedRaces) {
|
||||
managedRacesById.put(managedRace.getId(), managedRace);
|
||||
private void registerAllRaces() {
|
||||
for (ManagedRace managedRace : managedRacesById.values()) {
|
||||
managedRace.getState().registerListener(this);
|
||||
}
|
||||
}
|
||||
|
||||
private void unregisterAllRaces() {
|
||||
for (ManagedRace managedRace : managedRacesById.values()) {
|
||||
managedRace.getState().unregisterListener(this);
|
||||
}
|
||||
}
|
||||
|
||||
public void setupOn(Collection<ManagedRace> listOfManagedRaces) {
|
||||
unregisterAllRaces();
|
||||
managedRacesById.clear();
|
||||
for (ManagedRace managedRace : listOfManagedRaces) {
|
||||
managedRacesById.put(managedRace.getId(), managedRace);
|
||||
}
|
||||
registerAllRaces();
|
||||
|
||||
// initialize view
|
||||
initListElements(false);
|
||||
@@ -92,13 +110,8 @@ public class ManagedRaceListFragment extends ListFragment implements JuryFlagCli
|
||||
}
|
||||
}
|
||||
|
||||
private void unregisterAllRaces() {
|
||||
for (ManagedRace managedRace : managedRacesById.values()) {
|
||||
managedRace.getState().unregisterListener(this);
|
||||
}
|
||||
}
|
||||
|
||||
public void onRaceStateChanged(RaceState state) {
|
||||
ExLog.i("!!!!!!!!!", "State changed");
|
||||
notifyDataChanged();
|
||||
}
|
||||
|
||||
|
||||
Reference in new issue
Block a user