Merge: lib/github: introduces Github hook events
[nit.git] / examples / mnit_simple / src / simple_android.nit
index 8d05277..b108f8b 100644 (file)
 # limitations under the License.
 
 module simple_android is
-       java_package("org.nitlanguage.simple")
+       android_manifest("""<uses-permission android:name="android.permission.VIBRATE" />""")
 end
 
-import simple
 import mnit_android
+import android::portrait
+import serialization
+
+import simple
 
 in "Java" `{
        import android.content.Context;
        import android.widget.Toast;
 `}
 
-redef class MyApp
+redef class App
        redef fun input( ie )
        do
-               if ie isa PointerEvent and ie.depressed then do_java_stuff
-
+               if ie isa PointerEvent and ie.depressed then 
+                       test_java_ffi
+               end
                return super
        end
 
-       fun do_java_stuff import native_activity in "Java" `{
+       fun test_java_ffi import native_activity in "Java" `{
                // + Log (no context needed)
                android.util.Log.d("mnit_simple", "Java within NIT!!!");
 
                // - Context needed from now on
                // NativeActivity is a Java sub-class of Context
-               final android.app.NativeActivity context = MyApp_native_activity(recv);
+               final android.app.NativeActivity context = App_native_activity(recv);
+
+               // Vibration
+               android.os.Vibrator v = (android.os.Vibrator)
+                       context.getSystemService(android.content.Context.VIBRATOR_SERVICE);
+               v.vibrate(500);
 
                // - UI thread needed from now on
                context.runOnUiThread(new Runnable() {
@@ -55,3 +64,18 @@ redef class MyApp
                });
        `}
 end
+
+class Point
+       auto_serializable
+
+       var x: Int
+       var y: Int
+
+       init(x, y: Int)
+       do
+               self.x = x
+               self.y = y
+       end
+
+       redef fun to_s do return "({x}, {y})"
+end