-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathactivityConfig.go
61 lines (59 loc) · 1.6 KB
/
activityConfig.go
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
50
51
52
53
54
55
56
57
58
59
60
61
package faithdroid
type ActivityConfig struct {
MyLaunchMode string
MyFnId string
MyIntent Intent
}
func NewActivityConfig() *ActivityConfig {
ac := &ActivityConfig{}
ac.MyIntent.Extras = make(map[string]string)
return ac
}
func (c *ActivityConfig) LaunchMode_Standard() *ActivityConfig {
c.MyLaunchMode = "Standard"
return c
}
func (c *ActivityConfig) LaunchMode_SingleTask() *ActivityConfig {
c.MyLaunchMode = "SingleTask"
return c
}
func (c *ActivityConfig) LaunchMode_SingleInstance() *ActivityConfig {
c.MyLaunchMode = "SingleInstance"
return c
}
func (c *ActivityConfig) LaunchMode_SingleTop() *ActivityConfig {
c.MyLaunchMode = "SingleTop"
return c
}
func (c *ActivityConfig) IntentAction(s string) *ActivityConfig {
c.MyIntent.Action = s
return c
}
func (c *ActivityConfig) Paths(ps ...string) *ActivityConfig {
c.MyIntent.Paths = ps
return c
}
func (c *ActivityConfig) PutExtra(key, value string) *ActivityConfig {
c.MyIntent.Extras[key] = value
return c
}
func StartActivity(a IActivity, createView func(IActivity), conf *ActivityConfig) {
fnId := NewToken()
fn:=func(uId string) string {
if createView != nil {
createView(GlobalVars.UIs[uId].GetCurrentFActivity())
}
return ""
}
GlobalVars.EventHandlersMapLock.Lock()
GlobalVars.EventHandlersMap[fnId] = fn
GlobalVars.EventHandlersMapLock.Unlock()
if conf == nil {
conf = NewActivityConfig()
}
conf.MyFnId = fnId
GlobalVars.UIs[a.GetMyActivity().UI].NewView("Activity", JsonObject(conf))
}
func StartUriIntent(a IActivity, uri string) {
GlobalVars.UIs[a.GetMyActivity().UI].ViewSetAttr("Activity", "StartUriIntent", uri)
}