void SetupSuccessTab()
 {
     AnalyticsHelper.UploadCompleted(UploadResult.Succeeded);
     UpdateHeader();
     SetupLabel("lblLink", "Click here if nothing happens", rootVisualElement, new ShareUtils.LeftClickManipulator(OnProjectLinkClicked));
     SetupButton("btnFinish", OnFinishClicked, true);
     OpenConnectUrl(Store.state.url);
 }
        private static void CheckProgress(Store <AppState> store, string key)
        {
            var token = UnityConnectSession.instance.GetAccessToken();

            if (token.Length == 0)
            {
                CheckLoginStatus(store);
                return;
            }

            key = key ?? store.state.key;
            string baseUrl = GetAPIBaseUrl();

            var uploadRequest = UnityWebRequest.Get($"{baseUrl + queryProgressEndpoint}?key={key}");

            uploadRequest.SetRequestHeader("Authorization", $"Bearer {token}");
            uploadRequest.SetRequestHeader("X-Requested-With", "XMLHTTPREQUEST");
            var op = uploadRequest.SendWebRequest();

            op.completed += operation =>
            {
#if UNITY_2020
                if ((uploadRequest.result == UnityWebRequest.Result.ConnectionError) ||
                    (uploadRequest.result == UnityWebRequest.Result.ProtocolError))
#else
                if (uploadRequest.isNetworkError || uploadRequest.isHttpError)
#endif
                {
                    AnalyticsHelper.UploadCompleted(UploadResult.Failed);
                    Debug.LogError(uploadRequest.error);
                    StopUploadAction();
                    return;
                }
                var response = JsonUtility.FromJson <GetProgressResponse>(op.webRequest.downloadHandler.text);

                store.Dispatch(new QueryProgressResponseAction {
                    response = response
                });
                if (response.progress == 100 || !string.IsNullOrEmpty(response.error))
                {
                    SaveProjectID(response.projectId);
                    return;
                }
                EditorCoroutineUtility.StartCoroutineOwnerless(RefreshProcessingProgress(1.5f, store));
            };
        }
 void OnCancelUploadClicked()
 {
     AnalyticsHelper.ButtonClicked(string.Format("{0}_CancelUpload", currentTab));
     AnalyticsHelper.UploadCompleted(UploadResult.Cancelled);
     Store.Dispatch(new StopUploadAction());
 }