From ac9e669c846c8ab4f4fc76b3415881c05f9fdebe Mon Sep 17 00:00:00 2001 From: Philipp Wiesemann Date: Sun, 5 May 2013 12:53:57 +0200 Subject: [PATCH] Added a method in Java file which may be overridden for custom messages. --- .../src/org/libsdl/app/SDLActivity.java | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/android-project/src/org/libsdl/app/SDLActivity.java b/android-project/src/org/libsdl/app/SDLActivity.java index 295ab5eba..9dd24d2d1 100644 --- a/android-project/src/org/libsdl/app/SDLActivity.java +++ b/android-project/src/org/libsdl/app/SDLActivity.java @@ -114,6 +114,19 @@ protected void onDestroy() { static final int COMMAND_UNUSED = 2; static final int COMMAND_TEXTEDIT_HIDE = 3; + protected static final int COMMAND_USER = 0x8000; + + /** + * This method is called by SDL if SDL did not handle a message itself. + * This happens if a received message contains an unsupported command. + * Method can be overwritten to handle Messages in a different class. + * @param msg the Message which was not handled. + * @return if the Message was handled in method. + */ + protected boolean onUnhandledMessage(Message msg) { + return false; + } + /** * A Handler class for Messages from native SDL applications. * It uses current Activities as target (e.g. for the title). @@ -143,6 +156,11 @@ public void handleMessage(Message msg) { imm.hideSoftInputFromWindow(mTextEdit.getWindowToken(), 0); } break; + + default: + if ((context instanceof SDLActivity) && !((SDLActivity) context).onUnhandledMessage(msg)) { + Log.e(TAG, "error handling message, command is " + msg.arg1); + } } } }