Introduce workaround for libgdx issue by @codegist
libgdx/libgdx#3861 libgdx/libgdx#4626 libgdx/libgdx#5312
This commit is contained in:
@@ -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;
|
||||
|
||||
@@ -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();
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user