DownloaderWrapper.java 2.2 KB

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