1 package org.hedgewars.hedgeroid; |
1 package org.hedgewars.hedgeroid; |
2 |
2 |
3 import java.util.Comparator; |
3 import java.util.ArrayList; |
|
4 import java.util.Collection; |
|
5 import java.util.Collections; |
|
6 import java.util.List; |
4 |
7 |
5 import org.hedgewars.hedgeroid.R; |
8 import org.hedgewars.hedgeroid.R; |
6 import org.hedgewars.hedgeroid.Datastructures.TeamInGame; |
9 import org.hedgewars.hedgeroid.Datastructures.TeamInGame; |
7 import org.hedgewars.hedgeroid.Datastructures.TeamIngameAttributes; |
10 import org.hedgewars.hedgeroid.Datastructures.TeamIngameAttributes; |
8 import org.hedgewars.hedgeroid.util.ObservableTreeMapAdapter; |
|
9 |
11 |
10 import android.graphics.drawable.ColorDrawable; |
12 import android.graphics.drawable.ColorDrawable; |
11 import android.graphics.drawable.Drawable; |
13 import android.graphics.drawable.Drawable; |
12 import android.view.LayoutInflater; |
14 import android.view.LayoutInflater; |
13 import android.view.View; |
15 import android.view.View; |
14 import android.view.View.OnClickListener; |
16 import android.view.View.OnClickListener; |
15 import android.view.ViewGroup; |
17 import android.view.ViewGroup; |
|
18 import android.widget.BaseAdapter; |
16 import android.widget.ImageButton; |
19 import android.widget.ImageButton; |
17 import android.widget.TextView; |
20 import android.widget.TextView; |
18 |
21 |
19 public class TeamlistAdapter extends ObservableTreeMapAdapter<String, TeamInGame> { |
22 public class TeamlistAdapter extends BaseAdapter { |
20 private boolean colorHogcountEnabled = false; |
23 private boolean colorHogcountEnabled = false; |
21 private Listener listener; |
24 private Listener listener; |
|
25 private List<TeamInGame> teams = new ArrayList<TeamInGame>(); |
22 |
26 |
23 @Override |
|
24 protected Comparator<TeamInGame> getEntryOrder() { |
|
25 return TeamInGame.NAME_ORDER; |
|
26 } |
|
27 |
|
28 public void setColorHogcountEnabled(boolean colorHogcountEnabled) { |
27 public void setColorHogcountEnabled(boolean colorHogcountEnabled) { |
29 this.colorHogcountEnabled = colorHogcountEnabled; |
28 this.colorHogcountEnabled = colorHogcountEnabled; |
30 notifyDataSetChanged(); |
29 notifyDataSetChanged(); |
31 } |
30 } |
32 |
31 |
33 public void setListener(Listener listener) { |
32 public void setListener(Listener listener) { |
34 this.listener = listener; |
33 this.listener = listener; |
|
34 } |
|
35 |
|
36 public int getCount() { |
|
37 return teams.size(); |
|
38 } |
|
39 |
|
40 public TeamInGame getItem(int position) { |
|
41 return teams.get(position); |
|
42 } |
|
43 |
|
44 public long getItemId(int position) { |
|
45 return position; |
|
46 } |
|
47 |
|
48 @Override |
|
49 public boolean hasStableIds() { |
|
50 return false; |
|
51 } |
|
52 |
|
53 public void updateTeamlist(Collection<TeamInGame> newTeams) { |
|
54 teams.clear(); |
|
55 teams.addAll(newTeams); |
|
56 Collections.sort(teams, TeamInGame.NAME_ORDER); |
|
57 notifyDataSetChanged(); |
35 } |
58 } |
36 |
59 |
37 public View getView(int position, View convertView, ViewGroup parent) { |
60 public View getView(int position, View convertView, ViewGroup parent) { |
38 View v = convertView; |
61 View v = convertView; |
39 if (v == null) { |
62 if (v == null) { |