import platform
import log
-import activities
+import dalvik
in "C header" `{
#include <android_native_app_glue.h>
super NativeActivity
end
+redef class Sys
+ redef fun jvm do return app.native_app_glue.ndk_native_activity.vm
+end
+
redef class App
redef fun setup
do
# The underlying implementation using the Android native_app_glue framework
fun native_app_glue: NativeAppGlue `{ return native_app_glue_data; `}
- # The main Java Activity of this application
- fun native_activity: NativeActivity do return native_app_glue.ndk_native_activity.java_native_activity
+ redef fun native_activity do return native_app_glue.ndk_native_activity.java_native_activity
# Set `native_app_glue` command handler to our C implementation which
# will callback self.
`}
# Notification from the Android framework to generate a new saved state
- #
+ #
# You can use the `shared_preferences` module or `NativeAppGlue::saved_state`.
fun save_state do end
fun stop do end
# Notification from the Android framework, `native_activity` is being destroyed
- #
+ #
# Clean up and exit.
fun destroy do end
fun input_changed do end
# Notification from the Android framework, the window has been resized.
- #
+ #
# Please redraw with its new size.
fun window_resized do end
fun window_redraw_needed do end
# Notification from the Android framework, the content area of the window has changed
- #
+ #
# Raised when the soft input window being shown or hidden, and similar events.
fun content_rect_changed do end
struct android_app *app_glue = App_native_app_glue(recv);
struct android_poll_source* source = (struct android_poll_source*)data;
-
+
// Process this event.
if (source != NULL) source->process(app_glue, source);
`}
# Path to this application's internal data directory.
fun internal_data_path: NativeString `{ return (char*)recv->internalDataPath; `}
-
+
# Path to this application's external (removable/mountable) data directory.
fun external_data_path: NativeString `{ return (char*)recv->externalDataPath; `}
-
+
# The platform's SDK version code.
fun sdk_version: Int `{ return recv->sdkVersion; `}
-
+
# This is the native instance of the application. It is not used by
# the framework, but can be set by the application to its own instance
# state.