// Upload specific spray to drive IEnumerator UploadImageCoroutine(ISpray spray) { DriveUploadResult driveUploadResult = new DriveUploadResult { failed = true, failedReason = "No result", failureType = DriveFailureType.GenericFailure, fileId = null, }; ; yield return(driveReceiver.UploadCoroutine(driveFolderName, spray.DriveFileName, spray.Path, (DriveUploadResult result) => { driveUploadResult.failed = result.failed; driveUploadResult.failedReason = result.failedReason; driveUploadResult.failureType = result.failureType; driveUploadResult.fileId = result.fileId; })); if (driveUploadResult.failed) { Debug.LogError("Spray drive upload failed, but at least we got notified in Unity: " + driveUploadResult); googleAnalytics.LogEvent("Spray", "Share error", "Spray drive upload failed, but at least we got notified in Unity: " + driveUploadResult, 1); switch (driveUploadResult.failureType) { case DriveFailureType.DrivePermissionIssue: viewManager.ShowAccountProhibited(); break; case DriveFailureType.NoConnection: viewManager.ShowBadConnection(true); break; case DriveFailureType.AuthCanceled: viewManager.ShowDriveAuthFailed(true); break; default: // generic error handling for now viewManager.ShowUploadFailed(true); break; } } else { spray.DriveFileId = driveUploadResult.fileId; yield return(GetShareLink(spray, driveUploadResult.fileId)); } }
private void DummyResultCallback(DriveUploadResult r) { }