23 |
23 |
24 import org.hedgewars.hedgeroid.R; |
24 import org.hedgewars.hedgeroid.R; |
25 import org.hedgewars.hedgeroid.Datastructures.Player; |
25 import org.hedgewars.hedgeroid.Datastructures.Player; |
26 import org.hedgewars.hedgeroid.util.ObservableTreeMapAdapter; |
26 import org.hedgewars.hedgeroid.util.ObservableTreeMapAdapter; |
27 |
27 |
|
28 import android.graphics.Color; |
|
29 import android.graphics.Typeface; |
|
30 import android.text.Spannable; |
|
31 import android.text.SpannableString; |
|
32 import android.text.Spanned; |
|
33 import android.text.style.ForegroundColorSpan; |
|
34 import android.text.style.StyleSpan; |
28 import android.view.LayoutInflater; |
35 import android.view.LayoutInflater; |
29 import android.view.View; |
36 import android.view.View; |
30 import android.view.ViewGroup; |
37 import android.view.ViewGroup; |
31 import android.widget.TextView; |
38 import android.widget.TextView; |
32 |
39 |
34 * Simple adapter for displaying the list of players in the lobby. |
41 * Simple adapter for displaying the list of players in the lobby. |
35 */ |
42 */ |
36 public class LobbyPlayerlistAdapter extends ObservableTreeMapAdapter<String, Player> { |
43 public class LobbyPlayerlistAdapter extends ObservableTreeMapAdapter<String, Player> { |
37 @Override |
44 @Override |
38 protected Comparator<Player> getEntryOrder() { |
45 protected Comparator<Player> getEntryOrder() { |
39 return Player.NAME_ORDER; |
46 return Player.ADMIN_NAME_ORDER; |
40 } |
47 } |
41 |
48 |
42 public View getView(int position, View convertView, ViewGroup parent) { |
49 public View getView(int position, View convertView, ViewGroup parent) { |
43 View v = convertView; |
50 View v = convertView; |
44 if (v == null) { |
51 if (v == null) { |
45 LayoutInflater vi = LayoutInflater.from(parent.getContext()); |
52 LayoutInflater vi = LayoutInflater.from(parent.getContext()); |
46 v = vi.inflate(R.layout.listview_player, null); |
53 v = vi.inflate(R.layout.listview_player, null); |
47 } |
54 } |
48 |
55 |
49 String player = getItem(position).name; |
56 Player player = getItem(position); |
50 TextView username = (TextView) v.findViewById(android.R.id.text1); |
57 TextView username = (TextView) v.findViewById(android.R.id.text1); |
51 username.setText(player); |
58 Spannable spannable = new SpannableString(player.name); |
|
59 if(player.registered) { |
|
60 spannable.setSpan(new StyleSpan(Typeface.BOLD), 0, spannable.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); |
|
61 } |
|
62 if(player.admin) { |
|
63 spannable.setSpan(new ForegroundColorSpan(Color.YELLOW), 0, spannable.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); |
|
64 } |
|
65 username.setText(spannable); |
52 return v; |
66 return v; |
53 } |
67 } |
54 } |
68 } |