Fix Android keep screen on working properly

This commit is contained in:
volzhs 2019-01-15 22:06:44 +09:00
parent 9ed34d4423
commit 87db1a8971

View file

@ -119,7 +119,6 @@ public class Godot extends Activity implements SensorEventListener, IDownloaderC
private boolean use_debug_opengl = false;
private boolean mStatePaused;
private int mState;
private boolean keep_screen_on = true;
static private Intent mCurrentIntent;
@ -297,31 +296,26 @@ public class Godot extends Activity implements SensorEventListener, IDownloaderC
});
final String[] current_command_line = command_line;
final GodotView view = mView;
mView.queueEvent(new Runnable() {
@Override
public void run() {
GodotLib.setup(current_command_line);
runOnUiThread(new Runnable() {
@Override
public void run() {
view.setKeepScreenOn("True".equals(GodotLib.getGlobal("display/window/energy_saving/keep_screen_on")));
}
});
setKeepScreenOn("True".equals(GodotLib.getGlobal("display/window/energy_saving/keep_screen_on")));
}
});
}
public void setKeepScreenOn(final boolean p_enabled) {
keep_screen_on = p_enabled;
if (mView != null) {
runOnUiThread(new Runnable() {
@Override
public void run() {
mView.setKeepScreenOn(p_enabled);
runOnUiThread(new Runnable() {
@Override
public void run() {
if (p_enabled) {
getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
} else {
getWindow().clearFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
}
});
}
}
});
}
public void alert(final String message, final String title) {