From 5002ea08468ce07d3eb96b558afc5672e8f014e2 Mon Sep 17 00:00:00 2001 From: Sylvain Gizard Date: Thu, 18 Dec 2014 16:04:08 +0100 Subject: [PATCH] Rough detection of Sony Xperia phones and tablets --- src/ua-parser.js | 10 ++++-- test/device-test.json | 80 +++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 88 insertions(+), 2 deletions(-) diff --git a/src/ua-parser.js b/src/ua-parser.js index 8dbf650..4add349 100644 --- a/src/ua-parser.js +++ b/src/ua-parser.js @@ -484,8 +484,14 @@ /android.+(transfo[prime\s]{4,10}\s\w+|eeepc|slider\s\w+|nexus 7)/i ], [MODEL, [VENDOR, 'Asus'], [TYPE, TABLET]], [ - /(sony)\s(tablet\s[ps])/i // Sony Tablets - ], [VENDOR, MODEL, [TYPE, TABLET]], [ + /(sony)\s(tablet\s[ps])\sbuild\//i // Sony Tablets + ], [VENDOR, [MODEL, 'Xperia Tablet'], [TYPE, TABLET]], [ + + /(sony)?(?:sgp.+)\sbuild\//i // Sony Tablets + ], [[VENDOR, 'Sony'], [MODEL, 'Xperia Tablet'], [TYPE, TABLET]], [ + + /(?:sony)?(?:(?:(?:c|d)\d{4})|(?:so[-l].+))\sbuild\//i // Sony Phones + ], [[VENDOR, 'Sony'], [MODEL, 'Xperia Phone'], [TYPE, MOBILE]], [ /\s(ouya)\s/i, // Ouya /(nintendo)\s([wids3u]+)/i // Nintendo diff --git a/test/device-test.json b/test/device-test.json index e32d587..5618960 100644 --- a/test/device-test.json +++ b/test/device-test.json @@ -118,5 +118,85 @@ "model" : "SM-T520", "type" : "tablet" } + }, + { + "desc" : "Sony C5303 (Xperia SP)", + "ua" : "Mozilla/5.0 (Linux; Android 4.3; C5303 Build/12.1.A.1.205) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.93 Mobile Safari/537.36", + "expect" : + { + "vendor" : "Sony", + "model" : "Xperia Phone", + "type" : "mobile" + } + }, + { + "desc": " Sony SO-02F (Xperia Z1 F)", + "ua": "Mozilla/5.0 (Linux; Android 4.2.2; SO-02F Build/14.1.H.2.119) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/34.0.1847.114 Mobile Safari/537.36", + "expect" : + { + "vendor" : "Sony", + "model" : "Xperia Phone", + "type" : "mobile" + } + }, + { + "desc": "Sony D6653 (Xperia Z3)", + "ua": "Mozilla/5.0 (Linux; Android 4.4; D6653 Build/23.0.A.0.376) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/35.0.1916.141 Mobile Safari/537.36", + "expect" : + { + "vendor" : "Sony", + "model" : "Xperia Phone", + "type" : "mobile" + } + }, + { + "desc": "Sony Xperia SOL25 (ZL2)", + "ua": "Mozilla/5.0 (Linux; U; Android 4.4; SOL25 Build/17.1.1.C.1.64) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Mobile Safari/534.30", + "expect" : + { + "vendor" : "Sony", + "model" : "Xperia Phone", + "type" : "mobile" + } + }, + { + "desc": "Sony SO-02F (Xperia Z1)", + "ua": "Mozilla/5.0 (Linux; U; Android 4.4; SonySO-02F Build/14.3.B.0.288) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Mobile Safari/534.30", + "expect" : + { + "vendor" : "Sony", + "model" : "Xperia Phone", + "type" : "mobile" + } + }, + { + "desc": " Sony SGP521 (Xperia Z2 Tablet)", + "ua": "Mozilla/5.0 (Linux; Android 4.4; SGP521 Build/17.1.A.0.432) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/32.0.1700.99 Safari/537.36", + "expect" : + { + "vendor" : "Sony", + "model" : "Xperia Tablet", + "type" : "tablet" + } + }, + { + "desc": "Sony Tablet S", + "ua": "Mozilla/5.0 (Linux; U; Android 3.1; Sony Tablet S Build/THMAS10000) AppleWebKit/534.13 (KHTML, like Gecko) Version/4.0 Safari/534.13", + "expect" : + { + "vendor" : "Sony", + "model" : "Xperia Tablet", + "type" : "tablet" + } + }, + { + "desc": "Sony Tablet Z LTE", + "ua": "Mozilla/5.0 (Linux; U; Android 4.1; SonySGP321 Build/10.2.C.0.143) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Safari/534.30", + "expect" : + { + "vendor" : "Sony", + "model" : "Xperia Tablet", + "type" : "tablet" + } } ]