Merge pull request #429 from hdeshev/fix-view-d-ts

Move View._applyXmlAttribute outside @private block.
This commit is contained in:
Hristo Deshev
2015-07-14 19:10:21 +03:00
3 changed files with 18 additions and 14 deletions

View File

@@ -3,24 +3,26 @@
*/
var timeoutHandler;
var timeoutCallbacks = {};
var timerId = 0;
function createHadlerAndGetId(): number {
function createHandlerAndGetId(): number {
if (!timeoutHandler) {
timeoutHandler = new android.os.Handler(android.os.Looper.getMainLooper());
}
return new Date().getUTCMilliseconds();
timerId++;
return timerId;
}
export function setTimeout(callback: Function, milliseconds = 0): number {
var id = createHadlerAndGetId();
var id = createHandlerAndGetId();
var runnable = new java.lang.Runnable({
run: () => {
callback();
if (timeoutCallbacks && timeoutCallbacks[id]) {
timeoutCallbacks[id] = null;
if (timeoutCallbacks[id]) {
delete timeoutCallbacks[id];
}
}
});
@@ -37,12 +39,12 @@ export function setTimeout(callback: Function, milliseconds = 0): number {
export function clearTimeout(id: number): void {
if (timeoutCallbacks[id]) {
timeoutHandler.removeCallbacks(timeoutCallbacks[id]);
timeoutCallbacks[id] = null;
delete timeoutCallbacks[id];
}
}
export function setInterval(callback: Function, milliseconds = 0): number {
var id = createHadlerAndGetId();
var id = createHandlerAndGetId();
var handler = timeoutHandler;
var runnable = new java.lang.Runnable({
@@ -61,4 +63,4 @@ export function setInterval(callback: Function, milliseconds = 0): number {
return id;
}
export var clearInterval = clearTimeout;
export var clearInterval = clearTimeout;

View File

@@ -2,6 +2,7 @@
* iOS specific timer functions implementation.
*/
var timeoutCallbacks = {};
var timerId = 0;
class TimerTargetImpl extends NSObject {
static new(): TimerTargetImpl {
@@ -25,7 +26,8 @@ class TimerTargetImpl extends NSObject {
}
function createTimerAndGetId(callback: Function, milliseconds: number, shouldRepeat: boolean): number {
var id = new Date().getUTCMilliseconds();
timerId++;
var id = timerId;
var timerTarget = TimerTargetImpl.new().initWithCallback(callback);
var timer = NSTimer.scheduledTimerWithTimeIntervalTargetSelectorUserInfoRepeats(milliseconds / 1000, timerTarget, "tick", null, shouldRepeat);
@@ -44,7 +46,7 @@ export function setTimeout(callback: Function, milliseconds = 0): number {
export function clearTimeout(id: number): void {
if (timeoutCallbacks[id]) {
timeoutCallbacks[id].invalidate();
timeoutCallbacks[id] = null;
delete timeoutCallbacks[id];
}
}
@@ -52,4 +54,4 @@ export function setInterval(callback: Function, milliseconds = 0): number {
return createTimerAndGetId(callback, milliseconds, true);
}
export var clearInterval = clearTimeout;
export var clearInterval = clearTimeout;

6
ui/core/view.d.ts vendored
View File

@@ -412,6 +412,8 @@ declare module "ui/core/view" {
_removeView(view: View);
_context: android.content.Context;
public _applyXmlAttribute(attribute: string, value: any): boolean;
// TODO: Implement logic for stripping these lines out
//@private
_gestureObservers: Map<number, Array<gestures.GesturesObserver>>;
@@ -441,8 +443,6 @@ declare module "ui/core/view" {
_updateLayout(): void;
_applyXmlAttribute(attribute, value): boolean;
/**
* Called my measure method to cache measureSpecs.
*/
@@ -519,4 +519,4 @@ declare module "ui/core/view" {
*/
_applyXmlAttribute(attributeName: string, attrValue: any): boolean;
}
}
}