project_files/Android-build/SDL-android-project/src/org/hedgewars/hedgeroid/netplay/PlayerList.java
changeset 7352 641f11cdd319
parent 7342 0e29eec2df5c
child 7355 5673e95ef647
--- a/project_files/Android-build/SDL-android-project/src/org/hedgewars/hedgeroid/netplay/PlayerList.java	Sat Jul 21 14:56:52 2012 +0200
+++ b/project_files/Android-build/SDL-android-project/src/org/hedgewars/hedgeroid/netplay/PlayerList.java	Mon Jul 23 00:17:06 2012 +0200
@@ -1,12 +1,28 @@
 package org.hedgewars.hedgeroid.netplay;
 
-public class PlayerList extends ObservableLinkedHashMap<String, Player> {
+import java.util.Collections;
+import java.util.Map;
+import java.util.TreeMap;
+
+import android.database.DataSetObservable;
+
+public class PlayerList extends DataSetObservable {
 	private long nextId = 1;
+	private Map<String, Player> players = new TreeMap<String, Player>();
 	
 	public void addPlayerWithNewId(String name) {
 		Player p = new Player(name, nextId++);
-		put(name, p);
+		players.put(name, p);
+		notifyChanged();
 	}
 	
-	public interface Observer extends ObservableLinkedHashMap.Observer<String, Player> {}
+	public void removePlayer(String name) {
+		if(players.remove(name) != null) {
+			notifyChanged();
+		}
+	}
+
+	public Map<String, Player> getMap() {
+		return Collections.unmodifiableMap(players);
+	}
 }