/[projects]/android/TrainInfo/src/dk/thoerup/traininfo/DepartureListAdapter.java
ViewVC logotype

Diff of /android/TrainInfo/src/dk/thoerup/traininfo/DepartureListAdapter.java

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 336 by torben, Wed Sep 23 12:51:49 2009 UTC revision 981 by torben, Sat Jul 10 16:03:10 2010 UTC
# Line 1  Line 1 
1  package dk.thoerup.traininfo;  package dk.thoerup.traininfo;
2    
3    import java.util.HashMap;
4  import java.util.List;  import java.util.List;
5    import java.util.Map;
6    
7  import android.content.Context;  import android.content.Context;
8  import android.view.LayoutInflater;  import android.view.LayoutInflater;
# Line 12  import android.widget.TextView; Line 14  import android.widget.TextView;
14    
15  public class DepartureListAdapter extends BaseAdapter {  public class DepartureListAdapter extends BaseAdapter {
16    
17          private List<DepartureBean> departures;          private List<DepartureEntry> departures;
18          LayoutInflater inflater;          LayoutInflater inflater;
19          Context context;          Context context;
20            
21            static Map<String,Integer> imageMap = new HashMap<String,Integer>();
22            static {
23                    buildImageMap();
24            }
25            
26          public DepartureListAdapter(Context context) {          public DepartureListAdapter(Context context) {
27                  super();                  super();
28                  this.context = context;                  this.context = context;
29                                    
30                  inflater = (LayoutInflater)context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);                  inflater = (LayoutInflater)context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
31                    
32          }          }
33                    
34          public void setDepartures(List<DepartureBean> departures) {          public void setDepartures(List<DepartureEntry> departures) {
35                  this.departures = departures;                  this.departures = departures;
36                  notifyDataSetChanged();                  notifyDataSetChanged();
37          }          }
# Line 35  public class DepartureListAdapter extend Line 44  public class DepartureListAdapter extend
44                          return 0;                          return 0;
45          }          }
46                    
47          public DepartureBean getDeparture(int position) {          public DepartureEntry getDeparture(int position) {
48                  return departures.get(position);                  return departures.get(position);
49          }          }
50    
# Line 51  public class DepartureListAdapter extend Line 60  public class DepartureListAdapter extend
60    
61          @Override          @Override
62          public View getView(int position, View convertView, ViewGroup parent) {          public View getView(int position, View convertView, ViewGroup parent) {
63                  DepartureBean station = departures.get(position);                  DepartureEntry station = departures.get(position);
64    
65                  View root = inflater.inflate(R.layout.departurerow , parent, false);                  View root = inflater.inflate(R.layout.departurerow , parent, false);
66                                    
# Line 60  public class DepartureListAdapter extend Line 69  public class DepartureListAdapter extend
69                                    
70                  if (station.getStatus().length() > 0 || station.getNote().length() > 0) {                  if (station.getStatus().length() > 0 || station.getNote().length() > 0) {
71                          ImageView image = (ImageView) root.findViewById(R.id.InfoIcon);                          ImageView image = (ImageView) root.findViewById(R.id.InfoIcon);
72                          image.setImageResource(R.drawable.info20);                          
73                            String status = station.getStatus().toLowerCase();
74                            String note = station.getNote().toLowerCase();
75                            
76                            int iconID;
77                            if (status.indexOf("aflyst") > -1 || note.indexOf("aflyst") > -1 ) {
78                                    iconID = R.drawable.warn20;
79                            } else if (note.indexOf("kører kun til") > -1 || note.indexOf("afgÃ¥r fra") > -1) { //If these strings are present, the train only covers part of the line
80                                    iconID = R.drawable.warnyellow20;
81                            } else {
82                                    iconID = R.drawable.info20;
83                            }
84                                    
85                            image.setImageResource( iconID );
86                  }                  }
87                                    
88                  ImageView typeIcon = (ImageView) root.findViewById(R.id.TypeIcon);                  ImageView typeIcon = (ImageView) root.findViewById(R.id.TypeIcon);
89                  String trainNumber = station.getTrainNumber() + " "; //Ugly hack: Append space do simplify icon selection code                  String trainNumber = station.getTrainNumber().trim();
90                                    String code = trainNumber.split(" ")[0].toLowerCase();
91                  if ( trainNumber.substring(0, 2).equalsIgnoreCase("ra")) { //ra = regionaltog arriva          
92                          typeIcon.setImageResource(R.drawable.re);                  Integer imageId = imageMap.get(code);
93                  } else if (  trainNumber.substring(0, 2).equalsIgnoreCase("re")) {                  if (imageId != null) {
94                          typeIcon.setImageResource(R.drawable.re);                          typeIcon.setImageResource(imageId);
95                  } else if (  trainNumber.substring(0,1).equalsIgnoreCase("l")) {                  } else {
                         typeIcon.setImageResource(R.drawable.lyn);  
                 } else if (  trainNumber.substring(0,2).equalsIgnoreCase("ic")) {  
                         typeIcon.setImageResource(R.drawable.ic);  
                 } else if ( trainNumber.substring(0,2).equalsIgnoreCase("pp")) {  
                         typeIcon.setImageResource(R.drawable.pp);  
                 } else if ( trainNumber.substring(0,2).equalsIgnoreCase("Ør")) {  
                         typeIcon.setImageResource(R.drawable.or);  
                 } else if ( trainNumber.equalsIgnoreCase("a ") ) {  
                         typeIcon.setImageResource(R.drawable.stog_a); //S-Tog: A banen #00b5f1  
                 } else if ( trainNumber.equalsIgnoreCase("b ") ) {  
                         typeIcon.setImageResource(R.drawable.stog_b); //S-Tog:B banen #5aba52  
                 } else if ( trainNumber.equalsIgnoreCase("bx ") ) {  
                         typeIcon.setImageResource(R.drawable.stog_bx); //S-Tog:Bx banen #a4d17d  
                 } else if ( trainNumber.equalsIgnoreCase("c ") ) {  
                         typeIcon.setImageResource(R.drawable.stog_c); //S-Tog:C banen #f89734  
                 } else if ( trainNumber.equalsIgnoreCase("e ") ) {  
                         typeIcon.setImageResource(R.drawable.stog_e); //S-Tog:E banen #837eba  
                 } else if ( trainNumber.equalsIgnoreCase("f ") ) {  
                         typeIcon.setImageResource(R.drawable.stog_f); //S-Tog:F banen #ffc32d  
                 } else if ( trainNumber.equalsIgnoreCase("h ") ) {  
                         typeIcon.setImageResource(R.drawable.stog_h); //S-Tog:H banen #f05737  
                 }  else {  
96                          typeIcon.setImageResource(R.drawable.unknown);                          typeIcon.setImageResource(R.drawable.unknown);
97                  }                  }
                 //Mangler: SJ=Sverige?, EC,        
                   
                   
98                                    
99                  return root;                  return root;
100          }          }
101            
102            private static void buildImageMap() {
103                    imageMap.put("ra", R.drawable.re); //RA = regionaltog arriva
104                    imageMap.put("re", R.drawable.re); //RE = Regionaltog
105                    imageMap.put("l", R.drawable.lyn); //L =  Lyn
106                    imageMap.put("ic", R.drawable.ic); //IC = Intercity
107                    imageMap.put("pp", R.drawable.pp); //PP = Privatbaner (eg. odderbanen eller LokalBanen)
108                    imageMap.put("ør", R.drawable.or); //ØR = Øresundstog
109                    imageMap.put("ec", R.drawable.ec); //EC = EuroCity
110                    imageMap.put("sj", R.drawable.sj); // SJ=Svenska Jernbaner
111                    imageMap.put("ie", R.drawable.ie);
112                    
113                    imageMap.put("a", R.drawable.stog_a);   //S-Tog: A banen #00b5f1                                
114                    imageMap.put("b", R.drawable.stog_b);   //S-Tog:B banen #5aba52
115                    imageMap.put("bx", R.drawable.stog_bx); //S-Tog:Bx banen #a4d17d
116                    imageMap.put("c", R.drawable.stog_c);   //S-Tog:C banen #f89734
117                    imageMap.put("e", R.drawable.stog_e);   //S-Tog:E banen #837eba
118                    imageMap.put("f", R.drawable.stog_f);   //S-Tog:F banen #ffc32d
119                    imageMap.put("h", R.drawable.stog_h);   //S-Tog:H banen #f05737
120                    
121    
122    
123            }
124    
125  }  }

Legend:
Removed from v.336  
changed lines
  Added in v.981

  ViewVC Help
Powered by ViewVC 1.1.20