libgdx / gdx-pay

A libGDX cross-platform API for InApp purchasing.
Apache License 2.0
225 stars 83 forks source link

Replace Gdx logging with standard Android logging (prevents crashes) #122

Closed keesvandieren closed 7 years ago

keesvandieren commented 7 years ago

Currently some of the logging is done using Gdx.app.

We have some asynchronous responses from Google services, which sometimes respond after Gdx.app has been disposed.

Sample exception:

Thread-589 - java.lang.NullPointerException: Attempt to invoke interface method 'void com.badlogic.gdx.Application.error(java.lang.String, java.lang.String, java.lang.Throwable)' on a null object reference: java.lang.NullPointerException: Attempt to invoke interface method 'void com.badlogic.gdx.Application.error(java.lang.String, java.lang.String, java.lang.Throwable)' on a null object reference at com.badlogic.gdx.utils.Logger.error(Logger.java:65) at com.badlogic.gdx.pay.android.googleplay.AndroidGooglePlayPurchaseManager$3.run(AndroidGooglePlayPurchaseManager.java:303) at java.lang.Thread.run(Thread.java:831)

If log is called on a disposed Gdx application, a NPE is thrown.

Replace Gdx app logging by the Android logging system.

keesvandieren commented 7 years ago

Solved in v0.10.3