DownloaderWrapper.java 2.0 KB

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