From 8a0c0dd281a01a03b3c1f2694df44b944d0c1df1 Mon Sep 17 00:00:00 2001 From: Wei Zhang Date: Thu, 5 Mar 2015 22:31:35 +0000 Subject: [PATCH] UUID Support --- platform/platform.android.ts | 16 ++++++++++++++-- platform/platform.d.ts | 9 +++++++-- platform/platform.ios.ts | 12 ++++++++++++ 3 files changed, 33 insertions(+), 4 deletions(-) diff --git a/platform/platform.android.ts b/platform/platform.android.ts index 686eb2100..816dc167f 100644 --- a/platform/platform.android.ts +++ b/platform/platform.android.ts @@ -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; } -} \ No newline at end of file +} diff --git a/platform/platform.d.ts b/platform/platform.d.ts index 2901f0de2..5339070b6 100644 --- a/platform/platform.d.ts +++ b/platform/platform.d.ts @@ -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; } -} \ No newline at end of file +} diff --git a/platform/platform.ios.ts b/platform/platform.ios.ts index 6a2fffdc5..8ba1282bd 100644 --- a/platform/platform.ios.ts +++ b/platform/platform.ios.ts @@ -55,6 +55,18 @@ export class device implements definition.device { return device._deviceType; } + + static get uuid(): string { + if (!device._uuid) { + /*NSUserDefaults* userDefaults = [NSUserDefaults standardUserDefaults]; + var UUID_KEY = @"CDVUUID"; + CFUUIDRef uuidRef = CFUUIDCreate(kCFAllocatorDefault); + CFStringRef uuidString = CFUUIDCreateString(kCFAllocatorDefault, uuidRef); + */ + } + + return device._uuid; + } } var mainScreenInfo: definition.ScreenMetrics = null;