mirror of https://github.com/minetest/minetest.git
109 lines
2.7 KiB
Java
109 lines
2.7 KiB
Java
package net.minetest.minetest;
|
|
|
|
import android.app.NativeActivity;
|
|
import android.content.Intent;
|
|
import android.os.Build;
|
|
import android.os.Bundle;
|
|
import android.view.View;
|
|
import android.view.WindowManager;
|
|
|
|
public class MtNativeActivity extends NativeActivity {
|
|
|
|
static {
|
|
System.loadLibrary("c++_shared");
|
|
System.loadLibrary("openal");
|
|
System.loadLibrary("ogg");
|
|
System.loadLibrary("vorbis");
|
|
System.loadLibrary("iconv");
|
|
System.loadLibrary("minetest");
|
|
}
|
|
|
|
private int m_MessagReturnCode;
|
|
private String m_MessageReturnValue;
|
|
|
|
public static native void putMessageBoxResult(String text);
|
|
|
|
@Override
|
|
public void onCreate(Bundle savedInstanceState) {
|
|
super.onCreate(savedInstanceState);
|
|
getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
|
|
m_MessagReturnCode = -1;
|
|
m_MessageReturnValue = "";
|
|
}
|
|
|
|
@Override
|
|
protected void onResume() {
|
|
super.onResume();
|
|
makeFullScreen();
|
|
}
|
|
|
|
private void makeFullScreen() {
|
|
if (Build.VERSION.SDK_INT >= 19)
|
|
this.getWindow().getDecorView().setSystemUiVisibility(
|
|
View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION | View.SYSTEM_UI_FLAG_HIDE_NAVIGATION | View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY);
|
|
}
|
|
|
|
@Override
|
|
public void onWindowFocusChanged(boolean hasFocus) {
|
|
super.onWindowFocusChanged(hasFocus);
|
|
if (hasFocus)
|
|
makeFullScreen();
|
|
}
|
|
|
|
public void copyAssets() {
|
|
Intent intent = new Intent(this, MinetestAssetCopy.class);
|
|
startActivity(intent);
|
|
}
|
|
|
|
public void showDialog(String acceptButton, String hint, String current,
|
|
int editType) {
|
|
|
|
Intent intent = new Intent(this, MinetestTextEntry.class);
|
|
Bundle params = new Bundle();
|
|
params.putString("acceptButton", acceptButton);
|
|
params.putString("hint", hint);
|
|
params.putString("current", current);
|
|
params.putInt("editType", editType);
|
|
intent.putExtras(params);
|
|
startActivityForResult(intent, 101);
|
|
m_MessageReturnValue = "";
|
|
m_MessagReturnCode = -1;
|
|
}
|
|
|
|
/* ugly code to workaround putMessageBoxResult not beeing found */
|
|
public int getDialogState() {
|
|
return m_MessagReturnCode;
|
|
}
|
|
|
|
public String getDialogValue() {
|
|
m_MessagReturnCode = -1;
|
|
return m_MessageReturnValue;
|
|
}
|
|
|
|
public float getDensity() {
|
|
return getResources().getDisplayMetrics().density;
|
|
}
|
|
|
|
public int getDisplayWidth() {
|
|
return getResources().getDisplayMetrics().widthPixels;
|
|
}
|
|
|
|
public int getDisplayHeight() {
|
|
return getResources().getDisplayMetrics().heightPixels;
|
|
}
|
|
|
|
@Override
|
|
protected void onActivityResult(int requestCode, int resultCode,
|
|
Intent data) {
|
|
if (requestCode == 101) {
|
|
if (resultCode == RESULT_OK) {
|
|
String text = data.getStringExtra("text");
|
|
m_MessagReturnCode = 0;
|
|
m_MessageReturnValue = text;
|
|
} else {
|
|
m_MessagReturnCode = 1;
|
|
}
|
|
}
|
|
}
|
|
}
|