lib: intro `Float.lerp` for simple linear interpolation
[nit.git] / lib / android / android.nit
index add5bd7..584b89b 100644 (file)
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-# Targets the Android platform
+# 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.
-#
-# Will, in the near future, provide services specific to Android.
+# 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
+private import android_data_store
+
+# 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)
+
+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
+       end
+
+       redef fun term_window
+       do
+               super
+               window_closing
+       end
+
+       # Is the application currently paused?
+       var paused = true
+
+       redef fun window_created
+       do
+               super
+               paused = false
+       end
+
+       redef fun window_closing
+       do
+               paused = true
+               super
+       end
+
+       redef fun pause
+       do
+               paused = true
+               super
+       end
+
+       redef fun resume
+       do
+               paused = false
+               super
+       end
+
+       redef fun lost_focus
+       do
+               paused = true
+               super
+       end
+
+       redef fun gained_focus
+       do
+               paused = false
+               super
+       end
+
+       redef fun destroy do exit 0
+end