DownloaderWrapper.java 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. package com.epson.iprint.storage.gdrivev3;
  2. import android.support.annotation.NonNull;
  3. import android.support.annotation.Nullable;
  4. import com.epson.iprint.storage.gdrivev3.DownloadTask;
  5. import com.epson.iprint.storage.gdrivev3.DriveListTask;
  6. import com.google.android.gms.auth.api.signin.GoogleSignInAccount;
  7. public class DownloaderWrapper {
  8. private DownloadTask mDownloadTask;
  9. private GoogleDownloader mGoogleDownloader;
  10. public boolean createDownloader(@NonNull ActivityWrapper activityWrapper, @NonNull GoogleSignInAccount googleSignInAccount) {
  11. this.mGoogleDownloader = GoogleDownloader.createGoogleDownloader(activityWrapper.getActivity(), googleSignInAccount);
  12. return this.mGoogleDownloader != null;
  13. }
  14. public void invalidateDownloader() {
  15. this.mGoogleDownloader = null;
  16. }
  17. public boolean isDownloadValid() {
  18. return this.mGoogleDownloader != null;
  19. }
  20. public void startDownload(@NonNull ActivityWrapper activityWrapper, @NonNull OnlineFile onlineFile, @NonNull DownloadTask.DownloadCompleteListener downloadCompleteListener) {
  21. GoogleDownloader googleDownloader = this.mGoogleDownloader;
  22. if (googleDownloader != null) {
  23. this.mDownloadTask = googleDownloader.startDownload(activityWrapper, onlineFile, downloadCompleteListener);
  24. return;
  25. }
  26. throw new IllegalStateException();
  27. }
  28. public void startListTask(@Nullable OnlineFile onlineFile, @NonNull DriveListTask.ListTaskCompleteListener listTaskCompleteListener) {
  29. GoogleDownloader googleDownloader = this.mGoogleDownloader;
  30. if (googleDownloader != null) {
  31. googleDownloader.startListTask(onlineFile, listTaskCompleteListener);
  32. return;
  33. }
  34. throw new IllegalStateException();
  35. }
  36. public boolean isRootFolder() {
  37. return this.mGoogleDownloader.isRootFolder();
  38. }
  39. public void cancelDownload() {
  40. DownloadTask downloadTask = this.mDownloadTask;
  41. if (downloadTask != null) {
  42. downloadTask.cancelTask();
  43. }
  44. }
  45. public void onDownloadPreviewEnd() {
  46. DownloadTask downloadTask = this.mDownloadTask;
  47. if (downloadTask != null) {
  48. downloadTask.deleteDownloadFile();
  49. }
  50. }
  51. }