/
toast.uno
49 lines (38 loc) · 1.21 KB
/
toast.uno
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
using Uno;
using Uno.Collections;
using Fuse;
using Fuse.Scripting;
using Uno.UX;
using Uno.Compiler.ExportTargetInterop;
[extern(Android) ForeignInclude(Language.Java, "android.app.Activity","android.widget.Toast")]
[UXGlobalModule]
public class deviceToast : NativeModule
{
static readonly deviceToast _instance;
public deviceToast(){
if(_instance !=null) return;
_instance = this;
Uno.UX.Resource.SetGlobalKey(_instance, "deviceToast");
AddMember(new NativeFunction("ToastIt", (NativeCallback)ToastIt));
}
static object ToastIt(Fuse.Scripting.Context c, object[] args)
{
var arg = args[0] as string;
ToastIt(arg);
return null;
}
[Foreign(Language.Java)]
static extern(Android) void ToastIt(string message)
@{
final android.app.Activity context = com.fuse.Activity.getRootActivity();
context.runOnUiThread(new Runnable(){
public void run(){
Toast.makeText(com.fuse.Activity.getRootActivity(),message,Toast.LENGTH_LONG).show();
}
});
@}
static extern(!Android) void ToastIt(string message)
{
debug_log("Toast not supported on this platform.");
}
}