Commit 627a5379d047881bd39cb6adc9904e3d0186da17

Authored by Thiago Filipe Soares da Rocha
1 parent debee6bb

Finish Permission Dialog

Assets/Scripts/Export Video/ExportVideo.cs
... ... @@ -207,6 +207,7 @@ public class ExportVideo : MonoBehaviour {
207 207 if (videoRequestRunning)
208 208 {
209 209 StopCoroutine("requestVideoInfo");
  210 + StopCoroutine("VideoStatus");
210 211 PlayerLogger.Log("ExportVideo", "OnRequestCancel", "User canceled the request, resetting states to default.");
211 212  
212 213 } else if (videoDownloadRunning)
... ... @@ -250,76 +251,174 @@ public class ExportVideo : MonoBehaviour {
250 251  
251 252 private IEnumerator requestVideoInfo()
252 253 {
253   - videoRequestRunning = true;
254   - WWWForm JsonRequest = new WWWForm();
255   - JsonRequest.AddField("gloss", gloss);
256   - WWW videoInfoRequest = new WWW(SERVER_URL, JsonRequest);
  254 +
  255 + videoRequestRunning = true;
  256 + WWWForm JsonRequest = new WWWForm();
  257 + JsonRequest.AddField("gloss", gloss);
  258 + WWW videoInfoRequest = new WWW(SERVER_URL, JsonRequest);
257 259  
258 260 PlayerLogger.Log("ExportVideo", "requestVideoInfo", "Request for: " + SERVER_URL);
259 261  
260 262 yield return WaitForResponse(videoInfoRequest);
261 263  
262   - try
263   - {
264   - if (!videoInfoRequest.isDone)
  264 + try
265 265 {
  266 + if (!videoInfoRequest.isDone)
  267 + {
  268 +
  269 + screenManager.changeExportStates(ExportLayers.ExportLayer.All, true);
  270 + GetConnectionStatusError(ExportLayers.ConnectionStatusError.CONNECTION_TIMEOUT_FAILURE);
  271 + PlayerLogger.Log("ExportVideo", "requestVideoInfo", "TimeOut");
  272 +
  273 + }
  274 + else if (videoInfoRequest.error != null)
  275 + {
  276 +
  277 + screenManager.changeExportStates(ExportLayers.ExportLayer.All, true);
  278 + GetConnectionStatusError(ExportLayers.ConnectionStatusError.INTERNET_CONNECTION_FAILURE);
  279 + PlayerLogger.Log("ExportVideo", "requestVideoInfo", "(WWW) Error: " + videoInfoRequest.error);
  280 +
  281 + }
  282 + else if (videoInfoRequest.responseHeaders.Count == 0)
  283 + {
  284 + screenManager.changeExportStates(ExportLayers.ExportLayer.All, true);
  285 + PlayerLogger.Log("ExportVideo", "requestVideoInfo", "(WWW) Unsucessful Answer");
  286 + GetConnectionStatusError(ExportLayers.ConnectionStatusError.ERROR_CONNECTION_FAILURE);
  287 +
  288 +
  289 +
  290 + }
  291 + else if (!videoInfoRequest.responseHeaders["STATUS"].Contains("200"))
  292 + {
  293 + screenManager.changeExportStates(ExportLayers.ExportLayer.All, true);
  294 + PlayerLogger.Log("ExportVideo", "requestVideoInfo", "Unsuccessful answer (" + videoInfoRequest.responseHeaders["STATUS"] + ").");
  295 + GetConnectionStatusError(ExportLayers.ConnectionStatusError.ERROR_CONNECTION_FAILURE);
  296 +
  297 +
  298 + }
  299 + else if (String.IsNullOrEmpty(videoInfoRequest.text))
  300 + {
  301 +
  302 + screenManager.changeExportStates(ExportLayers.ExportLayer.All, true);
  303 + GetConnectionStatusError(ExportLayers.ConnectionStatusError.DEFAULT);
  304 + PlayerLogger.Log("ExportVideo", "requestVideoInfo", "Empty answer.");
  305 +
  306 + }
  307 + else
  308 + {
  309 + PlayerLogger.Log("ExportVideo", "requestVideoInfo", "Answer: " + videoInfoRequest.text);
  310 +
  311 + FileContent fileContent = new FileContent();
  312 + fileContent = FileContent.CreateFromJSON(videoInfoRequest.text);
  313 + videoId = fileContent.file;
  314 + StartCoroutine("VideoStatus");
  315 +
  316 + }
266 317  
267   - screenManager.changeExportStates(ExportLayers.ExportLayer.All, true);
268   - GetConnectionStatusError(ExportLayers.ConnectionStatusError.CONNECTION_TIMEOUT_FAILURE);
269   - PlayerLogger.Log("ExportVideo", "requestVideoInfo", "TimeOut");
270   - }
271   - else if (videoInfoRequest.error != null)
272   - {
273 318  
274   - screenManager.changeExportStates(ExportLayers.ExportLayer.All, true);
275   - GetConnectionStatusError(ExportLayers.ConnectionStatusError.INTERNET_CONNECTION_FAILURE);
276   - PlayerLogger.Log("ExportVideo", "requestVideoInfo", "(WWW) Error: " + videoInfoRequest.error);
277 319 }
278   - else if (videoInfoRequest.responseHeaders.Count == 0)
  320 + finally
279 321 {
280   - screenManager.changeExportStates(ExportLayers.ExportLayer.All, true);
281   - PlayerLogger.Log("ExportVideo", "requestVideoInfo", "(WWW) Unsucessful Answer");
282   - GetConnectionStatusError(ExportLayers.ConnectionStatusError.ERROR_CONNECTION_FAILURE);
  322 + videoRequestRunning = false;
  323 +
283 324  
284 325  
285 326 }
286   - else if (!videoInfoRequest.responseHeaders["STATUS"].Contains("200"))
287   - {
288   - screenManager.changeExportStates(ExportLayers.ExportLayer.All, true);
289   - PlayerLogger.Log("ExportVideo", "requestVideoInfo", "Unsuccessful answer (" + videoInfoRequest.responseHeaders["STATUS"] + ").");
290   - GetConnectionStatusError(ExportLayers.ConnectionStatusError.ERROR_CONNECTION_FAILURE);
  327 +
291 328  
  329 + yield break;
  330 +
  331 + }
292 332  
293   - }
294   - else if (String.IsNullOrEmpty(videoInfoRequest.text))
295   - {
  333 + private IEnumerator VideoStatus()
  334 + {
  335 +
  336 + WWWForm JsonRequest = new WWWForm();
  337 + JsonRequest.AddField("id", videoId);
  338 + while (true)
  339 + {
  340 + WWW videoStatusRequest = new WWW(SERVER_URL, JsonRequest);
296 341  
297   - screenManager.changeExportStates(ExportLayers.ExportLayer.All, true);
298   - GetConnectionStatusError(ExportLayers.ConnectionStatusError.DEFAULT);
299   - PlayerLogger.Log("ExportVideo", "requestVideoInfo", "Empty answer.");
300   - }
301   - else
  342 +
  343 + yield return WaitForResponse(videoStatusRequest);
  344 +
  345 + try
302 346 {
303   - PlayerLogger.Log("ExportVideo", "requestVideoInfo", "Answer: " + videoInfoRequest.text);
  347 + if (!videoStatusRequest.isDone)
  348 + {
304 349  
305   - FileContent fileContent = new FileContent();
306   - fileContent = FileContent.CreateFromJSON(videoInfoRequest.text);
307   - videoId = fileContent.file;
308   - videoSize = int.Parse(fileContent.size);
309   - OnFinishGetVideoInfo();
  350 + screenManager.changeExportStates(ExportLayers.ExportLayer.All, true);
  351 + GetConnectionStatusError(ExportLayers.ConnectionStatusError.CONNECTION_TIMEOUT_FAILURE);
  352 + PlayerLogger.Log("ExportVideo", "VideoStatus", "TimeOut");
  353 + break;
310 354  
311   - yield break;
312   - }
  355 + }
  356 + else if (videoStatusRequest.error != null)
  357 + {
313 358  
  359 + screenManager.changeExportStates(ExportLayers.ExportLayer.All, true);
  360 + GetConnectionStatusError(ExportLayers.ConnectionStatusError.INTERNET_CONNECTION_FAILURE);
  361 + PlayerLogger.Log("ExportVideo", "VideoStatus", "(WWW) Error: " + videoStatusRequest.error);
  362 + break;
314 363  
315   - }
316   - finally
317   - {
318   - videoRequestRunning = false;
  364 + }
  365 + else if (videoStatusRequest.responseHeaders.Count == 0)
  366 + {
  367 + screenManager.changeExportStates(ExportLayers.ExportLayer.All, true);
  368 + PlayerLogger.Log("ExportVideo", "VideoStatus", "(WWW) Unsucessful Answer");
  369 + GetConnectionStatusError(ExportLayers.ConnectionStatusError.ERROR_CONNECTION_FAILURE);
  370 + break;
319 371  
320 372  
321 373  
322   - }
  374 + }
  375 + else if (!videoStatusRequest.responseHeaders["STATUS"].Contains("200"))
  376 + {
  377 + screenManager.changeExportStates(ExportLayers.ExportLayer.All, true);
  378 + PlayerLogger.Log("ExportVideo", "VideoStatus", "Unsuccessful answer (" + videoStatusRequest.responseHeaders["STATUS"] + ").");
  379 + GetConnectionStatusError(ExportLayers.ConnectionStatusError.ERROR_CONNECTION_FAILURE);
  380 + break;
  381 +
  382 + }
  383 + else if (String.IsNullOrEmpty(videoStatusRequest.text))
  384 + {
  385 +
  386 + screenManager.changeExportStates(ExportLayers.ExportLayer.All, true);
  387 + GetConnectionStatusError(ExportLayers.ConnectionStatusError.DEFAULT);
  388 + PlayerLogger.Log("ExportVideo", "VideoStatus", "Empty answer.");
  389 + break;
  390 +
  391 + }
  392 + else
  393 + {
  394 + PlayerLogger.Log("ExportVideo", "VideoStatus", "Answer: " + videoStatusRequest.text);
  395 +
  396 +
  397 + FileContent fileContent = new FileContent();
  398 + fileContent = FileContent.CreateFromJSON(videoStatusRequest.text);
  399 + if(fileContent.status == "done")
  400 + {
  401 + videoSize = int.Parse(fileContent.size);
  402 + OnFinishGetVideoInfo();
  403 + break;
  404 + }
  405 +
  406 + yield return new WaitForSeconds(1f);
  407 +
  408 +
  409 + }
  410 +
  411 +
  412 + }
  413 + finally
  414 + {
  415 + videoRequestRunning = false;
  416 + }
  417 +
  418 + yield break;
  419 +
  420 +
  421 + }// while
323 422 }
324 423  
325 424  
... ... @@ -395,7 +494,7 @@ public class ExportVideo : MonoBehaviour {
395 494  
396 495 public IEnumerator WaitForResponse(WWW www, Events.RequestSuccess success, Events.RequestError error)
397 496 {
398   - yield return Methods.WaitForResponse(www, 60 * 5f, success, error);
  497 + yield return Methods.WaitForResponse(www, 15f, success, error);
399 498  
400 499 }
401 500  
... ...
Assets/Scripts/Export Video/FileContent.cs
... ... @@ -5,6 +5,7 @@ public class FileContent {
5 5  
6 6 public string file;
7 7 public string size;
  8 + public string status;
8 9  
9 10  
10 11 public static FileContent CreateFromJSON(string jsonString)
... ...
Assets/Scripts/Export Video/FileStatus.cs 0 → 100644
... ... @@ -0,0 +1,15 @@
  1 +using UnityEngine;
  2 +using System.Collections;
  3 +
  4 +public class FileStatus : MonoBehaviour {
  5 +
  6 + // Use this for initialization
  7 + void Start () {
  8 +
  9 + }
  10 +
  11 + // Update is called once per frame
  12 + void Update () {
  13 +
  14 + }
  15 +}
... ...
Assets/Scripts/Export Video/FileStatus.cs.meta 0 → 100644
... ... @@ -0,0 +1,12 @@
  1 +fileFormatVersion: 2
  2 +guid: e0091546b0e8aa84681fc5b2da5de595
  3 +timeCreated: 1487781948
  4 +licenseType: Free
  5 +MonoImporter:
  6 + serializedVersion: 2
  7 + defaultReferences: []
  8 + executionOrder: 0
  9 + icon: {instanceID: 0}
  10 + userData:
  11 + assetBundleName:
  12 + assetBundleVariant:
... ...