Пример #1
0
    // 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));
        }
    }
Пример #2
0
 private void DummyResultCallback(DriveUploadResult r)
 {
 }