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

Diff of /android/TrainInfo/src/dk/thoerup/traininfo/provider/OfflineStationProvider.java

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

revision 1558 by torben, Fri Jul 8 12:37:16 2011 UTC revision 1559 by torben, Fri Jul 8 13:58:21 2011 UTC
# Line 4  import java.io.EOFException; Line 4  import java.io.EOFException;
4  import java.io.File;  import java.io.File;
5  import java.io.FileInputStream;  import java.io.FileInputStream;
6  import java.io.FileOutputStream;  import java.io.FileOutputStream;
7    import java.io.IOException;
8  import java.io.ObjectInputStream;  import java.io.ObjectInputStream;
9  import java.io.ObjectOutputStream;  import java.io.ObjectOutputStream;
10    import java.net.URLEncoder;
11  import java.util.Collections;  import java.util.Collections;
12  import java.util.Comparator;  import java.util.Comparator;
13  import java.util.LinkedList;  import java.util.LinkedList;
# Line 19  import android.util.Log; Line 21  import android.util.Log;
21  import dk.thoerup.android.traininfo.common.StationBean;  import dk.thoerup.android.traininfo.common.StationBean;
22  import dk.thoerup.android.traininfo.common.StationEntry;  import dk.thoerup.android.traininfo.common.StationEntry;
23  import dk.thoerup.genericjavautils.HttpUtil;  import dk.thoerup.genericjavautils.HttpUtil;
24    import dk.thoerup.traininfo.util.DownloadUtil;
25  import dk.thoerup.traininfo.util.IntSet;  import dk.thoerup.traininfo.util.IntSet;
26  import dk.thoerup.traininfo.util.XmlUtil;  import dk.thoerup.traininfo.util.XmlUtil;
27    
# Line 111  public class OfflineStationProvider impl Line 114  public class OfflineStationProvider impl
114          @Override          @Override
115          public StationBean lookupStationsByLocation(Location location) {          public StationBean lookupStationsByLocation(Location location) {
116                                    
117                    statsByLocation(location);
118                    
119                  long start = System.currentTimeMillis();                  long start = System.currentTimeMillis();
120                  Location tmpLoc = new Location("GPS");                  Location tmpLoc = new Location("GPS");
121                                    
# Line 171  public class OfflineStationProvider impl Line 176  public class OfflineStationProvider impl
176    
177          @Override          @Override
178          public StationBean lookupStationsByIds(String ids) {          public StationBean lookupStationsByIds(String ids) {
179                    statsByIds(ids);
180                    
181                  IntSet idset = new IntSet();                  IntSet idset = new IntSet();
182                  idset.fromString(ids);                  idset.fromString(ids);
183                                    
# Line 183  public class OfflineStationProvider impl Line 190  public class OfflineStationProvider impl
190                                    
191                  return tmpStations;                  return tmpStations;
192          }          }
193            
194    
195            private void statsByLocation(Location location) {
196                    double lat = XmlStationProvider.roundToPlaces(location.getLatitude(), 4);
197                    double lng = XmlStationProvider.roundToPlaces(location.getLongitude(), 4);
198                    
199                    final String url = XmlUtil.SERVICE_BASE + "/LocateStations?latitude=" + lat + "&longitude=" + lng + "&dummy=1";
200                    Log.i("url", url);
201                    urlSender(url);
202            }
203            
204            private void statsByName(String name) {
205                    
206                    try {
207                            name = URLEncoder.encode(name, "ISO8859-1");    
208                    } catch (Exception e) {
209                            Log.e("lookupStations", "Encoding failed", e);//if encoding fails use original and hope for the best
210                    }
211                    
212                    String url = XmlUtil.SERVICE_BASE + "/LocateStations?name=" + name + "&dummy=1";
213                    Log.i("url", url);
214                    urlSender(url);
215            }
216            
217            private void statsByIds(String ids) {  
218                    final String url = XmlUtil.SERVICE_BASE + "/LocateStations?list=" + ids + "&dummy=1";
219                    Log.i("url", url);
220                    urlSender(url);
221            }
222            
223            private void urlSender(final String url) {
224                    Thread t = new Thread(new Runnable() {
225    
226                            @Override
227                            public void run() {
228                                    try {
229                                            DownloadUtil.getContentString(url, 15000, "ISO-8859-1");
230                                    } catch (IOException e) {
231                                            Log.e("TrainInfo", "stats failed");
232                                    }                              
233                            }                      
234                    });
235                    t.start();
236            }
237            
238    
239  }  }

Legend:
Removed from v.1558  
changed lines
  Added in v.1559

  ViewVC Help
Powered by ViewVC 1.1.20