From f89e08f2c0f56ed830720ad4d5f4d51615c1ed98 Mon Sep 17 00:00:00 2001 From: Nikhil Motiani Date: Thu, 16 Mar 2017 14:47:11 +0530 Subject: [PATCH 01/25] Improved LG Tablet Detection --- src/ua-parser.js | 2 ++ test/device-test.json | 22 ++++++++++++++++++++++ 2 files changed, 24 insertions(+) diff --git a/src/ua-parser.js b/src/ua-parser.js index 567517c..978089d 100644 --- a/src/ua-parser.js +++ b/src/ua-parser.js @@ -599,6 +599,8 @@ /android\s3\.[\s\w;-]{10}(a\d{3})/i // Acer ], [MODEL, [VENDOR, 'Acer'], [TYPE, TABLET]], [ + /android.+([vl]k\-?\d{3})\s+build/i // LG Tablet + ], [MODEL, [VENDOR, 'LG'], [TYPE, TABLET]], [ /android\s3\.[\s\w;-]{10}(lg?)-([06cv9]{3,4})/i // LG Tablet ], [[VENDOR, 'LG'], MODEL, [TYPE, TABLET]], [ /(lg) netcast\.tv/i // LG SmartTV diff --git a/test/device-test.json b/test/device-test.json index 4bc7228..a3303fa 100644 --- a/test/device-test.json +++ b/test/device-test.json @@ -523,4 +523,26 @@ "type" : "mobile" } } +, + { + "desc" : "LG VK Series Tablet", + "ua" : "Mozilla/5.0 (Linux; Android 5.0.2; VK700 Build/LRX22G) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.84 Safari/537.36", + "expect" : + { + "vendor" : "LG", + "model" : "VK700", + "type" : "tablet" + } + } +, + { + "desc" : "LG LK Series Tablet", + "ua" : "Mozilla/5.0 (Linux; Android 5.0.1; LGLK430 Build/LRX21Y) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/38.0.2125.102 Safari/537.36", + "expect" : + { + "vendor" : "LG", + "model" : "LK430", + "type" : "tablet" + } + } ] From 4768992762bd72eb66d02a4683adc2956dbb19af Mon Sep 17 00:00:00 2001 From: Nikhil Motiani Date: Thu, 16 Mar 2017 14:54:40 +0530 Subject: [PATCH 02/25] Added LG Generic Mobile --- src/ua-parser.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/ua-parser.js b/src/ua-parser.js index 978089d..a318912 100644 --- a/src/ua-parser.js +++ b/src/ua-parser.js @@ -606,7 +606,8 @@ /(lg) netcast\.tv/i // LG SmartTV ], [VENDOR, MODEL, [TYPE, SMARTTV]], [ /(nexus\s[45])/i, // LG - /lg[e;\s\/-]+(\w+)*/i + /lg[e;\s\/-]+(\w+)*/i, + /android.+lg(\-?[\d\w]+)\s+build/i ], [MODEL, [VENDOR, 'LG'], [TYPE, MOBILE]], [ /android.+(ideatab[a-z0-9\-\s]+)/i // Lenovo From 8e09cd49e328f8c225cdfcb7c31a2b1b1cae3bf8 Mon Sep 17 00:00:00 2001 From: Nikhil Motiani Date: Thu, 16 Mar 2017 14:57:28 +0530 Subject: [PATCH 03/25] Added RCA Devices detection --- src/ua-parser.js | 3 +++ test/device-test.json | 22 ++++++++++++++++++++++ 2 files changed, 25 insertions(+) diff --git a/src/ua-parser.js b/src/ua-parser.js index a318912..6fe342a 100644 --- a/src/ua-parser.js +++ b/src/ua-parser.js @@ -639,6 +639,9 @@ /android.+a000(1)\s+build/i // OnePlus ], [MODEL, [VENDOR, 'OnePlus'], [TYPE, MOBILE]], [ + /android.+[;\/]\s*(RCT[\d\w]+)\s+build/i // RCA Tablets + ], [MODEL, [VENDOR, 'RCA'], [TYPE, TABLET]], [ + /\s(tablet)[;\/]/i, // Unidentifiable Tablet /\s(mobile)(?:[;\/]|\ssafari)/i // Unidentifiable Mobile ], [[TYPE, util.lowerize], VENDOR, MODEL] diff --git a/test/device-test.json b/test/device-test.json index a3303fa..0ca0ff7 100644 --- a/test/device-test.json +++ b/test/device-test.json @@ -545,4 +545,26 @@ "type" : "tablet" } } +, + { + "desc" : "RCA Voyager III Tablet", + "ua" : "Mozilla/5.0 (Linux; Android 6.0.1; RCT6973W43 Build/MMB29M) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 Safari/537.36", + "expect" : + { + "vendor" : "RCA", + "model" : "RCT6973W43", + "type" : "tablet" + } + } +, + { + "desc" : "RCA Voyager II Tablet", + "ua" : "Mozilla/5.0 (Linux; Android 5.0; RCT6773W22B Build/LRX21M) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 Safari/537.36", + "expect" : + { + "vendor" : "RCA", + "model" : "RCT6773W22B", + "type" : "tablet" + } + } ] From 985a7b18e0594f2e4d9572c947bd812faffd7eda Mon Sep 17 00:00:00 2001 From: Nikhil Motiani Date: Thu, 16 Mar 2017 15:00:00 +0530 Subject: [PATCH 04/25] Added Verizon Devices detection --- src/ua-parser.js | 3 +++ test/device-test.json | 33 +++++++++++++++++++++++++++++++++ 2 files changed, 36 insertions(+) diff --git a/src/ua-parser.js b/src/ua-parser.js index 6fe342a..2e83c19 100644 --- a/src/ua-parser.js +++ b/src/ua-parser.js @@ -642,6 +642,9 @@ /android.+[;\/]\s*(RCT[\d\w]+)\s+build/i // RCA Tablets ], [MODEL, [VENDOR, 'RCA'], [TYPE, TABLET]], [ + /android.+[;\/]\s*(Q[T|M][\d\w]+)\s+build/i // Verizon Tablet + ], [MODEL, [VENDOR, 'Verizon'], [TYPE, TABLET]], [ + /\s(tablet)[;\/]/i, // Unidentifiable Tablet /\s(mobile)(?:[;\/]|\ssafari)/i // Unidentifiable Mobile ], [[TYPE, util.lowerize], VENDOR, MODEL] diff --git a/test/device-test.json b/test/device-test.json index 0ca0ff7..72e34bd 100644 --- a/test/device-test.json +++ b/test/device-test.json @@ -567,4 +567,37 @@ "type" : "tablet" } } +, + { + "desc" : "Verizon Quanta Tablet", + "ua" : "Mozilla/5.0 (Linux; Android 4.4.2; QMV7B Build/KOT49H) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 Safari/537.36", + "expect" : + { + "vendor" : "Verizon", + "model" : "QMV7B", + "type" : "tablet" + } + } +, + { + "desc" : "Verizon Ellipsis 8 Tablet", + "ua" : "Mozilla/5.0 (Linux; Android 5.1.1; QTAQZ3 Build/LMY47V) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 Safari/537.36", + "expect" : + { + "vendor" : "Verizon", + "model" : "QTAQZ3", + "type" : "tablet" + } + } +, + { + "desc" : "Verizon Ellipsis 8HD Tablet", + "ua" : "Mozilla/5.0 (Linux; Android 6.0.1; QTASUN1 Build/MMB29M) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.81 Safari/537.36", + "expect" : + { + "vendor" : "Verizon", + "model" : "QTASUN1", + "type" : "tablet" + } + } ] From a25426840c0db078783e8d121d9add626cbc0fd2 Mon Sep 17 00:00:00 2001 From: Nikhil Motiani Date: Thu, 16 Mar 2017 15:01:49 +0530 Subject: [PATCH 05/25] Added Dell Venue Tablet detection --- src/ua-parser.js | 4 ++++ test/device-test.json | 22 ++++++++++++++++++++++ 2 files changed, 26 insertions(+) diff --git a/src/ua-parser.js b/src/ua-parser.js index 2e83c19..60dae02 100644 --- a/src/ua-parser.js +++ b/src/ua-parser.js @@ -642,9 +642,13 @@ /android.+[;\/]\s*(RCT[\d\w]+)\s+build/i // RCA Tablets ], [MODEL, [VENDOR, 'RCA'], [TYPE, TABLET]], [ + /android.+[;\/]\s*(Venue[\d\s]*)\s+build/i // Dell Venue Tablets + ], [MODEL, [VENDOR, 'Dell'], [TYPE, TABLET]], [ + /android.+[;\/]\s*(Q[T|M][\d\w]+)\s+build/i // Verizon Tablet ], [MODEL, [VENDOR, 'Verizon'], [TYPE, TABLET]], [ + /\s(tablet)[;\/]/i, // Unidentifiable Tablet /\s(mobile)(?:[;\/]|\ssafari)/i // Unidentifiable Mobile ], [[TYPE, util.lowerize], VENDOR, MODEL] diff --git a/test/device-test.json b/test/device-test.json index 72e34bd..e3e86ae 100644 --- a/test/device-test.json +++ b/test/device-test.json @@ -600,4 +600,26 @@ "type" : "tablet" } } +, + { + "desc" : "Dell Venue 8 Tablet", + "ua" : "Mozilla/5.0 (Linux; Android 4.4.2; Venue 8 3830 Build/KOT49H) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 Safari/537.36", + "expect" : + { + "vendor" : "Dell", + "model" : "Venue 8 3830", + "type" : "tablet" + } + } +, + { + "desc" : "Dell Venue 7 Tablet", + "ua" : "Mozilla/5.0 (Linux; Android 4.4.2; Venue 7 3730 Build/KOT49H) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 Safari/537.36", + "expect" : + { + "vendor" : "Dell", + "model" : "Venue 7 3730", + "type" : "tablet" + } + } ] From f3882f1882ff6244d255a43dcfdc1dddf481b724 Mon Sep 17 00:00:00 2001 From: Nikhil Motiani Date: Thu, 16 Mar 2017 15:03:04 +0530 Subject: [PATCH 06/25] Added Barnes & Noble Tablet detection --- src/ua-parser.js | 3 +++ test/device-test.json | 22 ++++++++++++++++++++++ 2 files changed, 25 insertions(+) diff --git a/src/ua-parser.js b/src/ua-parser.js index 60dae02..3c22590 100644 --- a/src/ua-parser.js +++ b/src/ua-parser.js @@ -648,6 +648,9 @@ /android.+[;\/]\s*(Q[T|M][\d\w]+)\s+build/i // Verizon Tablet ], [MODEL, [VENDOR, 'Verizon'], [TYPE, TABLET]], [ + /android.+[;\/]\s+(Barnes[&\s]+Noble\s+|BN[RT])(V?.*)\s+build/i // Barnes & Noble Tablet + ], [[VENDOR, 'Barnes & Noble'], MODEL, [TYPE, TABLET]], [ + /\s(tablet)[;\/]/i, // Unidentifiable Tablet /\s(mobile)(?:[;\/]|\ssafari)/i // Unidentifiable Mobile diff --git a/test/device-test.json b/test/device-test.json index e3e86ae..d398a60 100644 --- a/test/device-test.json +++ b/test/device-test.json @@ -622,4 +622,26 @@ "type" : "tablet" } } +, + { + "desc" : "Barnes & Noble Nook HD+ Tablet", + "ua" : "Mozilla/5.0 (Linux; U; Android 4.1.2; en-us; Barnes & Noble Nook HD+ Build/JZO54K; CyanogenMod-10) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Mobile Safari/534.30", + "expect" : + { + "vendor" : "Barnes & Noble", + "model" : "Nook HD+", + "type" : "tablet" + } + } +, + { + "desc" : "Barnes & Noble V400 Tablet", + "ua" : "Mozilla/5.0 (Linux; Android 4.0.4; BNTV400 Build/IMM76L) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.111 Safari/537.36", + "expect" : + { + "vendor" : "Barnes & Noble", + "model" : "V400", + "type" : "tablet" + } + } ] From b89fa098aa7adbcfc9158b90123a884525ff3748 Mon Sep 17 00:00:00 2001 From: Nikhil Motiani Date: Thu, 16 Mar 2017 15:04:02 +0530 Subject: [PATCH 07/25] Added NuVision Tablet detection --- src/ua-parser.js | 2 ++ test/device-test.json | 11 +++++++++++ 2 files changed, 13 insertions(+) diff --git a/src/ua-parser.js b/src/ua-parser.js index 3c22590..af0478f 100644 --- a/src/ua-parser.js +++ b/src/ua-parser.js @@ -651,6 +651,8 @@ /android.+[;\/]\s+(Barnes[&\s]+Noble\s+|BN[RT])(V?.*)\s+build/i // Barnes & Noble Tablet ], [[VENDOR, 'Barnes & Noble'], MODEL, [TYPE, TABLET]], [ + /android.+[;\/]\s+(TM\d{3}.*\b)\s+build/i // Barnes & Noble Tablet + ], [MODEL, [VENDOR, 'NuVision'], [TYPE, TABLET]], [ /\s(tablet)[;\/]/i, // Unidentifiable Tablet /\s(mobile)(?:[;\/]|\ssafari)/i // Unidentifiable Mobile diff --git a/test/device-test.json b/test/device-test.json index d398a60..69a56af 100644 --- a/test/device-test.json +++ b/test/device-test.json @@ -644,4 +644,15 @@ "type" : "tablet" } } +, + { + "desc" : "NuVision TM101A540N Tablet", + "ua" : "Mozilla/5.0 (Linux; Android 5.1; TM101A540N Build/LMY47I; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/50.0.2661.86 Safari/537.36", + "expect" : + { + "vendor" : "NuVision", + "model" : "TM101A540N", + "type" : "tablet" + } + } ] From 8e9c400ec5a996f8890ae6f68d2803c0705bcf76 Mon Sep 17 00:00:00 2001 From: Nikhil Motiani Date: Thu, 16 Mar 2017 15:07:22 +0530 Subject: [PATCH 08/25] Added ZTE K-Series Tablet detection --- src/ua-parser.js | 3 +++ test/device-test.json | 11 +++++++++++ 2 files changed, 14 insertions(+) diff --git a/src/ua-parser.js b/src/ua-parser.js index af0478f..87da356 100644 --- a/src/ua-parser.js +++ b/src/ua-parser.js @@ -654,6 +654,9 @@ /android.+[;\/]\s+(TM\d{3}.*\b)\s+build/i // Barnes & Noble Tablet ], [MODEL, [VENDOR, 'NuVision'], [TYPE, TABLET]], [ + /android.+[;\/]\s*(zte)?.+(k\d{2})\s+build/i // ZTE K Series Tablet + ], [[VENDOR, 'ZTE'], MODEL, [TYPE, TABLET]], [ + /\s(tablet)[;\/]/i, // Unidentifiable Tablet /\s(mobile)(?:[;\/]|\ssafari)/i // Unidentifiable Mobile ], [[TYPE, util.lowerize], VENDOR, MODEL] diff --git a/test/device-test.json b/test/device-test.json index 69a56af..814e22a 100644 --- a/test/device-test.json +++ b/test/device-test.json @@ -655,4 +655,15 @@ "type" : "tablet" } } +, + { + "desc" : "ZTE K Series Tablet", + "ua" : "Mozilla/5.0 (Linux; Android 6.0.1; K88 Build/MMB29M) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 Safari/537.36", + "expect" : + { + "vendor" : "ZTE", + "model" : "K88", + "type" : "tablet" + } + } ] From fbe8a0e3a6c3309022abc45c077b38274cf001fb Mon Sep 17 00:00:00 2001 From: Nikhil Motiani Date: Thu, 16 Mar 2017 15:09:01 +0530 Subject: [PATCH 09/25] Added Generic Android detection --- src/ua-parser.js | 8 ++++++-- test/device-test.json | 11 +++++++++++ 2 files changed, 17 insertions(+), 2 deletions(-) diff --git a/src/ua-parser.js b/src/ua-parser.js index 87da356..637f4ed 100644 --- a/src/ua-parser.js +++ b/src/ua-parser.js @@ -659,9 +659,13 @@ /\s(tablet)[;\/]/i, // Unidentifiable Tablet /\s(mobile)(?:[;\/]|\ssafari)/i // Unidentifiable Mobile - ], [[TYPE, util.lowerize], VENDOR, MODEL] + ], [[TYPE, util.lowerize], VENDOR, MODEL], [ - /*////////////////////////// + /(android.+)[;\/].+build/i // Generic Android Device + ], [MODEL, [VENDOR, 'Generic']] + + + /*////////////////////////// // TODO: move to string map //////////////////////////// diff --git a/test/device-test.json b/test/device-test.json index 814e22a..9e710e2 100644 --- a/test/device-test.json +++ b/test/device-test.json @@ -524,6 +524,17 @@ } } , + + { + "desc" : "Generic Android Device", + "ua" : "Mozilla/5.0 (Linux; U; Android 6.0.1; i980 Build/MRA58K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 Safari/537.36", + "expect" : + { + "vendor" : "Generic", + "model" : "Android 6.0.1" + } + } +, { "desc" : "LG VK Series Tablet", "ua" : "Mozilla/5.0 (Linux; Android 5.0.2; VK700 Build/LRX22G) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.84 Safari/537.36", From 4e2cbdfd16211c1151fa2857395828e0eec7fb68 Mon Sep 17 00:00:00 2001 From: Nikhil Motiani Date: Thu, 16 Mar 2017 15:17:53 +0530 Subject: [PATCH 10/25] Added Swiss Mobiles and Tablets detection --- src/ua-parser.js | 6 ++++++ test/device-test.json | 22 ++++++++++++++++++++++ 2 files changed, 28 insertions(+) diff --git a/src/ua-parser.js b/src/ua-parser.js index 637f4ed..9673426 100644 --- a/src/ua-parser.js +++ b/src/ua-parser.js @@ -657,6 +657,12 @@ /android.+[;\/]\s*(zte)?.+(k\d{2})\s+build/i // ZTE K Series Tablet ], [[VENDOR, 'ZTE'], MODEL, [TYPE, TABLET]], [ + /android.+[;\/]\s*(gen\d{3})\s+build.*49h/i // Swiss GEN Mobile + ], [MODEL, [VENDOR, 'Swiss'], [TYPE, MOBILE]], [ + + /android.+[;\/]\s*(zur\d{3})\s+build/i // Swiss ZUR Tablet + ], [MODEL, [VENDOR, 'Swiss'], [TYPE, TABLET]], [ + /\s(tablet)[;\/]/i, // Unidentifiable Tablet /\s(mobile)(?:[;\/]|\ssafari)/i // Unidentifiable Mobile ], [[TYPE, util.lowerize], VENDOR, MODEL], [ diff --git a/test/device-test.json b/test/device-test.json index 9e710e2..3cf8d8d 100644 --- a/test/device-test.json +++ b/test/device-test.json @@ -677,4 +677,26 @@ "type" : "tablet" } } +, + { + "desc" : "Swizz GEN610", + "ua" : "Mozilla/5.0 (Linux; Android 4.4.2; GEN610 Build/KOT49H) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2526.83 Mobile Safari/537.36", + "expect" : + { + "vendor" : "Swiss", + "model" : "GEN610", + "type" : "mobile" + } + } +, + { + "desc" : "Swizz ZUR700", + "ua" : "Mozilla/5.0 (Linux; Android 4.4.2; ZUR700 Build/KVT49L) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2272.96 Safari/537.36", + "expect" : + { + "vendor" : "Swiss", + "model" : "ZUR700", + "type" : "tablet" + } + } ] From 38c409e8d955b7f5fc4f50b12cf5a88662d05e84 Mon Sep 17 00:00:00 2001 From: Nikhil Motiani Date: Thu, 16 Mar 2017 15:24:26 +0530 Subject: [PATCH 11/25] Added Zeki Tablets detection --- src/ua-parser.js | 3 +++ test/device-test.json | 11 +++++++++++ 2 files changed, 14 insertions(+) diff --git a/src/ua-parser.js b/src/ua-parser.js index 9673426..bb28016 100644 --- a/src/ua-parser.js +++ b/src/ua-parser.js @@ -663,6 +663,9 @@ /android.+[;\/]\s*(zur\d{3})\s+build/i // Swiss ZUR Tablet ], [MODEL, [VENDOR, 'Swiss'], [TYPE, TABLET]], [ + /android.+[;\/]\s*((Zeki)?TB.*\b)\s+build/i // Zeki Tablets + ], [MODEL, [VENDOR, 'Zeki'], [TYPE, TABLET]], [ + /\s(tablet)[;\/]/i, // Unidentifiable Tablet /\s(mobile)(?:[;\/]|\ssafari)/i // Unidentifiable Mobile ], [[TYPE, util.lowerize], VENDOR, MODEL], [ diff --git a/test/device-test.json b/test/device-test.json index 3cf8d8d..98e83dc 100644 --- a/test/device-test.json +++ b/test/device-test.json @@ -699,4 +699,15 @@ "type" : "tablet" } } +, + { + "desc" : "Zeki TB782b Tablet", + "ua" : "Mozilla/5.0 (Linux; U; Android 4.0.4; en-US; TB782B Build/IMM76D) AppleWebKit/534.31 (KHTML, like Gecko) UCBrowser/9.0.2.299 U3/0.8.0 Mobile Safari/534.31", + "expect" : + { + "vendor" : "Zeki", + "model" : "TB782B", + "type" : "tablet" + } + } ] From 48ab3b372c9c09ca1f9a201db401ece5cd96cb81 Mon Sep 17 00:00:00 2001 From: Nikhil Motiani Date: Thu, 16 Mar 2017 15:37:48 +0530 Subject: [PATCH 12/25] Added Dragon-Touch Tablets detection --- src/ua-parser.js | 4 ++++ test/device-test.json | 11 +++++++++++ 2 files changed, 15 insertions(+) diff --git a/src/ua-parser.js b/src/ua-parser.js index bb28016..789fefd 100644 --- a/src/ua-parser.js +++ b/src/ua-parser.js @@ -666,6 +666,10 @@ /android.+[;\/]\s*((Zeki)?TB.*\b)\s+build/i // Zeki Tablets ], [MODEL, [VENDOR, 'Zeki'], [TYPE, TABLET]], [ + /(android).+[;\/]\s+([YR]\d{2}x?.*)\s+build/i, + /android.+[;\/]\s+(Dragon[\-\s]+Touch\s+|DT)(.+)\s+build/i // Dragon Touch Tablet + ], [[VENDOR, 'Dragon Touch'], MODEL, [TYPE, TABLET]], [ + /\s(tablet)[;\/]/i, // Unidentifiable Tablet /\s(mobile)(?:[;\/]|\ssafari)/i // Unidentifiable Mobile ], [[TYPE, util.lowerize], VENDOR, MODEL], [ diff --git a/test/device-test.json b/test/device-test.json index 98e83dc..e00141d 100644 --- a/test/device-test.json +++ b/test/device-test.json @@ -710,4 +710,15 @@ "type" : "tablet" } } +, + { + "desc" : "Dragon Touch Tablet", + "ua" : "Mozilla/5.0 (Linux; Android 4.0.4; DT9138B Build/IMM76D) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/29.0.1547.72 Mobile Safari/537.36", + "expect" : + { + "vendor" : "Dragon Touch", + "model" : "9138B", + "type" : "tablet" + } + } ] From 6fb4941458cef601d8a25fa072490f5090f186b7 Mon Sep 17 00:00:00 2001 From: Nikhil Motiani Date: Thu, 16 Mar 2017 15:48:22 +0530 Subject: [PATCH 13/25] Added Insignia Tablets detection --- src/ua-parser.js | 3 +++ test/device-test.json | 19 +++++++++++++++---- 2 files changed, 18 insertions(+), 4 deletions(-) diff --git a/src/ua-parser.js b/src/ua-parser.js index 789fefd..fcdc91f 100644 --- a/src/ua-parser.js +++ b/src/ua-parser.js @@ -670,6 +670,9 @@ /android.+[;\/]\s+(Dragon[\-\s]+Touch\s+|DT)(.+)\s+build/i // Dragon Touch Tablet ], [[VENDOR, 'Dragon Touch'], MODEL, [TYPE, TABLET]], [ + /android.+[;\/]\s*(NS-?.+)\s+build/i // Insignia Tablets + ], [MODEL, [VENDOR, 'Insignia'], [TYPE, TABLET]], [ + /\s(tablet)[;\/]/i, // Unidentifiable Tablet /\s(mobile)(?:[;\/]|\ssafari)/i // Unidentifiable Mobile ], [[TYPE, util.lowerize], VENDOR, MODEL], [ diff --git a/test/device-test.json b/test/device-test.json index e00141d..bc0414f 100644 --- a/test/device-test.json +++ b/test/device-test.json @@ -712,12 +712,23 @@ } , { - "desc" : "Dragon Touch Tablet", - "ua" : "Mozilla/5.0 (Linux; Android 4.0.4; DT9138B Build/IMM76D) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/29.0.1547.72 Mobile Safari/537.36", + "desc" : "Dragon Touch Tablet", + "ua" : "Mozilla/5.0 (Linux; Android 4.0.4; DT9138B Build/IMM76D) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/29.0.1547.72 Mobile Safari/537.36", + "expect" : + { + "vendor" : "Dragon Touch", + "model" : "9138B", + "type" : "tablet" + } + } +, + { + "desc" : "Insignia Tablet", + "ua" : "Mozilla/5.0 (Linux; U; Android 6.0.1; NS-P08A7100 Build/MMB29M; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/56.0.2924.87 Safari/537.36", "expect" : { - "vendor" : "Dragon Touch", - "model" : "9138B", + "vendor" : "Insignia", + "model" : "NS-P08A7100", "type" : "tablet" } } From 83ca52bb28b0418c67476a53eafa3a840489f3b9 Mon Sep 17 00:00:00 2001 From: Nikhil Motiani Date: Thu, 16 Mar 2017 19:43:50 +0530 Subject: [PATCH 14/25] Added Voice Xtreme Phones detection --- src/ua-parser.js | 3 +++ test/device-test.json | 11 +++++++++++ 2 files changed, 14 insertions(+) diff --git a/src/ua-parser.js b/src/ua-parser.js index fcdc91f..97f53a7 100644 --- a/src/ua-parser.js +++ b/src/ua-parser.js @@ -673,6 +673,9 @@ /android.+[;\/]\s*(NS-?.+)\s+build/i // Insignia Tablets ], [MODEL, [VENDOR, 'Insignia'], [TYPE, TABLET]], [ + /android.+[;\/]\s*(Xtreme\_?)?(V(1[045]|2[015]|30|40|60|7[05]|90))\s+build/i + ], [[VENDOR, 'Voice'], MODEL, [TYPE, MOBILE]], [ // Voice Xtreme Phones + /\s(tablet)[;\/]/i, // Unidentifiable Tablet /\s(mobile)(?:[;\/]|\ssafari)/i // Unidentifiable Mobile ], [[TYPE, util.lowerize], VENDOR, MODEL], [ diff --git a/test/device-test.json b/test/device-test.json index bc0414f..bacaa1b 100644 --- a/test/device-test.json +++ b/test/device-test.json @@ -732,4 +732,15 @@ "type" : "tablet" } } +, + { + "desc" : "Voice Xtreme V75", + "ua" : "Mozilla/5.0 (Linux; U; Android 4.2.1; en-us; V75 Build/JOP40D) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Mobile Safari/534.30", + "expect" : + { + "vendor" : "Voice", + "model" : "V75", + "type" : "mobile" + } + } ] From 951106c4251400e232fb3b10e66e64c09cae77c7 Mon Sep 17 00:00:00 2001 From: Nikhil Motiani Date: Thu, 16 Mar 2017 19:44:21 +0530 Subject: [PATCH 15/25] Added LvTel Phones detection --- src/ua-parser.js | 3 +++ test/device-test.json | 11 +++++++++++ 2 files changed, 14 insertions(+) diff --git a/src/ua-parser.js b/src/ua-parser.js index 97f53a7..ec82339 100644 --- a/src/ua-parser.js +++ b/src/ua-parser.js @@ -676,6 +676,9 @@ /android.+[;\/]\s*(Xtreme\_?)?(V(1[045]|2[015]|30|40|60|7[05]|90))\s+build/i ], [[VENDOR, 'Voice'], MODEL, [TYPE, MOBILE]], [ // Voice Xtreme Phones + /android.+[;\/]\s*(LVTEL\-?)?(V1[12])\s+build/i // LvTel Phones + ], [[VENDOR, 'LvTel'], MODEL, [TYPE, MOBILE]], [ + /\s(tablet)[;\/]/i, // Unidentifiable Tablet /\s(mobile)(?:[;\/]|\ssafari)/i // Unidentifiable Mobile ], [[TYPE, util.lowerize], VENDOR, MODEL], [ diff --git a/test/device-test.json b/test/device-test.json index bacaa1b..3fabe4f 100644 --- a/test/device-test.json +++ b/test/device-test.json @@ -743,4 +743,15 @@ "type" : "mobile" } } +, + { + "desc" : "LvTel V11", + "ua" : "Mozilla/5.0 (Linux; Android 5.1.1; V11 Build/LMY47V) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/39.0.0.0 Safari/537.36", + "expect" : + { + "vendor" : "LvTel", + "model" : "V11", + "type" : "mobile" + } + } ] From 8d826fcc24e8a7bdf0b356465d9d2b39c0eccaa8 Mon Sep 17 00:00:00 2001 From: Nikhil Motiani Date: Thu, 16 Mar 2017 19:50:44 +0530 Subject: [PATCH 16/25] Added Envizen Tablets detection --- src/ua-parser.js | 3 +++ test/device-test.json | 11 +++++++++++ 2 files changed, 14 insertions(+) diff --git a/src/ua-parser.js b/src/ua-parser.js index ec82339..d33fdd4 100644 --- a/src/ua-parser.js +++ b/src/ua-parser.js @@ -679,6 +679,9 @@ /android.+[;\/]\s*(LVTEL\-?)?(V1[12])\s+build/i // LvTel Phones ], [[VENDOR, 'LvTel'], MODEL, [TYPE, MOBILE]], [ + /android.+[;\/]\s*(V(100MD|700NA|7011|917G).*\b)\s+build/i // Envizen Tablets + ], [MODEL, [VENDOR, 'Envizen'], [TYPE, TABLET]], [ + /\s(tablet)[;\/]/i, // Unidentifiable Tablet /\s(mobile)(?:[;\/]|\ssafari)/i // Unidentifiable Mobile ], [[TYPE, util.lowerize], VENDOR, MODEL], [ diff --git a/test/device-test.json b/test/device-test.json index 3fabe4f..13763b9 100644 --- a/test/device-test.json +++ b/test/device-test.json @@ -754,4 +754,15 @@ "type" : "mobile" } } +, + { + "desc" : "Envizen Tablet V100MD", + "ua" : "Mozilla/5.0 (Linux; U; Android 4.1.1; en-us; V100MD Build/V100MD.20130816) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Safari/534.30", + "expect" : + { + "vendor" : "Envizen", + "model" : "V100MD", + "type" : "tablet" + } + } ] From f7ca724f3bd31465334de5f3a25a32c70d0ae43b Mon Sep 17 00:00:00 2001 From: Nikhil Motiani Date: Thu, 16 Mar 2017 19:55:08 +0530 Subject: [PATCH 17/25] Added Rotor Tablets detection --- src/ua-parser.js | 3 +++ test/device-test.json | 11 +++++++++++ 2 files changed, 14 insertions(+) diff --git a/src/ua-parser.js b/src/ua-parser.js index d33fdd4..56bfce4 100644 --- a/src/ua-parser.js +++ b/src/ua-parser.js @@ -682,6 +682,9 @@ /android.+[;\/]\s*(V(100MD|700NA|7011|917G).*\b)\s+build/i // Envizen Tablets ], [MODEL, [VENDOR, 'Envizen'], [TYPE, TABLET]], [ + /android.+[;\/]\s*TU_(1491)\s+build/i // Rotor Tablets + ], [MODEL, [VENDOR, 'Rotor'], [TYPE, TABLET]], [ + /\s(tablet)[;\/]/i, // Unidentifiable Tablet /\s(mobile)(?:[;\/]|\ssafari)/i // Unidentifiable Mobile ], [[TYPE, util.lowerize], VENDOR, MODEL], [ diff --git a/test/device-test.json b/test/device-test.json index 13763b9..530cfb0 100644 --- a/test/device-test.json +++ b/test/device-test.json @@ -765,4 +765,15 @@ "type" : "tablet" } } +, + { + "desc" : "Rotor Tablet", + "ua" : "mozilla/5.0 (linux; android 5.0.1; tu_1491 build/lrx22c) applewebkit/537.36 (khtml, like gecko) chrome/43.0.2357.93 safari/537.36", + "expect" : + { + "vendor" : "Rotor", + "model" : "1491", + "type" : "tablet" + } + } ] From 72a11e24b2f2d9eee47a80c55c043c5fc07ddf00 Mon Sep 17 00:00:00 2001 From: Nikhil Motiani Date: Thu, 16 Mar 2017 20:00:42 +0530 Subject: [PATCH 18/25] Added MachSpeed Tablets detection --- src/ua-parser.js | 3 +++ test/device-test.json | 11 +++++++++++ 2 files changed, 14 insertions(+) diff --git a/src/ua-parser.js b/src/ua-parser.js index 56bfce4..5c05549 100644 --- a/src/ua-parser.js +++ b/src/ua-parser.js @@ -682,6 +682,9 @@ /android.+[;\/]\s*(V(100MD|700NA|7011|917G).*\b)\s+build/i // Envizen Tablets ], [MODEL, [VENDOR, 'Envizen'], [TYPE, TABLET]], [ + /android.+[;\/]\s*(Trio[\s\-]*.*)\s+build/i // MachSpeed Tablets + ], [MODEL, [VENDOR, 'MachSpeed'], [TYPE, TABLET]], [ + /android.+[;\/]\s*TU_(1491)\s+build/i // Rotor Tablets ], [MODEL, [VENDOR, 'Rotor'], [TYPE, TABLET]], [ diff --git a/test/device-test.json b/test/device-test.json index 530cfb0..f340e1a 100644 --- a/test/device-test.json +++ b/test/device-test.json @@ -776,4 +776,15 @@ "type" : "tablet" } } +, + { + "desc" : "MachSpeed Tablets", + "ua" : "Mozilla/5.0 (Linux; Android 4.4.2; Trio 7.85 vQ Build/Trio_7.85_vQ) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/30.0.0.0 Safari/537.36", + "expect" : + { + "vendor" : "MachSpeed", + "model" : "Trio 7.85 vQ", + "type" : "tablet" + } + } ] From a6316f02b07cf2ffabf59766a24e1f65519ac1fa Mon Sep 17 00:00:00 2001 From: Nikhil Motiani Date: Thu, 16 Mar 2017 20:06:33 +0530 Subject: [PATCH 19/25] Added Trinity Tablets detection --- src/ua-parser.js | 3 +++ test/device-test.json | 11 +++++++++++ 2 files changed, 14 insertions(+) diff --git a/src/ua-parser.js b/src/ua-parser.js index 5c05549..68cbe32 100644 --- a/src/ua-parser.js +++ b/src/ua-parser.js @@ -685,6 +685,9 @@ /android.+[;\/]\s*(Trio[\s\-]*.*)\s+build/i // MachSpeed Tablets ], [MODEL, [VENDOR, 'MachSpeed'], [TYPE, TABLET]], [ + /android.+[;\/]\s*(Trinity)[\-\s]*(T\d{3})\s+build/i // Trinity Tablets + ], [VENDOR, MODEL, [TYPE, TABLET]], [ + /android.+[;\/]\s*TU_(1491)\s+build/i // Rotor Tablets ], [MODEL, [VENDOR, 'Rotor'], [TYPE, TABLET]], [ diff --git a/test/device-test.json b/test/device-test.json index f340e1a..fce4d66 100644 --- a/test/device-test.json +++ b/test/device-test.json @@ -787,4 +787,15 @@ "type" : "tablet" } } +, + { + "desc" : "Trinity Tablets", + "ua" : "Mozilla/5.0 (Linux; Android 5.0.1; Trinity T101 Build/LRX22C) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2526.83 Safari/537.36", + "expect" : + { + "vendor" : "Trinity", + "model" : "T101", + "type" : "tablet" + } + } ] From 7d826ed62ef038f6a00cab85d9ed78a5a93d0edc Mon Sep 17 00:00:00 2001 From: Nikhil Motiani Date: Thu, 16 Mar 2017 20:09:22 +0530 Subject: [PATCH 20/25] Improved Unidentified Tablet detection --- src/ua-parser.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/ua-parser.js b/src/ua-parser.js index 68cbe32..84a7b3d 100644 --- a/src/ua-parser.js +++ b/src/ua-parser.js @@ -691,7 +691,7 @@ /android.+[;\/]\s*TU_(1491)\s+build/i // Rotor Tablets ], [MODEL, [VENDOR, 'Rotor'], [TYPE, TABLET]], [ - /\s(tablet)[;\/]/i, // Unidentifiable Tablet + /\s(tablet|tab)[;\/]/i, // Unidentifiable Tablet /\s(mobile)(?:[;\/]|\ssafari)/i // Unidentifiable Mobile ], [[TYPE, util.lowerize], VENDOR, MODEL], [ From 89775a8ae70320f0a8be345891403a6535c27fb3 Mon Sep 17 00:00:00 2001 From: Nikhil Motiani Date: Thu, 16 Mar 2017 20:19:14 +0530 Subject: [PATCH 21/25] Added NextBook Tablet detection --- src/ua-parser.js | 3 +++ test/device-test.json | 22 ++++++++++++++++++++++ 2 files changed, 25 insertions(+) diff --git a/src/ua-parser.js b/src/ua-parser.js index 84a7b3d..8368766 100644 --- a/src/ua-parser.js +++ b/src/ua-parser.js @@ -673,6 +673,9 @@ /android.+[;\/]\s*(NS-?.+)\s+build/i // Insignia Tablets ], [MODEL, [VENDOR, 'Insignia'], [TYPE, TABLET]], [ + /android.+[;\/]\s*((NX|Next)-?.+)\s+build/i // NextBook Tablets + ], [MODEL, [VENDOR, 'NextBook'], [TYPE, TABLET]], [ + /android.+[;\/]\s*(Xtreme\_?)?(V(1[045]|2[015]|30|40|60|7[05]|90))\s+build/i ], [[VENDOR, 'Voice'], MODEL, [TYPE, MOBILE]], [ // Voice Xtreme Phones diff --git a/test/device-test.json b/test/device-test.json index fce4d66..4f1ca28 100644 --- a/test/device-test.json +++ b/test/device-test.json @@ -798,4 +798,26 @@ "type" : "tablet" } } +, + { + "desc" : "NextBook Next7", + "ua" : "Mozilla/5.0 (Linux; U; Android 4.0.4; en-us; Next7P12 Build/IMM76I) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Safari/534.30", + "expect" : + { + "vendor" : "NextBook", + "model" : "Next7P12", + "type" : "tablet" + } + } +, + { + "desc" : "NextBook Tablets", + "ua" : "Mozilla/5.0 (Linux; Android 5.0; NXA8QC116 Build/LRX21V) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 Safari/537.36", + "expect" : + { + "vendor" : "NextBook", + "model" : "NXA8QC116", + "type" : "tablet" + } + } ] From ee2db31f8ced432525ca005bb1d2749919dbad5a Mon Sep 17 00:00:00 2001 From: Nikhil Motiani Date: Thu, 16 Mar 2017 20:27:04 +0530 Subject: [PATCH 22/25] Added Le-Pan Tablet detection --- src/ua-parser.js | 3 +++ test/device-test.json | 11 +++++++++++ 2 files changed, 14 insertions(+) diff --git a/src/ua-parser.js b/src/ua-parser.js index 8368766..d17d9c1 100644 --- a/src/ua-parser.js +++ b/src/ua-parser.js @@ -685,6 +685,9 @@ /android.+[;\/]\s*(V(100MD|700NA|7011|917G).*\b)\s+build/i // Envizen Tablets ], [MODEL, [VENDOR, 'Envizen'], [TYPE, TABLET]], [ + /android.+[;\/]\s*(Le[\s\-]+Pan)[\s\-]+(.*\b)\s+build/i // Le Pan Tablets + ], [VENDOR, MODEL, [TYPE, TABLET]], [ + /android.+[;\/]\s*(Trio[\s\-]*.*)\s+build/i // MachSpeed Tablets ], [MODEL, [VENDOR, 'MachSpeed'], [TYPE, TABLET]], [ diff --git a/test/device-test.json b/test/device-test.json index 4f1ca28..33b7119 100644 --- a/test/device-test.json +++ b/test/device-test.json @@ -820,4 +820,15 @@ "type" : "tablet" } } +, + { + "desc" : "Le Pan Tablets", + "ua" : "Mozilla/5.0 (Linux; Android 4.2.2; Le Pan TC802A Build/JDQ39) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 Safari/537.36", + "expect" : + { + "vendor" : "Le Pan", + "model" : "TC802A", + "type" : "tablet" + } + } ] From a25bb8b1a6f1961b9a037411f1ed5c45996a47ff Mon Sep 17 00:00:00 2001 From: Nikhil Motiani Date: Thu, 16 Mar 2017 20:35:11 +0530 Subject: [PATCH 23/25] Added Amazon Kindle Fire Tablet detection --- src/ua-parser.js | 3 +++ test/device-test.json | 22 ++++++++++++++++++++++ 2 files changed, 25 insertions(+) diff --git a/src/ua-parser.js b/src/ua-parser.js index d17d9c1..6520d85 100644 --- a/src/ua-parser.js +++ b/src/ua-parser.js @@ -697,6 +697,9 @@ /android.+[;\/]\s*TU_(1491)\s+build/i // Rotor Tablets ], [MODEL, [VENDOR, 'Rotor'], [TYPE, TABLET]], [ + /android.+(KS(.+))\s+build/i // Amazon Kindle Tablets + ], [MODEL, [VENDOR, 'Amazon'], [TYPE, TABLET]], [ + /\s(tablet|tab)[;\/]/i, // Unidentifiable Tablet /\s(mobile)(?:[;\/]|\ssafari)/i // Unidentifiable Mobile ], [[TYPE, util.lowerize], VENDOR, MODEL], [ diff --git a/test/device-test.json b/test/device-test.json index 33b7119..d33383c 100644 --- a/test/device-test.json +++ b/test/device-test.json @@ -831,4 +831,26 @@ "type" : "tablet" } } +, + { + "desc" : "Le Pan Tablets", + "ua" : "Mozilla/5.0 (Linux; Android 4.2.2; Le Pan TC802A Build/JDQ39) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 Safari/537.36", + "expect" : + { + "vendor" : "Le Pan", + "model" : "TC802A", + "type" : "tablet" + } + } +, + { + "desc" : "Amazon Kindle Fire Tablet", + "ua" : "Mozilla/5.0 (Linux; U; Android 4.4.3; en-us; KFSAWI Build/KTU84M) AppleWebKit/537.36 (KHTML, like Gecko) Silk/3.66 like Chrome/39.0.2171.93 Safari/537.36", + "expect" : + { + "vendor" : "Amazon", + "model" : "KFSAWI", + "type" : "tablet" + } + } ] From 2610f37a8b46d1145f369a488e38ed304cc6c3f0 Mon Sep 17 00:00:00 2001 From: Nikhil Motiani Date: Thu, 16 Mar 2017 20:39:21 +0530 Subject: [PATCH 24/25] Added Gigaset Tablet detection --- src/ua-parser.js | 3 +++ test/device-test.json | 11 +++++++++++ 2 files changed, 14 insertions(+) diff --git a/src/ua-parser.js b/src/ua-parser.js index 6520d85..15a09da 100644 --- a/src/ua-parser.js +++ b/src/ua-parser.js @@ -700,6 +700,9 @@ /android.+(KS(.+))\s+build/i // Amazon Kindle Tablets ], [MODEL, [VENDOR, 'Amazon'], [TYPE, TABLET]], [ + /android.+(Gigaset)[\s\-]+(Q.+)\s+build/i // Gigaset Tablets + ], [VENDOR, MODEL, [TYPE, TABLET]], [ + /\s(tablet|tab)[;\/]/i, // Unidentifiable Tablet /\s(mobile)(?:[;\/]|\ssafari)/i // Unidentifiable Mobile ], [[TYPE, util.lowerize], VENDOR, MODEL], [ diff --git a/test/device-test.json b/test/device-test.json index d33383c..7ac1da9 100644 --- a/test/device-test.json +++ b/test/device-test.json @@ -853,4 +853,15 @@ "type" : "tablet" } } +, + { + "desc" : "Gigaset Tablet", + "ua" : "Mozilla/5.0 (Linux; Android 4.2.2; Gigaset QV830 Build/JDQ39) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 Safari/537.36", + "expect" : + { + "vendor" : "Gigaset", + "model" : "QV830", + "type" : "tablet" + } + } ] From 7f217753f56ebca5fb3bfc7fec5f813d2541589c Mon Sep 17 00:00:00 2001 From: dianhe Date: Wed, 5 Jul 2017 19:55:19 +0800 Subject: [PATCH 25/25] + browser inside QQ support --- src/ua-parser.js | 5 ++++- test/browser-test.json | 20 ++++++++++++++++++++ 2 files changed, 24 insertions(+), 1 deletion(-) diff --git a/src/ua-parser.js b/src/ua-parser.js index 567517c..350425d 100644 --- a/src/ua-parser.js +++ b/src/ua-parser.js @@ -83,7 +83,7 @@ rgx : function (ua, arrays) { - //var result = {}, + //var result = {}, var i = 0, j, k, p, q, matches, match;//, args = arguments; /*// construct object barebones @@ -273,6 +273,9 @@ /(micromessenger)\/([\w\.]+)/i // WeChat ], [[NAME, 'WeChat'], VERSION], [ + /(QQ)\/([\d\.]+)/i // QQ, aka ShouQ + ], [NAME, VERSION], [ + /m?(qqbrowser)[\/\s]?([\w\.]+)/i // QQBrowser ], [NAME, VERSION], [ diff --git a/test/browser-test.json b/test/browser-test.json index da8623d..f3b8c3e 100644 --- a/test/browser-test.json +++ b/test/browser-test.json @@ -858,5 +858,25 @@ "version" : "1.1", "major" : "1" } + }, + { + "desc" : "QQ on iOS", + "ua" : "Mozilla/5.0 (iPhone; CPU iPhone OS 10_0_2 like Mac OS X) AppleWebKit/602.1.50 (KHTML, like Gecko) Mobile/14A456 QQ/6.5.3.410 V1_IPH_SQ_6.5.3_1_APP_A Pixel/1080 Core/UIWebView NetType/WIFI Mem/26", + "expect" : + { + "name" : "QQ", + "version" : "6.5.3.410", + "major" : "6" + } + }, + { + "desc" : "QQ on Android", + "ua" : "Mozilla/5.0 (Linux; Android 6.0; PRO 6 Build/MRA58K) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/37.0.0.0 Mobile MQQBrowser/6.8 TBS/036824 Safari/537.36 V1_AND_SQ_6.5.8_422_YYB_D PA QQ/6.5.8.2910 NetType/WIFI WebP/0.3.0 Pixel/1080", + "expect" : + { + "name" : "QQ", + "version" : "6.5.8.2910", + "major" : "6" + } } ]