Commit 265725a04d238c83922ea8dc528a5b18603ef853
1 parent
b9032f41
Exists in
master
and in
6 other branches
Improves translator request
Showing
1 changed file
with
35 additions
and
33 deletions
Show diff stats
Assets/Scripts/PlayerManager.cs
... | ... | @@ -22,9 +22,9 @@ public class PlayerManager : GenericPlayerManager { |
22 | 22 | private const string BASE_URL = "http://dicionario.vlibras.gov.br/ANDROID/"; |
23 | 23 | #endif |
24 | 24 | |
25 | - //private const string SERVER_URL = "http://vlibras.lavid.ufpb.br/glosa?texto=";//old | |
26 | - private const string SERVER_URL = "http://traducao.vlibras.gov.br/translate?text="; | |
27 | - private const int version = 1; | |
25 | + //private const string SERVER_URL = "http://vlibras.lavid.ufpb.br/glosa?texto=";//old | |
26 | + private const string SERVER_URL = "http://traducao.vlibras.gov.br/translate?text="; | |
27 | + private const int version = 1; | |
28 | 28 | |
29 | 29 | public enum ERROR_STATUS_MESSAGE |
30 | 30 | { |
... | ... | @@ -71,7 +71,7 @@ public class PlayerManager : GenericPlayerManager { |
71 | 71 | base.Start(); |
72 | 72 | |
73 | 73 | // DEBUG: var onLoadPlayer = function(){} |
74 | - Application.ExternalCall("onLoadPlayer"); | |
74 | + // Application.ExternalCall("onLoadPlayer"); | |
75 | 75 | voiceRecognizer = new VoiceRecognition(); |
76 | 76 | |
77 | 77 | Screen.fullScreen = false; |
... | ... | @@ -158,12 +158,10 @@ public class PlayerManager : GenericPlayerManager { |
158 | 158 | { |
159 | 159 | lock (this.LOCKER_TRANSLATE) |
160 | 160 | { |
161 | - | |
162 | - bool return_status_success = true; | |
161 | + bool returnSuccess = true; | |
163 | 162 | bool timeout = false; |
164 | - float timeout_limit = 10f; | |
165 | 163 | |
166 | - Debug.Log("Requesting tranlator: " + gloss); | |
164 | + Debug.Log("Requesting translator: " + gloss); | |
167 | 165 | |
168 | 166 | base.randomAnimations.lockFor("translate"); |
169 | 167 | this.screenManager.setLoadingSnippetState(true); |
... | ... | @@ -172,55 +170,61 @@ public class PlayerManager : GenericPlayerManager { |
172 | 170 | |
173 | 171 | if (glossRequest != null) |
174 | 172 | { |
175 | - yield return glossRequest.isDone; | |
176 | - | |
173 | + const float timeoutLimit = 10f; | |
177 | 174 | float timer = 0; |
178 | 175 | |
179 | 176 | while (!glossRequest.isDone) |
180 | 177 | { |
181 | - if (timer > timeout_limit) | |
178 | + if (timer > timeoutLimit) | |
182 | 179 | { |
183 | - Debug.Log("Timeout"); | |
184 | 180 | timeout = true; |
185 | 181 | break; |
186 | 182 | } |
183 | + | |
187 | 184 | timer += Time.deltaTime; |
188 | 185 | yield return null; |
189 | 186 | } |
190 | 187 | |
191 | - if (glossRequest.error == null || timeout) | |
192 | - { | |
193 | - yield return glossRequest; | |
194 | - | |
195 | - return_status_success = glossRequest.responseHeaders.Count > 0 && glossRequest.responseHeaders["STATUS"].Equals("HTTP/1.0 200 OK"); | |
196 | - | |
197 | - if (return_status_success && !String.IsNullOrEmpty(glossRequest.text)) | |
188 | + if (!timeout) | |
189 | + { | |
190 | + if (glossRequest.error == null) | |
198 | 191 | { |
199 | - Debug.Log("Translator answer: " + glossRequest.text); | |
200 | - | |
201 | - base.gloss = glossRequest.text; | |
202 | - base.playNow(glossRequest.text); | |
203 | - this.screenManager.setLoadingSnippetState(false); | |
204 | - base.randomAnimations.unlockFor("translate"); | |
205 | - | |
206 | - yield break; | |
192 | + returnSuccess = glossRequest.responseHeaders.Count > 0 && glossRequest.responseHeaders["STATUS"].EndsWith("200 OK"); | |
193 | + | |
194 | + if (returnSuccess) | |
195 | + { | |
196 | + if (!String.IsNullOrEmpty(glossRequest.text)) | |
197 | + { | |
198 | + Debug.Log("Translator answer: " + glossRequest.text); | |
199 | + | |
200 | + base.gloss = glossRequest.text; | |
201 | + base.playNow(glossRequest.text); | |
202 | + this.screenManager.setLoadingSnippetState(false); | |
203 | + base.randomAnimations.unlockFor("translate"); | |
204 | + | |
205 | + yield break; | |
206 | + } | |
207 | + else Debug.Log("Error at PlayerManager.translate: empty answer."); | |
208 | + } | |
209 | + else Debug.Log("Error at PlayerManager.translate: unsuccessful answer."); | |
207 | 210 | } |
208 | - else Debug.Log("Error at PlayerManager.translate: empty answer."); | |
211 | + else Debug.Log("Error at PlayerManager.translate: (WWW) glosaRequest: " + glossRequest.error); | |
209 | 212 | } |
210 | - else Debug.Log("Error at PlayerManager.translate: (WWW) glosaRequest: " + glossRequest.error); | |
213 | + else Debug.Log("Error at PlayerManager.translate: timeout."); | |
211 | 214 | } |
212 | 215 | else Debug.Log ("Error at PlayerManager.translate: (WWW) glosaRequest is NULL."); |
213 | 216 | |
214 | 217 | base.gloss = gloss.ToUpper(); |
215 | 218 | |
216 | 219 | this.screenManager.setLoadingSnippetState(false); |
220 | + base.randomAnimations.unlockFor("translate"); | |
217 | 221 | |
218 | - if (return_status_success) | |
222 | + if (returnSuccess) | |
219 | 223 | { |
220 | 224 | this.screenManager.showConnectionErrorDialog( |
221 | 225 | PlayerManager.ERROR_STATUS_MESSAGE.TRANSLATOR_CONNECTION_FAILURE); |
222 | 226 | } |
223 | - else if(timeout) | |
227 | + else if (timeout) | |
224 | 228 | { |
225 | 229 | this.screenManager.showConnectionErrorDialog( |
226 | 230 | PlayerManager.ERROR_STATUS_MESSAGE.CONNECTION_TIMEOUT_FAILURE); |
... | ... | @@ -230,8 +234,6 @@ public class PlayerManager : GenericPlayerManager { |
230 | 234 | this.screenManager.showConnectionErrorDialog( |
231 | 235 | PlayerManager.ERROR_STATUS_MESSAGE.INTERNET_CONNECTION_FAILURE); |
232 | 236 | } |
233 | - | |
234 | - //base.randomAnimations.unlockFor("translate"); | |
235 | 237 | } |
236 | 238 | } |
237 | 239 | ... | ... |