package org.cacahuete.app.feedreader.db;
import java.net.URL;
import java.util.ArrayList;
import nl.matshofman.saxrssreader.RssItem;
import android.app.IntentService;
import android.content.Intent;
import android.os.ResultReceiver;
import android.util.Log;
public class RssIntentService extends IntentService {
private static final String TAG = "RssIntentService";
private ResultReceiver resultReceiver;
public RssIntentService() {
super(TAG);
}
@Override
protected void onHandleIntent(Intent intent) {
Log.d(TAG, "iniciando IntentService");
resultReceiver = (ResultReceiver) intent.getParcelableExtra("EXTRA_MYRESULTRECEIVER");
RssReload reloadTask = new RssReload();
reloadTask.borrarArticulos(getContentResolver());
reloadTask.loadFeeds(getContentResolver());
if(resultReceiver != null) {
resultReceiver.send(10, null);
}
Float porcentaje_por_feed=(float) (90/reloadTask.getNumberOfFeeds());
Float porcentaje_acumulado=Float.valueOf(10);
Log.d(TAG,"Porcentaje por feed es "+porcentaje_por_feed.toString());
Log.d(TAG,"Progreso es "+porcentaje_acumulado.toString()+".Hay "+reloadTask.getNumberOfFeeds()+" feeds");
for(URL url : reloadTask.getFeedList()) {
ArrayList<RssItem> lista_articulos=reloadTask.reloadArticlesForFeed(url);
// Log.d(TAG,"Progreso es "+porcentaje_acumulado.toString()+".Hay "+lista_articulos.size()+" articulos en feed");
Float porcentaje_por_articulo=porcentaje_por_feed/lista_articulos.size();
Log.d(TAG,"El porcentaje por articulo es "+porcentaje_por_articulo.toString());
for(RssItem rssItem : lista_articulos) {
reloadTask.insertArticle(getContentResolver(), rssItem);
porcentaje_acumulado=porcentaje_acumulado+porcentaje_por_articulo;
Log.d(TAG,"Progreso es "+porcentaje_acumulado.toString()+", insertando articulo");
Integer progreso=Math.round(porcentaje_acumulado);
if(resultReceiver != null) {
resultReceiver.send(progreso, null);
}
}
}
}
@Override
public void onCreate() {
Log.d(TAG, "onCreate");
super.onCreate();
}
@Override
public void onDestroy() {
Log.d(TAG, "onDestroy");
super.onDestroy();
}
}