diff options
author | ShadowNinja <shadowninja@minetest.net> | 2016-04-13 14:14:04 -0400 |
---|---|---|
committer | ShadowNinja <shadowninja@minetest.net> | 2016-04-28 12:28:42 -0400 |
commit | e41673820ffe200df78b1ec185ccb9d9ca962ae1 (patch) | |
tree | 94c0fda8c113920eb07bc97d03c7c551f8b6146f /build/android/src/main/java/net.minetest.minetest/MinetestTextEntry.java | |
parent | 7baddd173591cc9394d57cdb265f978495314f7a (diff) | |
download | minetest-e41673820ffe200df78b1ec185ccb9d9ca962ae1.tar.gz minetest-e41673820ffe200df78b1ec185ccb9d9ca962ae1.tar.bz2 minetest-e41673820ffe200df78b1ec185ccb9d9ca962ae1.zip |
Upgrade Android build to Gradle build system
The old Ant build system has been deprecated for a while and new development is focused on Gradle.
I also removed a hardcoded string that lint caught and moved the patch files to a subdirectory.
I left the JNI files in the root directory.
Diffstat (limited to 'build/android/src/main/java/net.minetest.minetest/MinetestTextEntry.java')
-rw-r--r-- | build/android/src/main/java/net.minetest.minetest/MinetestTextEntry.java | 91 |
1 files changed, 91 insertions, 0 deletions
diff --git a/build/android/src/main/java/net.minetest.minetest/MinetestTextEntry.java b/build/android/src/main/java/net.minetest.minetest/MinetestTextEntry.java new file mode 100644 index 000000000..68dc73274 --- /dev/null +++ b/build/android/src/main/java/net.minetest.minetest/MinetestTextEntry.java @@ -0,0 +1,91 @@ +package net.minetest.minetest; + +import android.app.Activity; +import android.app.AlertDialog; +import android.content.DialogInterface; +import android.content.Intent; +import android.os.Bundle; +import android.text.InputType; +import android.util.Log; +import android.view.KeyEvent; +import android.view.View; +import android.view.View.OnKeyListener; +import android.widget.EditText; + +public class MinetestTextEntry extends Activity { + public AlertDialog mTextInputDialog; + public EditText mTextInputWidget; + + private final int MultiLineTextInput = 1; + private final int SingleLineTextInput = 2; + private final int SingleLinePasswordInput = 3; + + @Override + public void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + + Bundle b = getIntent().getExtras(); + String acceptButton = b.getString("EnterButton"); + String hint = b.getString("hint"); + String current = b.getString("current"); + int editType = b.getInt("editType"); + + AlertDialog.Builder builder = new AlertDialog.Builder(this); + mTextInputWidget = new EditText(this); + mTextInputWidget.setHint(hint); + mTextInputWidget.setText(current); + mTextInputWidget.setMinWidth(300); + if (editType == SingleLinePasswordInput) { + mTextInputWidget.setInputType(InputType.TYPE_CLASS_TEXT | + InputType.TYPE_TEXT_VARIATION_PASSWORD); + } + else { + mTextInputWidget.setInputType(InputType.TYPE_CLASS_TEXT); + } + + + builder.setView(mTextInputWidget); + + if (editType == MultiLineTextInput) { + builder.setPositiveButton(acceptButton, new DialogInterface.OnClickListener() { + public void onClick(DialogInterface dialog, int whichButton) + { pushResult(mTextInputWidget.getText().toString()); } + }); + } + + builder.setOnCancelListener(new DialogInterface.OnCancelListener() { + public void onCancel(DialogInterface dialog) { + cancelDialog(); + } + }); + + mTextInputWidget.setOnKeyListener(new OnKeyListener() { + @Override + public boolean onKey(View view, int KeyCode, KeyEvent event) { + if ( KeyCode == KeyEvent.KEYCODE_ENTER){ + + pushResult(mTextInputWidget.getText().toString()); + return true; + } + return false; + } + }); + + mTextInputDialog = builder.create(); + mTextInputDialog.show(); + } + + public void pushResult(String text) { + Intent resultData = new Intent(); + resultData.putExtra("text", text); + setResult(Activity.RESULT_OK,resultData); + mTextInputDialog.dismiss(); + finish(); + } + + public void cancelDialog() { + setResult(Activity.RESULT_CANCELED); + mTextInputDialog.dismiss(); + finish(); + } +} |