From 6aaedb813fa11ba0679c3051bc2eb28646b9506c Mon Sep 17 00:00:00 2001 From: 3gg <3gg@shellblade.net> Date: Sat, 30 Aug 2025 16:53:58 -0700 Subject: Update to SDL3 --- .../android/cmake/SDLEntryTestActivity.java.cmake | 121 +++++++++++++++++++++ 1 file changed, 121 insertions(+) create mode 100644 src/contrib/SDL-3.2.20/test/android/cmake/SDLEntryTestActivity.java.cmake (limited to 'src/contrib/SDL-3.2.20/test/android/cmake/SDLEntryTestActivity.java.cmake') diff --git a/src/contrib/SDL-3.2.20/test/android/cmake/SDLEntryTestActivity.java.cmake b/src/contrib/SDL-3.2.20/test/android/cmake/SDLEntryTestActivity.java.cmake new file mode 100644 index 0000000..f8d08f1 --- /dev/null +++ b/src/contrib/SDL-3.2.20/test/android/cmake/SDLEntryTestActivity.java.cmake @@ -0,0 +1,121 @@ +package @ANDROID_MANIFEST_PACKAGE@; + +import android.app.Activity; +import android.app.AlertDialog; +import android.content.Context; +import android.content.DialogInterface; +import android.content.Intent; +import android.os.Bundle; +import android.util.Log; + +import org.libsdl.app.SDL; +import org.libsdl.app.SDLActivity; + +import android.widget.Button; +import android.widget.EditText; +import android.widget.TextView; + +import android.view.View; +import android.view.ViewGroup; +import android.view.LayoutInflater; + +public class SDLEntryTestActivity extends Activity { + + public String MODIFY_ARGUMENTS = "@ANDROID_MANIFEST_PACKAGE@.MODIFY_ARGUMENTS"; + boolean isModifyingArguments; + + @Override + protected void onCreate(Bundle savedInstanceState) { + Log.v("SDL", "SDLEntryTestActivity onCreate"); + super.onCreate(savedInstanceState); + + String intent_action = getIntent().getAction(); + Log.v("SDL", "SDLEntryTestActivity intent.action = " + intent_action); + + if (intent_action == MODIFY_ARGUMENTS) { + isModifyingArguments = true; + createArgumentLayout(); + } else { + startChildActivityAndFinish(); + } + } + + protected void createArgumentLayout() { + LayoutInflater inflater = getLayoutInflater(); + View view = inflater.inflate(R.layout.arguments_layout, null); + setContentView(view); + + Button button = (Button)requireViewById(R.id.arguments_start_button); + button.setOnClickListener(new View.OnClickListener() { + public void onClick(View v) { + startChildActivityAndFinish(); + } + }); + } + + protected String[] getArguments() { + if (!isModifyingArguments) { + return new String[0]; + } + EditText editText = (EditText)findViewById(R.id.arguments_edit); + String text = editText.getText().toString(); + String new_text = text.replace("[ \t]*[ \t\n]+[ \t]+", "\n").strip(); + Log.v("SDL", "text = " + text + "\n becomes \n" + new_text); + return new_text.split("\n", 0); + } + + @Override + protected void onStart() { + Log.v("SDL", "SDLEntryTestActivity onStart"); + super.onStart(); + } + + @Override + protected void onResume() { + Log.v("SDL", "SDLEntryTestActivity onResume"); + super.onResume(); + } + + @Override + protected void onPause() { + Log.v("SDL", "SDLEntryTestActivity onPause"); + super.onPause(); + } + + @Override + protected void onStop() { + Log.v("SDL", "SDLEntryTestActivity onStop"); + super.onStop(); + } + + @Override + protected void onDestroy() { + Log.v("SDL", "SDLEntryTestActivity onDestroy"); + super.onDestroy(); + } + + @Override + protected void onRestoreInstanceState(Bundle savedInstanceState) { + Log.v("SDL", "SDLEntryTestActivity onRestoreInstanceState"); + super.onRestoreInstanceState(savedInstanceState); + EditText editText = (EditText)findViewById(R.id.arguments_edit); + editText.setText(savedInstanceState.getCharSequence("args", ""), TextView.BufferType.EDITABLE); + } + + @Override + protected void onSaveInstanceState(Bundle outState) { + Log.v("SDL", "SDLEntryTestActivity onSaveInstanceState"); + EditText editText = (EditText)findViewById(R.id.arguments_edit); + outState.putCharSequence("args", editText.getText()); + super.onSaveInstanceState(outState); + } + + private void startChildActivityAndFinish() { + Intent intent = new Intent(Intent.ACTION_MAIN); + intent.addCategory(Intent.CATEGORY_LAUNCHER); + intent.setClassName("@ANDROID_MANIFEST_PACKAGE@", "@ANDROID_MANIFEST_PACKAGE@.SDLTestActivity"); + intent.putExtra("arguments", getArguments()); + startActivity(intent); + finish(); + } +} -- cgit v1.2.3