package tof.cv.mpp.rss;
import java.net.MalformedURLException;
import java.net.URL;
import tof.cv.mpp.R;
import tof.cv.mpp.TrafficFragment;
import tof.cv.mpp.adapter.TrafficAdapter;
import android.content.Context;
import android.os.AsyncTask;
import android.util.Log;
import android.view.LayoutInflater;
import android.widget.TextView;
public class DownloadTrafficTask extends AsyncTask<URL, Integer, Long> {
private RSSFeed myRssFeed;
private Context context;
private LayoutInflater layoutInflater;
private String lang;
private TrafficFragment trafFrag;
public DownloadTrafficTask(TrafficFragment trafFrag) {
this.trafFrag = trafFrag;
context = trafFrag.getActivity();
myRssFeed = trafFrag.getRssFeed();
layoutInflater = trafFrag.getActivity().getLayoutInflater();
lang = trafFrag.getLang();
}
protected Long doInBackground(URL... params) {
updateData();
return null;
}
protected void onPostExecute(Long result) {
try {
Log.e("CVE", "" + myRssFeed);
if (myRssFeed != null) {
if (myRssFeed.getList() != null && myRssFeed.getList().size() > 0) {
TrafficAdapter adapter = new TrafficAdapter(context,
R.layout.row_rss, myRssFeed.getList(), layoutInflater,
myRssFeed);
trafFrag.setListAdapter(adapter);
trafFrag.setRssFeed(myRssFeed);
} else
((TextView) trafFrag.getView().findViewById(android.R.id.empty)).setText(R.string.issues_empty);
} else
((TextView) trafFrag.getView().findViewById(android.R.id.empty)).setText(R.string.check_connection);
} catch (Exception e) {
e.printStackTrace();
}
//new DownloadOtherTrafficTask(trafFrag).execute();
}
private void updateData() {
try {
/*
* getting rss feed from the railtime.be website
*/
URL rssUrl = new URL(
"http://www.belgianrail.be/jp/sncb-nmbs-routeplanner/help.exe/" + lang + "n?tpl=rss_feed");
RSSDocument rssDoc = new RSSDocument(rssUrl);
myRssFeed = rssDoc.getRSSFeed();
} catch (MalformedURLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}