Merge pull request #949 from NativeScript/global.android

global.android replaced with platform.device.os === platform.platformNames.android
This commit is contained in:
Vladimir Enchev
2015-10-16 11:08:38 +03:00
9 changed files with 21 additions and 14 deletions

View File

@ -5,6 +5,7 @@
// The default bootstrap.js implementation for each platform loads and initializes this module. // The default bootstrap.js implementation for each platform loads and initializes this module.
// ``` JavaScript // ``` JavaScript
import app = require("application"); import app = require("application");
import platform = require("platform");
// ``` // ```
// The pre-required `app` module is used throughout the following code snippets. // The pre-required `app` module is used throughout the following code snippets.
// </snippet> // </snippet>
@ -24,10 +25,10 @@ if (app.android) {
import TKUnit = require("./TKUnit"); import TKUnit = require("./TKUnit");
export var testInitialized = function () { export var testInitialized = function () {
if (global.android) { if (platform.device.os === platform.platformNames.android) {
// we have the android defined // we have the android defined
TKUnit.assert(app.android, "Application module not properly intialized"); TKUnit.assert(app.android, "Application module not properly intialized");
} else if (NSObject) { } else if (platform.device.os === platform.platformNames.ios) {
TKUnit.assert(app.ios, "Application module not properly intialized"); TKUnit.assert(app.ios, "Application module not properly intialized");
} }
} }

View File

@ -129,10 +129,10 @@ function printRunTestStats() {
} }
function time(): number { function time(): number {
if (global.android) { if (platform.device.os === platform.platformNames.android) {
return java.lang.System.nanoTime() / 1000000; // 1 ms = 1000000 ns return java.lang.System.nanoTime() / 1000000; // 1 ms = 1000000 ns
} }
else { else if (platform.device.os === platform.platformNames.ios) {
return CACurrentMediaTime() * 1000; return CACurrentMediaTime() * 1000;
} }
} }

View File

