Merge branch 'uuid'

This commit is contained in:
Erjan Gavalji
2015-03-30 17:02:15 +03:00
3 changed files with 36 additions and 4 deletions

View File

@ -16,6 +16,7 @@ export class device implements definition.device {
private static _osVersion: string;
private static _sdkVersion: string;
private static _deviceType: string;
private static _uuid: string;
static get os(): string {
return platformNames.android;
@ -48,7 +49,7 @@ export class device implements definition.device {
static get deviceType(): string {
if (!device._deviceType) {
var dips = Math.min(screen.mainScreen.widthPixels, screen.mainScreen.heightPixels) / screen.mainScreen.scale;
// If the device has more than 600 dips it is considered to be a tablet.
if (dips >= device.MIN_TABLET_PIXELS) {
device._deviceType = enums.DeviceType.Tablet;
@ -60,6 +61,17 @@ export class device implements definition.device {
return device._deviceType;
}
static get uuid(): string {
if (!device._uuid) {
device._uuid = android.provider.Settings.Secure.getString(
application.android.context.getContentResolver(),
android.provider.Settings.Secure.ANDROID_ID
);
}
return device._uuid;
}
}
var mainScreenInfo: definition.ScreenMetrics;
@ -80,4 +92,4 @@ export class screen implements definition.screen {
}
return mainScreenInfo;
}
}
}

View File

@ -3,7 +3,7 @@
* Contains all kinds of information about the device, its operating system and software.
*/
declare module "platform" {
/*
* Enum holding platform names.
*/
@ -45,6 +45,11 @@ declare module "platform" {
* Available values: "phone", "tablet".
*/
static deviceType: string;
/**
* Gets the uuid
*/
static uuid: string;
}
/**
@ -86,4 +91,4 @@ declare module "platform" {
*/
static mainScreen: ScreenMetrics;
}
}
}

View File

@ -55,6 +55,21 @@ export class device implements definition.device {
return device._deviceType;
}
static get uuid(): string {
var userDefaults = NSUserDefaults.standardUserDefaults();
var uuid_key = "TNSUUID";
var app_uuid = userDefaults.stringForKey(uuid_key);
if (!app_uuid) {
var uuidRef = CFUUIDCreate(kCFAllocatorDefault);
app_uuid = CFUUIDCreateString(kCFAllocatorDefault, uuidRef);
userDefaults.setObjectForKey(app_uuid, uuid_key);
userDefaults.synchronize();
}
return app_uuid;
}
}
var mainScreenInfo: definition.ScreenMetrics = null;