comment out android show keyboard. Now using JmeSystem method to show/hide android soft keyboard.

experimental
iwgeric 10 years ago
parent a55aae21f9
commit 5948479de4
  1. 9
      jme3-android/src/main/java/com/jme3/app/AndroidHarness.java
  2. 23
      jme3-android/src/main/java/com/jme3/system/android/OGLESContext.java

@ -88,6 +88,13 @@ public class AndroidHarness extends Activity implements TouchListener, DialogInt
*/ */
protected int eglStencilBits = 0; protected int eglStencilBits = 0;
/**
* Set the desired frame rate. If frameRate > 0, the application
* will be capped at the desired frame rate.
* (default = -1, no frame rate cap)
*/
protected int frameRate = -1;
/** /**
* Sets the type of Audio Renderer to be used. * Sets the type of Audio Renderer to be used.
* <p> * <p>
@ -239,6 +246,8 @@ public class AndroidHarness extends Activity implements TouchListener, DialogInt
settings.setResolution(disp.getWidth(), disp.getHeight()); settings.setResolution(disp.getWidth(), disp.getHeight());
settings.setAudioRenderer(audioRendererType); settings.setAudioRenderer(audioRendererType);
settings.setFrameRate(frameRate);
// Create application instance // Create application instance
try { try {
if (app == null) { if (app == null) {

@ -75,7 +75,8 @@ public class OGLESContext implements JmeContext, GLSurfaceView.Renderer, SoftTex
protected SystemListener listener; protected SystemListener listener;
protected boolean autoFlush = true; protected boolean autoFlush = true;
protected AndroidInputHandler androidInput; protected AndroidInputHandler androidInput;
protected int minFrameDuration = 0; // No FPS cap protected long minFrameDuration = 0; // No FPS cap
protected long lastUpdateTime = 0;
protected JoyInput androidSensorJoyInput = null; protected JoyInput androidSensorJoyInput = null;
public OGLESContext() { public OGLESContext() {
@ -225,6 +226,12 @@ public class OGLESContext implements JmeContext, GLSurfaceView.Renderer, SoftTex
androidInput.loadSettings(settings); androidInput.loadSettings(settings);
} }
if (settings.getFrameRate() > 0) {
minFrameDuration = (long)(1000d / (double)settings.getFrameRate()); // ms
logger.log(Level.FINE, "Setting min tpf: {0}ms", minFrameDuration);
} else {
minFrameDuration = 0;
}
} }
@Override @Override
@ -320,23 +327,25 @@ public class OGLESContext implements JmeContext, GLSurfaceView.Renderer, SoftTex
throw new IllegalStateException("onDrawFrame without create"); throw new IllegalStateException("onDrawFrame without create");
} }
long milliStart = System.currentTimeMillis();
listener.update(); listener.update();
if (autoFlush) { if (autoFlush) {
renderer.onFrame(); renderer.onFrame();
} }
long milliDelta = System.currentTimeMillis() - milliStart; long updateDelta = System.currentTimeMillis() - lastUpdateTime;
// Enforce a FPS cap // Enforce a FPS cap
if (milliDelta < minFrameDuration) { if (updateDelta < minFrameDuration) {
//logger.log(Level.FINE, "Time per frame {0}", milliDelta); // logger.log(Level.INFO, "lastUpdateTime: {0}, updateDelta: {1}, minTimePerFrame: {2}",
// new Object[]{lastUpdateTime, updateDelta, minTimePerFrame});
try { try {
Thread.sleep(minFrameDuration - milliDelta); Thread.sleep(minFrameDuration - updateDelta);
} catch (InterruptedException e) { } catch (InterruptedException e) {
} }
} }
lastUpdateTime = System.currentTimeMillis();
} }
} }

Loading…
Cancel
Save