Introduce workaround for libgdx issue by @codegist

libgdx/libgdx#3861 libgdx/libgdx#4626 libgdx/libgdx#5312
This commit is contained in:
Ameb
2018-07-28 17:24:20 +02:00
parent 0454c4c25a
commit ecabdb82e6
2 changed files with 26 additions and 2 deletions

View File

@@ -12,7 +12,6 @@ import android.provider.Settings.Secure;
import android.telephony.TelephonyManager;
import android.util.Log;
import com.badlogic.gdx.Gdx;
import com.badlogic.gdx.backends.android.AndroidApplication;
import com.badlogic.gdx.backends.android.AndroidApplicationConfiguration;
import com.badlogic.gdx.files.FileHandle;
import com.badlogic.gdx.utils.Base64Coder;
@@ -48,7 +47,7 @@ import java.util.Locale;
import static io.anuke.mindustry.Vars.*;
public class AndroidLauncher extends AndroidApplication{
public class AndroidLauncher extends PatchedAndroidApplication{
public static final int PERMISSION_REQUEST_CODE = 1;
boolean doubleScaleTablets = true;

View File

@@ -0,0 +1,25 @@
package io.anuke.mindustry;
import com.badlogic.gdx.backends.android.AndroidApplication;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
public class PatchedAndroidApplication extends AndroidApplication {
private final ExecutorService exec = Executors.newSingleThreadExecutor();
private final Runnable forcePause = new Runnable() {
@Override
public void run() {
try {Thread.sleep(100);} catch (InterruptedException e) {}
graphics.onDrawFrame(null);
}
};
@Override
protected void onPause () {
if(useImmersiveMode) {
exec.submit(forcePause);
}
super.onPause();
}
}