/**
   * Méthode gérant la création de l'activité (ce qui peut correspondre à une vraie création ou à
   * une réinstanciation)
   *
   * @param activity l'activité en question
   * @param savedInstanceState l'état conservé
   */
  public void handleActivityCreation(GeekIncRssListActivity activity, Bundle savedInstanceState) {

    // Réattachement d'une tâche éventuelle
    ProgressTask task = listData.getTask();
    if (task == null) {
      // S'il s'agit du premier lancement, on lance tout le système
      // sinon, l'utilisateur devra faire "refresh"
      if (savedInstanceState == null) {
        launchReload(activity);
      } else {
        onRestoreInstanceState(savedInstanceState);
        updateView(activity);
      }
    } else {
      // Réattachement
      task.attach(activity);
      int oldProgress = 0;

      // On gère le cas d'un changement d'activité / rotation d'écran
      // avant la création du dialogue
      ProgressDialog dialog = listData.getDialog();
      if (dialog != null) {
        oldProgress = dialog.getProgress();
      }

      // Si le dialogue doit encore être affiché, on le recrée
      if (oldProgress < 100) {
        instantiateAndShowProgressDialog(activity, oldProgress);
      }
      updateProgress(activity, task.getProgress(), task.getPodcastElements(), task.getFluxRSS());
    }
  }
 /** Lance un reload du flux RSS si pas déjà en cours */
 public void launchReloadIfNeeded(GeekIncRssListActivity activity) {
   if ((listData.getTask() == null)
       || ((listData.getDialog() != null) && (listData.getDialog().getProgress() >= 100))) {
     launchReload(activity);
   }
 }
 /** Détache les tâches en cours */
 public void detachTask() {
   if (listData.getTask() != null) {
     listData.getTask().detach();
   }
 }