private import log
private import 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
#include <android/log.h>
`}
+# Use Android logs to print
+redef fun print(object)
+do
+ log_write(priority_info, app.log_prefix.to_cstring, object.to_s.to_cstring)
+end
+
+# Use Android logs to print errors
+redef fun print_error(object)
+do
+ log_write(priority_error, app.log_prefix.to_cstring, object.to_s.to_cstring)
+end
+
+# Use Android logs to print warnings
+redef fun print_warning(object)
+do
+ log_write(priority_warn, app.log_prefix.to_cstring, object.to_s.to_cstring)
+end
+
+redef class App
+ # Prefix to all log messages
+ protected fun log_prefix: String do return "app.nit"
+end
+
# Default Android log priority
-fun priority_default: Int do return 1
+private fun priority_default: Int do return 1
# Verbose Android log priority
-fun priority_verbose: Int do return 2
+private fun priority_verbose: Int do return 2
# Debug Android log priority
-fun priority_debug: Int do return 3
+private fun priority_debug: Int do return 3
# Info Android log priority
-fun priority_info: Int do return 4
+private fun priority_info: Int do return 4
# Warn Android log priority
-fun priority_warn: Int do return 5
+private fun priority_warn: Int do return 5
# Error Android log priority
-fun priority_error: Int do return 6
+private fun priority_error: Int do return 6
# Fatal Android log priority
-fun priority_fatal: Int do return 7
+private fun priority_fatal: Int do return 7
# Silent Android log priority
-fun priority_silent: Int do return 8
+private fun priority_silent: Int do return 8
# Write `text` to Android log at priority `level` with tag `tag`
-fun log_write(level: Int, tag, text: NativeString) `{
+private fun log_write(level: Int, tag, text: NativeString) `{
__android_log_write(level, tag, text);
`}
# Main entry point of your application
fun run do end
- # Prefix to all log messages, used by `log_error`, `log_warning` and `log_info`.
- fun log_prefix: String do return "app.nit"
-
- # Helper function for logging errors
- fun log_error(msg: String) do sys.stderr.write "{log_prefix} error: {msg}\n"
-
- # Helper function for logging warnings
- fun log_warning(msg: String) do sys.stderr.write "{log_prefix} warn: {msg}\n"
-
# Main init method for graphical stuff
# Is called when display is ready so graphical assets
# can be loaded at this time.
fun window_closing do end
end
+# Print a warning
+fun print_warning(object: Object)
+do
+ sys.stderr.write object.to_s
+ sys.stderr.write "\n"
+end
+
+# The running `App`
fun app: App do return once new App
app.setup
app.run