# Android services and implementation of app.nit
#
-# To use this module and compile for Android, you must install the
-# Android SDK (with API level 10) and NDK (with the API level 9).
-# The tools `android`, `ndk-build` and `ant` must be in your PATH.
-#
# This module provides basic logging facilities, advanced logging can be
# achieved by importing `android::log`.
module android
import platform
import native_app_glue
+import dalvik
private import log
-
-# Uses Android logs to print everything
-redef fun print(text) do log_write(priority_info, app.log_prefix.to_cstring, text.to_s.to_cstring)
+private import assets
redef class App
- redef fun log_error(msg) do log_write(priority_error, log_prefix.to_cstring, msg.to_cstring)
-
- redef fun log_warning(msg) do log_write(priority_warn, log_prefix.to_cstring, msg.to_cstring)
-
redef fun init_window
do
super
- window_created
+ on_create
+ on_restore_state
+ on_start
end
redef fun term_window
do
super
- window_closing
+ on_stop
end
# Is the application currently paused?
var paused = true
- redef fun window_created
+ redef fun pause
do
+ paused = true
+ on_pause
super
- paused = false
end
- redef fun window_closing
+ redef fun resume
do
- paused = true
+ paused = false
+ on_resume
super
end
- redef fun pause
+ redef fun save_state do on_save_state
+
+ redef fun lost_focus
do
paused = true
super
end
- redef fun resume
+ redef fun gained_focus
do
paused = false
super
end
+
+ redef fun destroy do on_destroy
end