Hi, i can’t deal with last error in my android application. When i minimizing application and then back to it i got this error:
11-22 21:26:36.402: W/dalvikvm(912): threadid=11: thread exiting with uncaught exception (group=0x40a71930)
11-22 21:26:36.472: W/EGL_emulation(912): eglSurfaceAttrib not implemented
11-22 21:26:36.573: E/com.jme3.app.AndroidHarness(912): SEVERE Exception thrown in Thread[GLThread 86,5,main]
11-22 21:26:36.573: E/com.jme3.app.AndroidHarness(912): com.jme3.renderer.RendererException: An OpenGL error has occurred: invalid value
11-22 21:26:36.573: E/com.jme3.app.AndroidHarness(912): at com.jme3.renderer.android.RendererUtil.checkGLError(RendererUtil.java:49)
11-22 21:26:36.573: E/com.jme3.app.AndroidHarness(912): at com.jme3.renderer.android.OGLESShaderRenderer.updateUniform(OGLESShaderRenderer.java:655)
11-22 21:26:36.573: E/com.jme3.app.AndroidHarness(912): at com.jme3.renderer.android.OGLESShaderRenderer.updateShaderUniforms(OGLESShaderRenderer.java:769)
11-22 21:26:36.573: E/com.jme3.app.AndroidHarness(912): at com.jme3.renderer.android.OGLESShaderRenderer.setShader(OGLESShaderRenderer.java:973)
11-22 21:26:36.573: E/com.jme3.app.AndroidHarness(912): at com.jme3.material.Material.render(Material.java:1064)
11-22 21:26:36.573: E/com.jme3.app.AndroidHarness(912): at com.jme3.niftygui.RenderDeviceJme.renderImage(RenderDeviceJme.java:303)
11-22 21:26:36.573: E/com.jme3.app.AndroidHarness(912): at de.lessvoid.nifty.render.ScalingRenderDevice.renderImage(ScalingRenderDevice.java:103)
11-22 21:26:36.573: E/com.jme3.app.AndroidHarness(912): at de.lessvoid.nifty.render.image.renderstrategy.ResizeStrategy.render(ResizeStrategy.java:24)
11-22 21:26:36.573: E/com.jme3.app.AndroidHarness(912): at de.lessvoid.nifty.render.image.CompoundImageMode.render(CompoundImageMode.java:41)
11-22 21:26:36.573: E/com.jme3.app.AndroidHarness(912): at de.lessvoid.nifty.render.NiftyImage.render(NiftyImage.java:54)
11-22 21:26:36.573: E/com.jme3.app.AndroidHarness(912): at de.lessvoid.nifty.render.NiftyRenderEngineImpl.renderImage(NiftyRenderEngineImpl.java:242)
11-22 21:26:36.573: E/com.jme3.app.AndroidHarness(912): at de.lessvoid.nifty.elements.render.ImageRenderer.render(ImageRenderer.java:30)
11-22 21:26:36.573: E/com.jme3.app.AndroidHarness(912): at de.lessvoid.nifty.elements.Element.renderElement(Element.java:735)
11-22 21:26:36.573: E/com.jme3.app.AndroidHarness(912): at de.lessvoid.nifty.elements.Element.render(Element.java:713)
11-22 21:26:36.573: E/com.jme3.app.AndroidHarness(912): at de.lessvoid.nifty.elements.Element.renderInternalChildElements(Element.java:752)
11-22 21:26:36.573: E/com.jme3.app.AndroidHarness(912): at de.lessvoid.nifty.elements.Element.renderChildren(Element.java:745)
11-22 21:26:36.573: E/com.jme3.app.AndroidHarness(912): at de.lessvoid.nifty.elements.Element.render(Element.java:723)
11-22 21:26:36.573: E/com.jme3.app.AndroidHarness(912): at de.lessvoid.nifty.screen.Screen.renderLayers(Screen.java:316)
11-22 21:26:36.573: E/com.jme3.app.AndroidHarness(912): at de.lessvoid.nifty.Nifty.render(Nifty.java:322)
11-22 21:26:36.573: E/com.jme3.app.AndroidHarness(912): at com.jme3.niftygui.NiftyJmeDisplay.postQueue(NiftyJmeDisplay.java:246)
11-22 21:26:36.573: E/com.jme3.app.AndroidHarness(912): at com.jme3.renderer.RenderManager.renderViewPort(RenderManager.java:979)
11-22 21:26:36.573: E/com.jme3.app.AndroidHarness(912): at com.jme3.renderer.RenderManager.render(RenderManager.java:1035)
11-22 21:26:36.573: E/com.jme3.app.AndroidHarness(912): at com.jme3.app.SimpleApplication.update(SimpleApplication.java:252)
11-22 21:26:36.573: E/com.jme3.app.AndroidHarness(912): at com.jme3.app.AndroidHarness.update(AndroidHarness.java:467)
11-22 21:26:36.573: E/com.jme3.app.AndroidHarness(912): at com.jme3.system.android.OGLESContext.onDrawFrame(OGLESContext.java:349)
11-22 21:26:36.573: E/com.jme3.app.AndroidHarness(912): at android.opengl.GLSurfaceView$GLThread.guardedRun(GLSurfaceView.java:1516)
11-22 21:26:36.573: E/com.jme3.app.AndroidHarness(912): at android.opengl.GLSurfaceView$GLThread.run(GLSurfaceView.java:1240)
Probably i I miss something but renderer exception isn’t very clear for me. This is my MainActivity.java:
[java]
public class MainActivity extends AndroidHarness {
private static float gravity = 0;
private static int baseSound = 0;
private static final float multiplier = (float) (FastMath.PI * 0.05);
public static SensorManager mSensorManager;
public static Sensor mAkcel;
@Override
public void onCreate(Bundle savedInstanceState) {
exitDialogTitle = "To quit press yes";
exitDialogMessage = "";
eglConfigType = ConfigType.FASTEST;
finishOnAppStop = false;
// audioRendererType = AppSettings.ANDROID_MEDIAPLAYER;
audioRendererType = AppSettings.ANDROID_OPENAL_SOFT;
mSensorManager = (SensorManager) getSystemService(Context.SENSOR_SERVICE);
mAkcel = mSensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER);
screenOrientation = ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE;
app = (TrumpetJME) getJmeApplication();
JmeAndroidSystem.setActivity(getParent());
LogManager.getLogManager().getLogger("").setLevel(Level.ALL);
super.onCreate(savedInstanceState);
}
public MainActivity() {
appClass = kamil.uchnast.trumpetapp.TrumpetJME.class.getName();
}
@Override
protected void onResume() {
mSensorManager.registerListener(sensor, mAkcel,
SensorManager.SENSOR_DELAY_GAME);
super.onResume();
}
@Override
public void onPause() {
mSensorManager.unregisterListener(sensor);
super.onPause();
}
public static void exit(){
JmeAndroidSystem.getActivity().finish();
}
public static SensorEventListener sensor = new SensorEventListener() {
public void onAccuracyChanged(Sensor sensor, int accuracy) {
}
public void onSensorChanged(SensorEvent event) {
float temp = 0.8f * gravity + (1 - 0.8f) * event.values[1];
gravity = temp;
TrumpetJME.setGravity(temp * multiplier);
int podstawaTemp;
if (gravity < -6.67) {
podstawaTemp = 1;
} else if (gravity < -3.34) {
podstawaTemp = 2;
} else if (gravity < 0) {
podstawaTemp = 3;
} else if (gravity < 3.34) {
podstawaTemp = 4;
} else if (gravity < 6.67) {
podstawaTemp = 5;
} else {
podstawaTemp = 6;
}
if (baseSound != podstawaTemp) {
TrumpetJME.setWysokośćDź(podstawaTemp);
baseSound = podstawaTemp;
}
}
};
}
[/java]
App will be free and i hope you can see it soon
Thank you for any help.