UploadProviderThread.java :  » UnTagged » anddos » com » si » anddos » library » main » Android Open Source

Android Open Source » UnTagged » anddos 
anddos » com » si » anddos » library » main » UploadProviderThread.java
package com.si.anddos.library.main;

import java.io.File;
import java.util.ArrayList;

import com.si.anddos.R;
import com.si.anddos.UploadProviderService;
import com.si.anddos.dpadapters.AnddosDbAdapter;
import com.si.anddos.dpadapters.DatabaseProvider;
import com.si.anddos.dpadapters.Upload;
import com.si.anddos.library.main.factory.ServiceProviderFactory;
import com.si.anddos.library.provider.ProviderMessage;
import com.si.anddos.library.provider.ServiceProvider;

public class UploadProviderThread extends Thread {

  private UploadProviderService ups;
  private DatabaseProvider dbProvider;
  private ArrayList<Upload> uploads;

  public UploadProviderThread(DatabaseProvider db, UploadProviderService ups) {
    this.dbProvider = db;
    this.ups = ups;
  }

  /**
   * function controls database for new not opened uploads and upload it
   */
  private void upload() {
    this.dbProvider.open();
    for (Upload u : this.uploads) {
      this.dbProvider.updateStatusUpload(u.getId(),
          AnddosDbAdapter.StatusProcessing);
      ServiceProvider udp = ServiceProviderFactory
          .getUploadProvider("rapidshare");
      File f = new File(u.getFilePath());

      ProviderMessage pm = new ProviderMessage(this.ups.getText(
          R.string.uploadServiceFinished).toString()
          + " " + u.getFileName(), this.ups);
      udp.upload(f, u.getAccount());
      this.dbProvider.updateStatusUpload(u.getId(),
          AnddosDbAdapter.StatusDone);
      pm.showMessage();
    }

    this.reloadUploads();
  }

  private void reloadUploads() {
    this.dbProvider.open();
    this.uploads = this.dbProvider.getAllWaitingUploads();
    this.dbProvider.close();

    if (this.uploads.isEmpty()) {
      this.ups.stopSelf();
    } else {
      this.upload();
    }
  }

  public void run() {
    this.reloadUploads();
  }
}
java2s.com  | Contact Us | Privacy Policy
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.