mirror of
https://github.com/NativeScript/NativeScript.git
synced 2025-08-15 02:54:11 +08:00

- These two return a number in Android (can't test iOS). Adding this fix would make expressions such as `Device.sdkVersion >= 23` possible without the need to add `@ts-ignore` before - Updated JSDoc to reflect Android behavior
142 lines
2.8 KiB
TypeScript
142 lines
2.8 KiB
TypeScript
/**
|
||
* Contains all kinds of information about the device, its operating system and software.
|
||
*/
|
||
|
||
/* tslint:disable:class-name */
|
||
|
||
/**
|
||
* Gets a value indicating if the app is running on the Android platform.
|
||
*/
|
||
export const isAndroid: boolean;
|
||
|
||
/**
|
||
* Gets a value indicating if the app is running on the iOS platform.
|
||
*/
|
||
export const isIOS: boolean;
|
||
|
||
/*
|
||
* Enum holding platform names.
|
||
*/
|
||
export const platformNames: {
|
||
android: string;
|
||
ios: string;
|
||
};
|
||
|
||
/*
|
||
* An object containing device specific information.
|
||
*/
|
||
export interface IDevice {
|
||
/**
|
||
* Gets the manufacturer of the device.
|
||
* For example: "Apple" or "HTC" or "Samsung".
|
||
*/
|
||
manufacturer: string;
|
||
|
||
/**
|
||
* Gets the model of the device.
|
||
* For example: "Nexus 5" or "iPhone".
|
||
*/
|
||
model: string;
|
||
|
||
/**
|
||
* Gets the OS of the device.
|
||
* For example: "Android" or "iOS".
|
||
*/
|
||
os: string;
|
||
|
||
/**
|
||
* Gets the OS version.
|
||
* For example: 12(android), 8.1(ios)
|
||
*/
|
||
osVersion: number | string;
|
||
|
||
/**
|
||
* Gets the SDK version.
|
||
* For example: 31(android), 8.1(ios).
|
||
*/
|
||
sdkVersion: number | string;
|
||
|
||
/**
|
||
* Gets the type of the current device.
|
||
* Available values: "Phone", "Tablet".
|
||
*/
|
||
deviceType: 'Phone' | 'Tablet';
|
||
|
||
/**
|
||
* Gets the uuid.
|
||
* On iOS this will return a new uuid if the application is re-installed on the device.
|
||
* If you need to receive the same uuid even after the application has been re-installed on the device,
|
||
* use this plugin: https://www.npmjs.com/package/nativescript-ios-uuid
|
||
*/
|
||
uuid: string;
|
||
|
||
/**
|
||
* Gets the preferred language. For example "en" or "en-US".
|
||
*/
|
||
language: string;
|
||
|
||
/**
|
||
* Gets the preferred region. For example "US".
|
||
*/
|
||
region: string;
|
||
}
|
||
|
||
/**
|
||
* An object containing screen information.
|
||
*/
|
||
export interface ScreenMetrics {
|
||
/**
|
||
* Gets the absolute width of the screen in pixels.
|
||
*/
|
||
widthPixels: number;
|
||
|
||
/**
|
||
* Gets the absolute height of the screen in pixels.
|
||
*/
|
||
heightPixels: number;
|
||
|
||
/**
|
||
* Gets the absolute width of the screen in density independent pixels.
|
||
*/
|
||
widthDIPs: number;
|
||
|
||
/**
|
||
* Gets the absolute height of the screen in density independent pixels.
|
||
*/
|
||
heightDIPs: number;
|
||
|
||
/**
|
||
* The logical density of the display. This is a scaling factor for the Density Independent Pixel unit.
|
||
*/
|
||
scale: number;
|
||
}
|
||
|
||
/**
|
||
* An object describing general information about a display.
|
||
*/
|
||
export class Screen {
|
||
/**
|
||
* Gets information about the main screen of the current device.
|
||
*/
|
||
static mainScreen: ScreenMetrics;
|
||
}
|
||
|
||
/**
|
||
* An object describing general information about a display.
|
||
*
|
||
* This retains compatibility with NS6
|
||
*/
|
||
export const screen: Screen;
|
||
|
||
/**
|
||
* Gets the current device information.
|
||
*/
|
||
export const Device: IDevice;
|
||
|
||
/**
|
||
* Gets the current device information.
|
||
*
|
||
* This retains compatibility with NS6
|
||
*/
|
||
export const device: IDevice;
|