\r
void resume() {\r
synchronized (synch) {\r
- running = false;\r
+ running = true;\r
resume = true;\r
}\r
}\r
\r
void pause() {\r
- long startTime = System.nanoTime();\r
synchronized (synch) {\r
running = false;\r
pause = true;\r
}\r
- Gdx.app.log("AndroidGraphics", "synch took: " + (System.nanoTime()-startTime)/1000000000.0f);\r
- startTime = System.nanoTime();\r
while (pause); // busy wait. ya, nasty... \r
- Gdx.app.log("AndroidGraphics", "wait took: " + (System.nanoTime()-startTime)/1000000000.0f);\r
}\r
\r
void destroy() {\r
running = false;\r
destroy = true;\r
}\r
- boolean cond = false;\r
- while (!cond) {\r
- synchronized (synch) {\r
- cond = !destroy;\r
- }\r
- }\r
+ while (destroy);\r
}\r
\r
@Override\r
ldestroy = destroy;\r
lresume = resume;\r
\r
+ if (resume) { \r
+ resume = false;\r
+ }\r
+ \r
if (pause) { \r
pause = false; \r
}\r
\r
if (destroy) { \r
destroy = false;\r
- }\r
-\r
- if (resume) { \r
- resume = false;\r
- running = true;\r
- } \r
+ } \r
+ }\r
+ \r
+ if (lresume) {\r
+ app.listener.resume();\r
+ Gdx.app.log("AndroidGraphics", "resumed");\r
}\r
- \r
+ \r
if (lrunning) {\r
((AndroidInput)Gdx.input).processEvents();\r
app.listener.render();\r
}\r
\r
- if (lpause) {\r
+ if (lpause) { \r
app.listener.pause();\r
- }\r
-\r
- if (lresume) {\r
- app.listener.resume();\r
+ Gdx.app.log("AndroidGraphics", "paused");\r
}\r
\r
if (ldestroy) {\r
app.listener.dispose();\r
+ Gdx.app.log("AndroidGraphics", "destroyed");\r
} \r
\r
if (time - frameStart > 1000000000) {\r