OneDriveStorageProcessUploadActivity.java 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. package com.epson.iprint.storage.onedrive;
  2. import android.content.Context;
  3. import android.content.Intent;
  4. import android.widget.Button;
  5. import com.epson.iprint.storage.StorageProcessActivity;
  6. import com.epson.iprint.storage.StorageProcessUploadActivity;
  7. import com.epson.iprint.storage.StorageServiceClient;
  8. import com.epson.iprint.storage.onedrive.OneDriveAuthenticator;
  9. import com.onedrive.sdk.extensions.IOneDriveClient;
  10. import epson.print.R;
  11. public class OneDriveStorageProcessUploadActivity extends StorageProcessUploadActivity {
  12. protected static final String TAG = "OneDriveStorageProcessUploadActivity";
  13. boolean mExpired;
  14. private OneDriveClient mStorageServiceClient;
  15. protected void onStart() {
  16. super.onStart();
  17. this.mExpired = false;
  18. checkSession();
  19. }
  20. protected void onResume() {
  21. super.onResume();
  22. this.mExpired = false;
  23. OneDriveClient oneDriveClient = this.mStorageServiceClient;
  24. if (oneDriveClient != null && oneDriveClient.getUploadProcessError().equals(StorageServiceClient.ProcessError.RETRY)) {
  25. this.mExpired = true;
  26. checkSession();
  27. }
  28. }
  29. private void checkSession() {
  30. if (isConnected()) {
  31. this.mStorageServiceClient = (OneDriveClient) getStorageClient();
  32. if (this.mStorageServiceClient.isSignedIn(this) && this.mStorageServiceClient.isSessionExpired()) {
  33. new Thread() {
  34. public void run() {
  35. super.run();
  36. OneDriveStorageProcessUploadActivity.this.mStorageServiceClient.getOneDriveClient(OneDriveStorageProcessUploadActivity.this, new OneDriveAuthenticator.OnOneDriveAuthenticatorListener() {
  37. public void onNotifyOneDriveClient(IOneDriveClient iOneDriveClient) {
  38. OneDriveStorageProcessUploadActivity.this.findViewById(R.id.folder_content_layout_for_upload).setVisibility(0);
  39. if (iOneDriveClient == null) {
  40. OneDriveStorageProcessUploadActivity.this.mStorageServiceClient.revokeSignedInData(OneDriveStorageProcessUploadActivity.this);
  41. OneDriveStorageProcessUploadActivity.this.updateSignInStatus();
  42. } else if (OneDriveStorageProcessUploadActivity.this.mExpired) {
  43. OneDriveStorageProcessUploadActivity.this.mExpired = false;
  44. OneDriveStorageProcessUploadActivity.this.mStorageServiceClient.resetUploadProcessError();
  45. ((Button) OneDriveStorageProcessUploadActivity.this.findViewById(R.id.save_button)).performClick();
  46. }
  47. }
  48. });
  49. }
  50. }.start();
  51. findViewById(R.id.folder_content_layout_for_upload).setVisibility(4);
  52. }
  53. }
  54. }
  55. public static Intent getProcessIntent(Context context, String str, StorageProcessActivity.ProcessType processType) {
  56. Intent intent = new Intent(context, OneDriveStorageProcessUploadActivity.class);
  57. setCommonExtra(intent, str);
  58. return intent;
  59. }
  60. }