@ -3,6 +3,7 @@ import bindable = require("ui/core/bindable");
import dependencyObservable = require("ui/core/dependency-observable"); import dependencyObservable = require("ui/core/dependency-observable");
import types = require("utils/types"); import types = require("utils/types");
import definition = require("ui/core/proxy"); import definition = require("ui/core/proxy");
import platform = require("platform");
export class PropertyMetadata extends dependencyObservable.PropertyMetadata implements definition.PropertyMetadata { export class PropertyMetadata extends dependencyObservable.PropertyMetadata implements definition.PropertyMetadata {
private _onSetNativeValue: dependencyObservable.PropertyChangedCallback; private _onSetNativeValue: dependencyObservable.PropertyChangedCallback;
@ -76,7 +77,7 @@ export class ProxyObject extends bindable.Bindable implements definition.ProxyOb
return; return;
} }
if (global.android && !this.android) { if (platform.device.os === platform.platformNames.android && !this.android) {
// in android we have lazy loading and we do not have a native widget created yet, do not call the onSetNativeValue callback // in android we have lazy loading and we do not have a native widget created yet, do not call the onSetNativeValue callback
// properties will be synced when the widget is created // properties will be synced when the widget is created
return; return;

View File

@ -5,6 +5,7 @@ import imageSource = require("image-source");
import definition = require("ui/image"); import definition = require("ui/image");
import enums = require("ui/enums"); import enums = require("ui/enums");
import types = require("utils/types"); import types = require("utils/types");
import platform = require("platform");
var SRC = "src"; var SRC = "src";
var IMAGE_SOURCE = "imageSource"; var IMAGE_SOURCE = "imageSource";
@ -14,7 +15,7 @@ var ISLOADING = "isLoading";
var STRETCH = "stretch"; var STRETCH = "stretch";
// on Android we explicitly set propertySettings to None because android will invalidate its layout (skip unnecessary native call). // on Android we explicitly set propertySettings to None because android will invalidate its layout (skip unnecessary native call).
var AffectsLayout = global.android ? dependencyObservable.PropertyMetadataSettings.None : dependencyObservable.PropertyMetadataSettings.AffectsLayout; var AffectsLayout = platform.device.os === platform.platformNames.android ? dependencyObservable.PropertyMetadataSettings.None : dependencyObservable.PropertyMetadataSettings.AffectsLayout;
function onSrcPropertyChanged(data: dependencyObservable.PropertyChangeData) { function onSrcPropertyChanged(data: dependencyObservable.PropertyChangeData) {
var image = <Image>data.object; var image = <Image>data.object;

View File

@ -5,9 +5,10 @@ import view = require("ui/core/view");
import enums = require("ui/enums"); import enums = require("ui/enums");
import proxy = require("ui/core/proxy"); import proxy = require("ui/core/proxy");
import {registerSpecialProperty} from "ui/builder/special-properties"; import {registerSpecialProperty} from "ui/builder/special-properties";
import platform = require("platform");
// on Android we explicitly set propertySettings to None because android will invalidate its layout (skip unnecessary native call). // on Android we explicitly set propertySettings to None because android will invalidate its layout (skip unnecessary native call).
var AffectsLayout = global.android ? dependencyObservable.PropertyMetadataSettings.None : dependencyObservable.PropertyMetadataSettings.AffectsLayout; var AffectsLayout = platform.device.os === platform.platformNames.android ? dependencyObservable.PropertyMetadataSettings.None : dependencyObservable.PropertyMetadataSettings.AffectsLayout;
function isDockValid(value: any): boolean { function isDockValid(value: any): boolean {
return value === enums.Dock.left || value === enums.Dock.top || value === enums.Dock.right || value === enums.Dock.bottom; return value === enums.Dock.left || value === enums.Dock.top || value === enums.Dock.right || value === enums.Dock.bottom;

View File

@ -3,9 +3,10 @@ import definition = require("ui/layouts/stack-layout");
import dependencyObservable = require("ui/core/dependency-observable"); import dependencyObservable = require("ui/core/dependency-observable");
import enums = require("ui/enums"); import enums = require("ui/enums");
import proxy = require("ui/core/proxy"); import proxy = require("ui/core/proxy");
import platform = require("platform");
// on Android we explicitly set propertySettings to None because android will invalidate its layout (skip unnecessary native call). // on Android we explicitly set propertySettings to None because android will invalidate its layout (skip unnecessary native call).
var AffectsLayout = global.android ? dependencyObservable.PropertyMetadataSettings.None : dependencyObservable.PropertyMetadataSettings.AffectsLayout; var AffectsLayout = platform.device.os === platform.platformNames.android ? dependencyObservable.PropertyMetadataSettings.None : dependencyObservable.PropertyMetadataSettings.AffectsLayout;
function validateOrientation(value: any): boolean { function validateOrientation(value: any): boolean {
return value === enums.Orientation.vertical || value === enums.Orientation.horizontal; return value === enums.Orientation.vertical || value === enums.Orientation.horizontal;

View File

@ -3,9 +3,10 @@ import definition = require("ui/layouts/wrap-layout");
import dependencyObservable = require("ui/core/dependency-observable"); import dependencyObservable = require("ui/core/dependency-observable");
import enums = require("ui/enums"); import enums = require("ui/enums");
import proxy = require("ui/core/proxy"); import proxy = require("ui/core/proxy");
import platform = require("platform");
// on Android we explicitly set propertySettings to None because android will invalidate its layout (so we skip unnecessary native call). // on Android we explicitly set propertySettings to None because android will invalidate its layout (so we skip unnecessary native call).
var AffectsLayout = global.android ? dependencyObservable.PropertyMetadataSettings.None : dependencyObservable.PropertyMetadataSettings.AffectsLayout; var AffectsLayout = platform.device.os === platform.platformNames.android ? dependencyObservable.PropertyMetadataSettings.None : dependencyObservable.PropertyMetadataSettings.AffectsLayout;
function isWidthHeightValid(value: any): boolean { function isWidthHeightValid(value: any): boolean {
return (value >= 0.0 && value !== Number.POSITIVE_INFINITY); return (value >= 0.0 && value !== Number.POSITIVE_INFINITY);

View File

@ -8,11 +8,11 @@ import fs = require("file-system");
import frameCommon = require("../frame/frame-common"); import frameCommon = require("../frame/frame-common");
import {ActionBar} from "ui/action-bar"; import {ActionBar} from "ui/action-bar";
import {DependencyObservable, PropertyMetadata, PropertyMetadataSettings, PropertyChangeData, Property, ValueSource} from "ui/core/dependency-observable"; import {DependencyObservable, PropertyMetadata, PropertyMetadataSettings, PropertyChangeData, Property, ValueSource} from "ui/core/dependency-observable";
import platform = require("platform");
import proxy = require("ui/core/proxy"); import proxy = require("ui/core/proxy");
// on Android we explicitly set propertySettings to None because android will invalidate its layout (skip unnecessary native call). // on Android we explicitly set propertySettings to None because android will invalidate its layout (skip unnecessary native call).
var AffectsLayout = global.android ? PropertyMetadataSettings.None : PropertyMetadataSettings.AffectsLayout; var AffectsLayout = platform.device.os === platform.platformNames.android ? PropertyMetadataSettings.None : PropertyMetadataSettings.AffectsLayout;
var backgroundSpanUnderStatusBarProperty = new Property("backgroundSpanUnderStatusBar", "Page", new proxy.PropertyMetadata(false, AffectsLayout)); var backgroundSpanUnderStatusBarProperty = new Property("backgroundSpanUnderStatusBar", "Page", new proxy.PropertyMetadata(false, AffectsLayout));

View File

@ -12,6 +12,7 @@ import imageSource = require("image-source");
import utils = require("utils/utils"); import utils = require("utils/utils");
import font = require("ui/styling/font"); import font = require("ui/styling/font");
import background = require("ui/styling/background"); import background = require("ui/styling/background");
import platform = require("platform");
// key is the property id and value is Dictionary<string, StylePropertyChangedHandler>; // key is the property id and value is Dictionary<string, StylePropertyChangedHandler>;
var _registeredHandlers = Array<Object>(); var _registeredHandlers = Array<Object>();
@ -23,7 +24,7 @@ var _handlersCache = {};
var noStylingClasses = {}; var noStylingClasses = {};
// on Android we explicitly set propertySettings to None because android will invalidate its layout (skip unnecessary native call). // on Android we explicitly set propertySettings to None because android will invalidate its layout (skip unnecessary native call).
var AffectsLayout = global.android ? PropertyMetadataSettings.None : PropertyMetadataSettings.AffectsLayout; var AffectsLayout = platform.device.os === platform.platformNames.android ? PropertyMetadataSettings.None : PropertyMetadataSettings.AffectsLayout;
export interface Thickness { export interface Thickness {
left: number; left: number;
@ -850,7 +851,7 @@ export var nativePaddingsProperty = new styleProperty.Property("paddingNative",
new PropertyMetadata(undefined, null, null, null, thicknessComparer)); new PropertyMetadata(undefined, null, null, null, thicknessComparer));
// TODO: separate into .android/.ios files so that there is no need for such checks // TODO: separate into .android/.ios files so that there is no need for such checks
var defaultPadding = global.android ? undefined : 0; var defaultPadding = platform.device.os === platform.platformNames.android ? undefined : 0;
export var paddingLeftProperty = new styleProperty.Property("paddingLeft", "padding-left", export var paddingLeftProperty = new styleProperty.Property("paddingLeft", "padding-left",
new PropertyMetadata(defaultPadding, AffectsLayout, onPaddingValueChanged, isPaddingValid), converters.numberConverter); new PropertyMetadata(defaultPadding, AffectsLayout, onPaddingValueChanged, isPaddingValid), converters.numberConverter);
@ -865,7 +866,7 @@ export var paddingBottomProperty = new styleProperty.Property("paddingBottom", "
new PropertyMetadata(defaultPadding, AffectsLayout, onPaddingValueChanged, isPaddingValid), converters.numberConverter); new PropertyMetadata(defaultPadding, AffectsLayout, onPaddingValueChanged, isPaddingValid), converters.numberConverter);
// TODO: separate into .android/.ios files so that there is no need for such checks // TODO: separate into .android/.ios files so that there is no need for such checks
if (global.android) { if (platform.device.os === platform.platformNames.android) {
paddingTopProperty.defaultValueGetter = getNativePaddingTop; paddingTopProperty.defaultValueGetter = getNativePaddingTop;
paddingLeftProperty.defaultValueGetter = getNativePaddingLeft; paddingLeftProperty.defaultValueGetter = getNativePaddingLeft;
paddingRightProperty.defaultValueGetter = getNativePaddingRight; paddingRightProperty.defaultValueGetter = getNativePaddingRight;