project_files/Android-build/SDL-android-project/src/org/hedgewars/hedgeroid/netplay/ObservableTreeMapAdapter.java
changeset 7508 763d3961400b
parent 7504 ed1d52c5aa94
child 7550 3c4b4cb40f40
--- a/project_files/Android-build/SDL-android-project/src/org/hedgewars/hedgeroid/netplay/ObservableTreeMapAdapter.java	Sat Aug 18 00:22:33 2012 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,62 +0,0 @@
-package org.hedgewars.hedgeroid.netplay;
-
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.Comparator;
-import java.util.List;
-
-import android.database.DataSetObserver;
-import android.widget.BaseAdapter;
-
-public abstract class ObservableTreeMapAdapter<K,V> extends BaseAdapter {
-	private boolean sourceChanged = true;
-	private List<V> entries = new ArrayList<V>();
-	private ObservableTreeMap<K, V> source;
-	
-	private DataSetObserver observer = new DataSetObserver() {
-		@Override
-		public void onChanged() {
-			sourceChanged = true;
-			notifyDataSetChanged();
-		}
-		
-		@Override
-		public void onInvalidated() {
-			invalidate();
-		}
-	};
-	
-	abstract protected Comparator<V> getEntryOrder();
-	
-	protected List<V> getEntries() {
-		if(sourceChanged) {
-			entries.clear();
-			entries.addAll(source.getMap().values());
-			Collections.sort(entries, getEntryOrder());
-			sourceChanged = false;
-		}
-		return entries;
-	}
-	
-	public int getCount() {
-		return getEntries().size();
-	}
-
-	public void setSource(ObservableTreeMap<K,V> source) {
-		if(this.source != null) {
-			this.source.unregisterObserver(observer);
-		}
-		this.source = source;
-		this.source.registerObserver(observer);
-		sourceChanged = true;
-		notifyDataSetChanged();
-	}
-	
-	public void invalidate() {
-		if(source != null) {
-			source.unregisterObserver(observer);
-		}
-		source = null;
-		notifyDataSetInvalidated();
-	}
-}
\ No newline at end of file