mirror of
https://github.com/NativeScript/NativeScript.git
synced 2025-08-16 11:42:04 +08:00
Merge pull request #949 from NativeScript/global.android
global.android replaced with platform.device.os === platform.platformNames.android
This commit is contained in:
@ -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");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -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;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -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;
|
||||||
|
@ -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;
|
||||||
|
@ -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;
|
||||||
|
@ -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;
|
||||||
|
@ -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);
|
||||||
|
@ -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));
|
||||||
|
|
||||||
|
@ -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;
|
||||||
|
Reference in New Issue
Block a user