FazBrowse GitHub Viewer
|
Trending
|
URL:
|
Home
Tools:
[Download Repo ZIP]
[View Raw Code]
[Original HTTPS Page]
NativeScript/tns-core-modules/timer/timer.android.ts at patch-3 · hettiger/NativeScript · GitHub
hettiger
NativeScript
Repository navigation
Code
Pull requests
Actions
Projects
Wiki
Security and quality
Insights
Expand file tree
Breadcrumbs
NativeScript
/
tns-core-modules
/
timer
/
timer.android.ts
Copy path
More file actions
More file actions
Latest commit
History
History
History
73 lines (58 loc) · 1.77 KB
Breadcrumbs
NativeScript
/
tns-core-modules
/
timer
/
timer.android.ts
Copy path
File metadata and controls
73 lines (58 loc) · 1.77 KB
Raw
Copy raw file
Download raw file
Open symbols panel
Edit and raw actions
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
62
63
64
65
66
67
68
69
70
71
72
73
/**
* Android specific timer functions implementation.
*/
var
timeoutHandler
;
var
timeoutCallbacks
=
{
}
;
var
timerId
=
0
;
function
createHandlerAndGetId
(
)
:
number
{
if
(
!
timeoutHandler
)
{
timeoutHandler
=
new
android
.
os
.
Handler
(
android
.
os
.
Looper
.
myLooper
(
)
)
;
}
timerId
++
;
return
timerId
;
}
export
function
setTimeout
(
callback
:
Function
,
milliseconds
=
0
,
...
args
)
:
number
{
const
id
=
createHandlerAndGetId
(
)
;
const
invoke
=
(
)
=>
callback
(
...
args
)
;
const
zoneBound
=
zonedCallback
(
invoke
)
;
var
runnable
=
new
java
.
lang
.
Runnable
(
{
run
:
(
)
=>
{
zoneBound
(
)
;
if
(
timeoutCallbacks
[
id
]
)
{
delete
timeoutCallbacks
[
id
]
;
}
}
}
)
;
if
(
!
timeoutCallbacks
[
id
]
)
{
timeoutCallbacks
[
id
]
=
runnable
;
}
timeoutHandler
.
postDelayed
(
runnable
,
long
(
milliseconds
)
)
;
return
id
;
}
export
function
clearTimeout
(
id
:
number
)
:
void
{
let
index
=
id
;
if
(
timeoutCallbacks
[
index
]
)
{
timeoutHandler
.
removeCallbacks
(
timeoutCallbacks
[
index
]
)
;
delete
timeoutCallbacks
[
index
]
;
}
}
export
function
setInterval
(
callback
:
Function
,
milliseconds
=
0
,
...
args
)
:
number
{
const
id
=
createHandlerAndGetId
(
)
;
const
handler
=
timeoutHandler
;
const
invoke
=
(
)
=>
callback
(
...
args
)
;
const
zoneBound
=
zonedCallback
(
invoke
)
;
var
runnable
=
new
java
.
lang
.
Runnable
(
{
run
:
(
)
=>
{
zoneBound
(
)
;
if
(
timeoutCallbacks
[
id
]
)
{
handler
.
postDelayed
(
runnable
,
long
(
milliseconds
)
)
;
}
}
}
)
;
if
(
!
timeoutCallbacks
[
id
]
)
{
timeoutCallbacks
[
id
]
=
runnable
;
}
timeoutHandler
.
postDelayed
(
runnable
,
long
(
milliseconds
)
)
;
return
id
;
}
export
var
clearInterval
=
clearTimeout
;
Back
|
FazBrowse Home
|
New Git URL