From 47a267ac16663b81c47f337ef51024ad66675dbe Mon Sep 17 00:00:00 2001 From: sanchezzzhak Date: Sun, 6 Dec 2020 23:20:16 +0000 Subject: [PATCH 01/12] update README.md --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index c378a8d265..1319d91fd7 100644 --- a/README.md +++ b/README.md @@ -203,7 +203,7 @@ There are already a few ports of this tool to other languages: The lists below are auto generated and updated from time to time. Some of them might not be complete. -*Last update: 2020/12/05* +*Last update: 2020/12/06* ### List of detected operating systems: @@ -211,7 +211,7 @@ AIX, Android, AmigaOS, Apple TV, Arch Linux, BackTrack, Bada, BeOS, BlackBerry O ### List of detected browsers: -115 Browser, 2345 Browser, 360 Phone Browser, 360 Browser, Avant Browser, ABrowse, ANT Fresco, ANTGalio, Aloha Browser, Aloha Browser Lite, Amaya, Amigo, Android Browser, AOL Desktop, AOL Shield, Arora, Arctic Fox, Amiga Voyager, Amiga Aweb, Atom, Atomic Web Browser, Avast Secure Browser, AVG Secure Browser, Beaker Browser, Beamrise, BlackBerry Browser, Baidu Browser, Baidu Spark, Basilisk, Beonex, BlackHawk, Bunjalloo, B-Line, Blue Browser, Borealis Navigator, Brave, BriskBard, BrowseX, Browzar, Camino, CCleaner, Centaury, Coc Coc, Colibri, Comodo Dragon, Coast, Charon, CM Browser, Chrome Frame, Headless Chrome, Chrome, Chrome Mobile iOS, Conkeror, Chrome Mobile, CoolNovo, CometBird, COS Browser, ChromePlus, Chromium, Cyberfox, Cheshire, Crusta, Crazy Browser, Cunaguaro, Chrome Webview, dbrowser, Deepnet Explorer, Delta Browser, Dolphin, Dorado, Dooble, Dillo, DuckDuckGo Privacy Browser, Ecosia, Epic, Elinks, Element Browser, Elements Browser, eZ Browser, EUI Browser, GNOME Web, Espial TV Browser, Falkon, Faux Browser, Firefox Mobile iOS, Firebird, Fluid, Fennec, Firefox, Firefox Focus, Firefox Reality, Firefox Rocket, Flock, Firefox Mobile, Fireweb, Fireweb Navigator, FreeU, Galeon, Ghostery Privacy Browser, Glass Browser, Google Earth, GOG Galaxy, Hawk Turbo Browser, hola! Browser, HotJava, Huawei Browser, IBrowse, iCab, iCab Mobile, Iridium, Iron Mobile, IceCat, IceDragon, Isivioo, Iceweasel, Internet Explorer, IE Mobile, Iron, Japan Browser, Jasmine, Jig Browser, Jig Browser Plus, Jio Browser, K.Browser, Kindle Browser, K-meleon, Konqueror, Kapiko, Kinza, Kiwi, Kylo, Kazehakase, Cheetah Browser, LieBaoFast, LG Browser, Light, Links, Lovense Browser, LuaKit, Lulumi, Lunascape, Lunascape Lite, Lynx, mCent, MicroB, NCSA Mosaic, Meizu Browser, Mercury, Mobile Safari, Midori, Mobicip, MIUI Browser, Mobile Silk, Minimo, Mint Browser, Maxthon, MxNitro, Mypal, Monument Browser, MAUI WAP Browser, NFS Browser, Nokia Browser, Nokia OSS Browser, Nokia Ovi Browser, Nox Browser, NetSurf, NetFront, NetFront Life, NetPositive, Netscape, NTENT Browser, Oculus Browser, Opera Mini iOS, Obigo, Odyssey Web Browser, Off By One, OhHai Browser, ONE Browser, Opera GX, Opera Neon, Opera Devices, Opera Mini, Opera Mobile, Opera, Opera Next, Opera Touch, Ordissimo, Oregano, Origin In-Game Overlay, Origyn Web Browser, Openwave Mobile Browser, OmniWeb, Otter Browser, Palm Blazer, Pale Moon, Polypane, Oppo Browser, Palm Pre, Puffin, Palm WebPro, Palmscape, Phoenix, Phoenix Browser, Polaris, Polarity, PrivacyWall, Microsoft Edge, QQ Browser Mini, QQ Browser, Qutebrowser, Quark, QupZilla, Qwant Mobile, QtWebEngine, Realme Browser, Rekonq, RockMelt, Samsung Browser, Sailfish Browser, SEMC-Browser, Sogou Explorer, Safari, Safe Exam Browser, SalamWeb, Shiira, SimpleBrowser, Sizzy, Skyfire, Seraphic Sraf, Sleipnir, Slimjet, 7Star, Smart Lenovo Browser, Snowshoe, Sogou Mobile Browser, Splash, Sputnik Browser, Sunrise, SuperBird, Super Fast Browser, surf, Stargon, START Internet Browser, Steam In-Game Overlay, Streamy, Swiftfox, Seznam Browser, t-online.de Browser, Tao Browser, TenFourFox, Tenta Browser, Tizen Browser, Tungsten, ToGate, TweakStyle, TV Bro, UBrowser, UC Browser, UC Browser Mini, UC Browser Turbo, Uzbl, Vivaldi, vivo Browser, Vision Mobile Browser, VMware AirWatch, Wear Internet Browser, Web Explorer, WebPositive, Waterfox, Whale Browser, wOSBrowser, WeTab Browser, Yahoo! Japan Browser, Yandex Browser, Yandex Browser Lite, Yaani Browser, Yolo Browser, Xiino, Xvast, Zvu +115 Browser, 2345 Browser, 360 Phone Browser, 360 Browser, Avant Browser, ABrowse, ANT Fresco, ANTGalio, Aloha Browser, Aloha Browser Lite, Amaya, Amigo, Android Browser, AOL Desktop, AOL Shield, Arora, Arctic Fox, Amiga Voyager, Amiga Aweb, Atom, Atomic Web Browser, Avast Secure Browser, AVG Secure Browser, Beaker Browser, Beamrise, BlackBerry Browser, Baidu Browser, Baidu Spark, Basilisk, Beonex, BlackHawk, Bunjalloo, B-Line, Blue Browser, Borealis Navigator, Brave, BriskBard, BrowseX, Browzar, Camino, CCleaner, Centaury, Coc Coc, Colibri, Comodo Dragon, Coast, Charon, CM Browser, Chrome Frame, Headless Chrome, Chrome, Chrome Mobile iOS, Conkeror, Chrome Mobile, CoolNovo, CometBird, COS Browser, ChromePlus, Chromium, Cyberfox, Cheshire, Crusta, Crazy Browser, Cunaguaro, Chrome Webview, dbrowser, Deepnet Explorer, Delta Browser, Dolphin, Dorado, Dooble, Dillo, DuckDuckGo Privacy Browser, Ecosia, Epic, Elinks, Element Browser, Elements Browser, eZ Browser, EUI Browser, GNOME Web, Espial TV Browser, Falkon, Faux Browser, Firefox Mobile iOS, Firebird, Fluid, Fennec, Firefox, Firefox Focus, Firefox Reality, Firefox Rocket, Flock, Firefox Mobile, Fireweb, Fireweb Navigator, FreeU, Galeon, Ghostery Privacy Browser, Glass Browser, Google Earth, GOG Galaxy, Hawk Turbo Browser, hola! Browser, HotJava, Huawei Browser, IBrowse, iCab, iCab Mobile, Iridium, Iron Mobile, IceCat, IceDragon, Isivioo, Iceweasel, Internet Explorer, IE Mobile, Iron, Japan Browser, Jasmine, Jig Browser, Jig Browser Plus, Jio Browser, K.Browser, Kindle Browser, K-meleon, Konqueror, Kapiko, Kinza, Kiwi, Kylo, Kazehakase, Cheetah Browser, LieBaoFast, LG Browser, Light, Links, Lovense Browser, LuaKit, Lulumi, Lunascape, Lunascape Lite, Lynx, mCent, MicroB, NCSA Mosaic, Meizu Browser, Mercury, Mobile Safari, Midori, Mobicip, MIUI Browser, Mobile Silk, Minimo, Mint Browser, Maxthon, MxNitro, Mypal, Monument Browser, MAUI WAP Browser, NFS Browser, Nokia Browser, Nokia OSS Browser, Nokia Ovi Browser, Nox Browser, NetSurf, NetFront, NetFront Life, NetPositive, Netscape, NTENT Browser, Oculus Browser, Opera Mini iOS, Obigo, Odyssey Web Browser, Off By One, OhHai Browser, ONE Browser, Opera GX, Opera Neon, Opera Devices, Opera Mini, Opera Mobile, Opera, Opera Next, Opera Touch, Ordissimo, Oregano, Origin In-Game Overlay, Origyn Web Browser, Openwave Mobile Browser, OmniWeb, Otter Browser, Palm Blazer, Pale Moon, Polypane, Oppo Browser, Palm Pre, Puffin, Palm WebPro, Palmscape, Phoenix, Phoenix Browser, Polaris, Polarity, PrivacyWall, Microsoft Edge, QQ Browser Mini, QQ Browser, Qutebrowser, Quark, QupZilla, Qwant Mobile, QtWebEngine, Realme Browser, Rekonq, RockMelt, Samsung Browser, Sailfish Browser, SEMC-Browser, Sogou Explorer, Safari, Safe Exam Browser, SalamWeb, Shiira, SimpleBrowser, Sizzy, Skyfire, Seraphic Sraf, Sleipnir, Slimjet, 7Star, Smart Lenovo Browser, Snowshoe, Sogou Mobile Browser, Splash, Sputnik Browser, Sunrise, SuperBird, Super Fast Browser, surf, Stargon, START Internet Browser, Steam In-Game Overlay, Streamy, Swiftfox, Seznam Browser, t-online.de Browser, Tao Browser, TenFourFox, Tenta Browser, Tizen Browser, Tungsten, ToGate, TweakStyle, TV Bro, UBrowser, UC Browser, UC Browser Mini, UC Browser Turbo, UR Browser, Uzbl, Vivaldi, vivo Browser, Vision Mobile Browser, VMware AirWatch, Wear Internet Browser, Web Explorer, WebPositive, Waterfox, Whale Browser, wOSBrowser, WeTab Browser, Yahoo! Japan Browser, Yandex Browser, Yandex Browser Lite, Yaani Browser, Yolo Browser, Xiino, Xvast, Zvu ### List of detected browser engines: From 31af6828aa7dbf420476236924ebf43eb8d48ec9 Mon Sep 17 00:00:00 2001 From: sanchezzzhak Date: Wed, 9 Dec 2020 19:16:09 +0300 Subject: [PATCH 02/12] fix(device) detect common model for brand Huawei issue #6517 --- regexes/device/mobiles.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/regexes/device/mobiles.yml b/regexes/device/mobiles.yml index 6ef509f2c2..091d53d9cf 100644 --- a/regexes/device/mobiles.yml +++ b/regexes/device/mobiles.yml @@ -6580,7 +6580,7 @@ Huawei: model: 'Ascend Mate $1' - regex: 'Huawei[ _\-]?([^/;]*) Build' model: '$1' - - regex: '(?:HW-)?Huawei(?:/1\.0/0?(?:Huawei))?[_\- /]?([a-z0-9\-_]+)' + - regex: '(?:HW-)?Huawei(?!Browser)(?:/1\.0/0?(?:Huawei))?[_\- /]?([a-z0-9\-_]+)' model: '$1' - regex: 'Huawei; ([a-z0-9 \-]+)' model: '$1' From d8c674b82c297374e891e1c607d2870b970b0bf5 Mon Sep 17 00:00:00 2001 From: Tutik Alexsandr Date: Wed, 9 Dec 2020 22:44:29 +0300 Subject: [PATCH 03/12] feat(device) detect brand Huawei model: MediaPad T 10 feat(device) detect brand Lenovo models: Tab M10 FHD Plus (TB-X606F), TAB4 8 (TB-8504X), Tab E7 (TB-7104I), TAB3 10 Plus (TB3-X70L), TAB3 8 Plus (TB-8703X), TAB2 A10 (A10-70L) issue #6517 --- Tests/fixtures/smartphone-19.yml | 126 +++++++++++++++++++++++++++++++ regexes/device/mobiles.yml | 23 +++++- 2 files changed, 148 insertions(+), 1 deletion(-) diff --git a/Tests/fixtures/smartphone-19.yml b/Tests/fixtures/smartphone-19.yml index 4d1147fcb0..e922812773 100644 --- a/Tests/fixtures/smartphone-19.yml +++ b/Tests/fixtures/smartphone-19.yml @@ -557,3 +557,129 @@ model: SmartPad HX 8 HD os_family: Android browser_family: Chrome +- + user_agent: Mozilla/5.0 (Linux; Android 10; AGR-L09; HMSCore 5.0.4.301) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.106 HuaweiBrowser/11.0.3.304 Safari/537.36 + os: + name: Android + version: "10" + platform: "" + client: + type: browser + name: Huawei Browser + version: 11.0.3.304 + engine: WebKit + engine_version: "537.36" + device: + type: tablet + brand: Huawei + model: MediaPad T 10 + os_family: Android + browser_family: Unknown +- + user_agent: Mozilla/5.0 (Linux; arm_64; Android 9; Lenovo TB-X606F) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.127 YaBrowser/20.9.4.99.01 Safari/537.36 + os: + name: Android + version: "9" + platform: ARM + client: + type: browser + name: Yandex Browser + version: 20.9.4.99.01 + engine: Blink + engine_version: "" + device: + type: tablet + brand: Lenovo + model: Tab M10 FHD Plus + os_family: Android + browser_family: Unknown +- + user_agent: Mozilla/5.0 (Linux; arm_64; Android 7.1.1; Lenovo TB-8504X) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 YaBrowser/19.12.4.87.01 Safari/537.36 + os: + name: Android + version: 7.1.1 + platform: ARM + client: + type: browser + name: Yandex Browser + version: 19.12.4.87.01 + engine: Blink + engine_version: "" + device: + type: tablet + brand: Lenovo + model: TAB4 8 + os_family: Android + browser_family: Unknown +- + user_agent: Mozilla/5.0 (Linux; arm; Android 8.1.0; Lenovo TB-7104I) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.127 YaBrowser/20.9.4.99.01 Safari/537.36 + os: + name: Android + version: 8.1.0 + platform: ARM + client: + type: browser + name: Yandex Browser + version: 20.9.4.99.01 + engine: Blink + engine_version: "" + device: + type: tablet + brand: Lenovo + model: Tab E7 + os_family: Android + browser_family: Unknown +- + user_agent: Mozilla/5.0 (Linux; Android 6.0; Lenovo TB3-X70L) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.198 Safari/537.36 + os: + name: Android + version: "6.0" + platform: "" + client: + type: browser + name: Chrome + version: 86.0.4240.198 + engine: Blink + engine_version: "" + device: + type: tablet + brand: Lenovo + model: TAB3 10 Plus + os_family: Android + browser_family: Chrome +- + user_agent: Mozilla/5.0 (Linux; arm_64; Android 6.0.1; Lenovo TB-8703X) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.127 YaApp_Android/20.94.0/apad YaSearchBrowser/20.94.0/apad BroPP/1.0 SA/1 Mobile Safari/537.36 + os: + name: Android + version: 6.0.1 + platform: ARM + client: + type: browser + name: Yandex Browser + version: 20.94.0 + engine: Blink + engine_version: "" + device: + type: tablet + brand: Lenovo + model: TAB3 8 Plus + os_family: Android + browser_family: Unknown +- + user_agent: Mozilla/5.0 (Linux; Android 5.0.1; Lenovo TAB 2 A10-70L) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.83 Safari/537.36 + os: + name: Android + version: 5.0.1 + platform: "" + client: + type: browser + name: Chrome + version: 83.0.4103.83 + engine: Blink + engine_version: "" + device: + type: tablet + brand: Lenovo + model: TAB2 A10 + os_family: Android + browser_family: Chrome diff --git a/regexes/device/mobiles.yml b/regexes/device/mobiles.yml index 091d53d9cf..90d858f36a 100644 --- a/regexes/device/mobiles.yml +++ b/regexes/device/mobiles.yml @@ -6523,6 +6523,9 @@ Huawei: - regex: 'KOB2-[LW]09(?:[);/ ]|$)' device: 'tablet' model: 'MediaPad T 8.0"' + - regex: 'AGR-L09(?:[);/ ]|$)' + device: 'tablet' + model: 'MediaPad T 10' - regex: 'AGS-(?:L0[39]|W09)(?:[);/ ]|$)' device: 'tablet' model: 'MediaPad T3 10' @@ -8109,18 +8112,30 @@ Lenovo: - regex: 'TB3-710[IF]' model: 'TAB3 7 Essential' device: 'tablet' + - regex: 'TB3-X70L' + model: 'TAB3 10 Plus' + device: 'tablet' + - regex: 'TB-8703X' + model: 'TAB3 8 Plus' + device: 'tablet' - regex: 'TAB 2 A8-50LC' model: 'TAB2 A8-50LC' device: 'tablet' - regex: '501LV(?:[);/ ]|$)' model: 'TAB2 8.0"' device: 'tablet' + - regex: 'TAB 2 A10-70L(?:[);/ ]|$)' + model: 'TAB2 A10' + device: 'tablet' - regex: '(?:TB3-850[FM]|601LV)(?:[);/ ]|$)' model: 'TAB3 8' device: 'tablet' - - regex: 'Lenovo TB-X304[FL]' + - regex: 'TB-X304[FL]' model: 'TAB4 10' device: 'tablet' + - regex: 'TB-8504X' + model: 'TAB4 8' + device: 'tablet' - regex: '(?:TB-X704[VL]|701LV)(?:[);/ ]|$)' model: 'TAB4 10 Plus' device: 'tablet' @@ -8136,6 +8151,12 @@ Lenovo: - regex: 'TB-X605F(?:[);/ ]|$)' model: 'Tab M10' device: 'tablet' + - regex: 'TB-7104I(?:[);/ ]|$)' + model: 'Tab E7' + device: 'tablet' + - regex: 'TB-X606F(?:[);/ ]|$)' + model: 'Tab M10 FHD Plus' + device: 'tablet' - regex: 'Lenovo ?B8000(-[FH])?' model: 'Yoga Tablet 10' device: 'tablet' From eeae05d480180beef7bfee4be3b383efffadf828 Mon Sep 17 00:00:00 2001 From: Tutik Alexsandr Date: Wed, 9 Dec 2020 23:08:55 +0300 Subject: [PATCH 04/12] feat(device) detect brand Lenovo models: Tab M10 FHD Plus (TB-X606X), TAB 2 A7 (A7-30HC, A7-30GC), TAB4 8 Plus (TB-8704X), Tab 7 Essential (TB-7304X), Tab 7 (TB-7504X) feat(device) detect brand Meizu model: 15 Lite issue #6517 --- Tests/fixtures/smartphone-19.yml | 129 ++++++++++++++++++++++++++++++- regexes/device/mobiles.yml | 20 ++++- 2 files changed, 144 insertions(+), 5 deletions(-) diff --git a/Tests/fixtures/smartphone-19.yml b/Tests/fixtures/smartphone-19.yml index e922812773..11ae19c778 100644 --- a/Tests/fixtures/smartphone-19.yml +++ b/Tests/fixtures/smartphone-19.yml @@ -680,6 +680,133 @@ device: type: tablet brand: Lenovo - model: TAB2 A10 + model: TAB 2 A10 os_family: Android browser_family: Chrome +- + user_agent: Mozilla/5.0 (Linux; arm_64; Android 9; Lenovo TB-X606X) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.127 YaBrowser/20.9.2.95.01 Safari/537.36 + os: + name: Android + version: "9" + platform: ARM + client: + type: browser + name: Yandex Browser + version: 20.9.2.95.01 + engine: Blink + engine_version: "" + device: + type: tablet + brand: Lenovo + model: Tab M10 FHD Plus + os_family: Android + browser_family: Unknown +- + user_agent: Mozilla/5.0 (Linux; Android 4.4.2; Lenovo TAB 2 A7-30HC) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.138 Safari/537.36 + os: + name: Android + version: 4.4.2 + platform: "" + client: + type: browser + name: Chrome + version: 81.0.4044.138 + engine: Blink + engine_version: "" + device: + type: tablet + brand: Lenovo + model: TAB 2 A7 + os_family: Android + browser_family: Chrome +- + user_agent: Mozilla/5.0 (Linux; arm_64; Android 8.1.0; Lenovo TB-8704X) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.127 YaBrowser/20.9.4.99.01 Safari/537.36 + os: + name: Android + version: 8.1.0 + platform: ARM + client: + type: browser + name: Yandex Browser + version: 20.9.4.99.01 + engine: Blink + engine_version: "" + device: + type: tablet + brand: Lenovo + model: TAB4 8 Plus + os_family: Android + browser_family: Unknown +- + user_agent: Mozilla/5.0 (Linux; Android 7.0; Lenovo TB-7304X) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.198 Safari/537.36 + os: + name: Android + version: "7.0" + platform: "" + client: + type: browser + name: Chrome + version: 86.0.4240.198 + engine: Blink + engine_version: "" + device: + type: tablet + brand: Lenovo + model: Tab 7 Essential + os_family: Android + browser_family: Chrome +- + user_agent: Mozilla/5.0 (Linux; Android 7.0; Lenovo TB-7504X) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.92 Mobile Safari/537.36 + os: + name: Android + version: "7.0" + platform: "" + client: + type: browser + name: Chrome Mobile + version: 77.0.3865.92 + engine: Blink + engine_version: "" + device: + type: tablet + brand: Lenovo + model: Tab 7 + os_family: Android + browser_family: Chrome +- + user_agent: Mozilla/5.0 (Linux; Android 4.4.2; Lenovo TAB 2 A7-30GC) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.138 Safari/537.36 + os: + name: Android + version: 4.4.2 + platform: "" + client: + type: browser + name: Chrome + version: 81.0.4044.138 + engine: Blink + engine_version: "" + device: + type: tablet + brand: Lenovo + model: TAB 2 A7 + os_family: Android + browser_family: Chrome +- + user_agent: Mozilla/5.0 (Linux; arm_64; Android 7.1.2; 15 Lite) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.198 YaApp_Android/20.110.0 YaSearchBrowser/20.110.0 BroPP/1.0 SA/3 Mobile Safari/537.36 + os: + name: Android + version: 7.1.2 + platform: ARM + client: + type: browser + name: Yandex Browser + version: 20.110.0 + engine: Blink + engine_version: "" + device: + type: smartphone + brand: Meizu + model: 15 Lite + os_family: Android + browser_family: Unknown + diff --git a/regexes/device/mobiles.yml b/regexes/device/mobiles.yml index 90d858f36a..5a3f4fb4c9 100644 --- a/regexes/device/mobiles.yml +++ b/regexes/device/mobiles.yml @@ -8125,7 +8125,7 @@ Lenovo: model: 'TAB2 8.0"' device: 'tablet' - regex: 'TAB 2 A10-70L(?:[);/ ]|$)' - model: 'TAB2 A10' + model: 'TAB 2 A10' device: 'tablet' - regex: '(?:TB3-850[FM]|601LV)(?:[);/ ]|$)' model: 'TAB3 8' @@ -8136,6 +8136,9 @@ Lenovo: - regex: 'TB-8504X' model: 'TAB4 8' device: 'tablet' + - regex: 'TB-8704X' + model: 'TAB4 8 Plus' + device: 'tablet' - regex: '(?:TB-X704[VL]|701LV)(?:[);/ ]|$)' model: 'TAB4 10 Plus' device: 'tablet' @@ -8154,7 +8157,13 @@ Lenovo: - regex: 'TB-7104I(?:[);/ ]|$)' model: 'Tab E7' device: 'tablet' - - regex: 'TB-X606F(?:[);/ ]|$)' + - regex: 'TB-7304X(?:[);/ ]|$)' + model: 'Tab 7 Essential' + device: 'tablet' + - regex: 'TB-7504X(?:[);/ ]|$)' + model: 'Tab 7' + device: 'tablet' + - regex: 'TB-X606[FX](?:[);/ ]|$)' model: 'Tab M10 FHD Plus' device: 'tablet' - regex: 'Lenovo ?B8000(-[FH])?' @@ -8203,6 +8212,9 @@ Lenovo: - regex: 'Lenovo ?A3300-(?:GV|H)' model: 'TAB 2 A7-30' device: 'tablet' + - regex: 'TAB 2 A7-30[HG]C' + model: 'TAB 2 A7' + device: 'tablet' - regex: 'TB-8504F' model: 'TAB 4 8' device: 'tablet' @@ -9144,7 +9156,7 @@ MEEG: # Meizu Meizu: - regex: 'Meizu|MZ-[a-z]|(M04[05]|MZ-16th(?: Plus)?|MZ-16[st]|M7[12]1C|M35[1356]|M612C|M578CA|M181[36]|M1822|M681C|M6T|MX[ -]?[2345](?: Pro)?|(?:MZ-)?m[1-6] note|M621C|M1852|M57[18]C|M3[ESX]|M031|m1 metal|M1 E|M2|M2 E|M5s Build|PRO 6|PRO 7-H|MZ-15 (?:Lite|Plus)|MZ-16 X)(?:[);/ ]|$)' + regex: 'Meizu|MZ-[a-z]|(M04[05]|MZ-16th(?: Plus)?|MZ-16[st]|M7[12]1C|M35[1356]|M612C|M578CA|M181[36]|M1822|M681C|M6T|MX[ -]?[2345](?: Pro)?|(?:MZ-)?m[1-6] note|M621C|M1852|M57[18]C|M3[ESX]|M031|m1 metal|M1 E|M2|M2 E|M5s Build|PRO 6|PRO 7-H| 15 Lite|MZ-15 (?:Lite|Plus)|MZ-16 X)(?:[);/ ]|$)' device: 'smartphone' models: - regex: '(?:MZ-)?M571C' @@ -9212,7 +9224,7 @@ Meizu: model: '16th Plus' - regex: 'MZ-15 Plus(?:[);/ ]|$)' model: '15 Plus' - - regex: 'MZ-15 Lite(?:[);/ ]|$)' + - regex: '(?:MZ-15 Lite| 15 Lite)(?:[);/ ]|$)' model: '15 Lite' - regex: 'MZ-16th(?:[);/ ]|$)' model: '16th' From e642523bda14657c58c7432c9d464413a822949b Mon Sep 17 00:00:00 2001 From: Tutik Alexsandr Date: Wed, 9 Dec 2020 23:22:10 +0300 Subject: [PATCH 05/12] feat(device) detect new brand BOE model: HV320WHB-N55 feat(device) detect brand Rombica model: Smart Box v009 issue #6517 --- Parser/Device/AbstractDeviceParser.php | 1 + Tests/fixtures/smartphone-19.yml | 36 ++++++++++++++++++++++++++ regexes/device/mobiles.yml | 10 +++++-- 3 files changed, 45 insertions(+), 2 deletions(-) diff --git a/Parser/Device/AbstractDeviceParser.php b/Parser/Device/AbstractDeviceParser.php index 8c444ef863..a3e2c63a13 100644 --- a/Parser/Device/AbstractDeviceParser.php +++ b/Parser/Device/AbstractDeviceParser.php @@ -162,6 +162,7 @@ abstract class AbstractDeviceParser extends AbstractParser 'B2' => 'Blackview', 'B4' => 'bogo', 'BW' => 'Boway', + '4B' => 'BOE', 'BZ' => 'Bezkam', 'BX' => 'bq', 'BV' => 'Bravis', diff --git a/Tests/fixtures/smartphone-19.yml b/Tests/fixtures/smartphone-19.yml index 11ae19c778..34340162e0 100644 --- a/Tests/fixtures/smartphone-19.yml +++ b/Tests/fixtures/smartphone-19.yml @@ -809,4 +809,40 @@ model: 15 Lite os_family: Android browser_family: Unknown +- + user_agent: Mozilla/5.0 (Linux; Android 7.1.2; Smart Box v009 Build/NHG47L; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/52.0.2743.100 Safari/537.36 + os: + name: Android + version: 7.1.2 + platform: "" + client: + type: browser + name: Chrome Webview + version: 52.0.2743.100 + engine: Blink + engine_version: "" + device: + type: tv + brand: Rombica + model: Smart Box v009 + os_family: Android + browser_family: Chrome +- + user_agent: Mozilla/5.0 (Linux; Android 4.4.4; Leff Shell HV320WHB-N55) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.102 YaBrowser/18.11.1.1011.01 Safari/537.36 + os: + name: Android + version: 4.4.4 + platform: "" + client: + type: browser + name: Yandex Browser + version: 18.11.1.1011.01 + engine: Blink + engine_version: "" + device: + type: tv + brand: BOE + model: HV320WHB-N55 + os_family: Android + browser_family: Unknown diff --git a/regexes/device/mobiles.yml b/regexes/device/mobiles.yml index 5a3f4fb4c9..e3fd5144ca 100644 --- a/regexes/device/mobiles.yml +++ b/regexes/device/mobiles.yml @@ -11283,12 +11283,12 @@ Rokit: # Rombica Rombica: - regex: '(Rombica|SSQ-A0500)(?:[);/ ]|$)' + regex: '(Rombica|SSQ-A0500|Smart Box v[0-9]+)(?:[);/ ]|$)' device: 'tv' models: - regex: 'SSQ-A0500(?:[);/ ]|$)' model: 'Smart Stick 4K' - - regex: '(Infinity K8|Smart Box (?:v00[34578]|Quad|Ultra HD v002|4K V001))(?:[);/ ]|$)' + - regex: '(Infinity K8|Smart Box (?:v00[345789]|Quad|Ultra HD v002|4K V001))(?:[);/ ]|$)' model: '$1' # Rover @@ -18349,6 +18349,12 @@ Silelis: device: 'tv' model: '$1' +# BOE (www.boe.com) +BOE: + regex: 'Leff Shell (HV320WHB-N55)(?:[);/ ]|$)' + device: 'tv' + model: '$1' + # Hardkernel (www.hardkernel.com) Hardkernel: regex: 'ODROID[-]?(C2|U2|XU[34])(?:[);/ ]|$)' From 806b1a527326c375ccd6b998222d76ce25896533 Mon Sep 17 00:00:00 2001 From: Tutik Alexsandr Date: Wed, 9 Dec 2020 23:29:22 +0300 Subject: [PATCH 06/12] feat(device) rename new brand BOE to Leff model: HV320WHB-N55 issue #6517 --- Parser/Device/AbstractDeviceParser.php | 2 +- Tests/fixtures/smartphone-19.yml | 2 +- regexes/device/mobiles.yml | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/Parser/Device/AbstractDeviceParser.php b/Parser/Device/AbstractDeviceParser.php index a3e2c63a13..65649cf04e 100644 --- a/Parser/Device/AbstractDeviceParser.php +++ b/Parser/Device/AbstractDeviceParser.php @@ -162,7 +162,6 @@ abstract class AbstractDeviceParser extends AbstractParser 'B2' => 'Blackview', 'B4' => 'bogo', 'BW' => 'Boway', - '4B' => 'BOE', 'BZ' => 'Bezkam', 'BX' => 'bq', 'BV' => 'Bravis', @@ -431,6 +430,7 @@ abstract class AbstractDeviceParser extends AbstractParser 'LK' => 'Lark', 'LC' => 'LCT', 'L5' => 'Leagoo', + '4B' => 'Leff', 'LD' => 'Ledstar', 'L1' => 'LeEco', 'L4' => 'Lemhoov', diff --git a/Tests/fixtures/smartphone-19.yml b/Tests/fixtures/smartphone-19.yml index 34340162e0..3e461c7a71 100644 --- a/Tests/fixtures/smartphone-19.yml +++ b/Tests/fixtures/smartphone-19.yml @@ -841,7 +841,7 @@ engine_version: "" device: type: tv - brand: BOE + brand: Leff model: HV320WHB-N55 os_family: Android browser_family: Unknown diff --git a/regexes/device/mobiles.yml b/regexes/device/mobiles.yml index e3fd5144ca..0cb7f34944 100644 --- a/regexes/device/mobiles.yml +++ b/regexes/device/mobiles.yml @@ -18349,8 +18349,8 @@ Silelis: device: 'tv' model: '$1' -# BOE (www.boe.com) -BOE: +# Leff +Leff: regex: 'Leff Shell (HV320WHB-N55)(?:[);/ ]|$)' device: 'tv' model: '$1' From 1cbcf50032dc5094789f7592450fad70615e5e42 Mon Sep 17 00:00:00 2001 From: Tutik Alexsandr Date: Wed, 9 Dec 2020 23:57:20 +0300 Subject: [PATCH 07/12] fix: tests --- Tests/fixtures/tablet-2.yml | 4 ++-- regexes/device/mobiles.yml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Tests/fixtures/tablet-2.yml b/Tests/fixtures/tablet-2.yml index 73bda10f5d..a7ecc16ada 100644 --- a/Tests/fixtures/tablet-2.yml +++ b/Tests/fixtures/tablet-2.yml @@ -6989,7 +6989,7 @@ device: type: tablet brand: Lenovo - model: TAB 2 A10-70L + model: TAB 2 A10 os_family: Android browser_family: Chrome - @@ -7097,7 +7097,7 @@ device: type: tablet brand: Lenovo - model: TAB 4 10 + model: TAB4 10 os_family: Android browser_family: Chrome - diff --git a/regexes/device/mobiles.yml b/regexes/device/mobiles.yml index 0cb7f34944..1e08c92617 100644 --- a/regexes/device/mobiles.yml +++ b/regexes/device/mobiles.yml @@ -8219,7 +8219,7 @@ Lenovo: model: 'TAB 4 8' device: 'tablet' - regex: 'TB-X304F' - model: 'TAB 4 10' + model: 'TAB4 10' device: 'tablet' - regex: 'Lenovo TB-X505F' model: 'M10' From 636c2faf6be58762c57bdd98ee8a68d7f14167c4 Mon Sep 17 00:00:00 2001 From: sanchezzzhak Date: Thu, 10 Dec 2020 08:51:05 +0300 Subject: [PATCH 08/12] feat(device) detect brand Huawei model: Honor Pad V6 (KRJ-W09) feat(device) detect brand Lenovo models: TAB3 7 Plus (TB-7703X), M10 (TB-X505X), Tab M8 (TB-8505F) issue #6517 --- Tests/fixtures/smartphone-19.yml | 73 +++++++++++++++++++++++++++++++- regexes/device/mobiles.yml | 30 ++++++++----- 2 files changed, 92 insertions(+), 11 deletions(-) diff --git a/Tests/fixtures/smartphone-19.yml b/Tests/fixtures/smartphone-19.yml index 3e461c7a71..268e3f9c68 100644 --- a/Tests/fixtures/smartphone-19.yml +++ b/Tests/fixtures/smartphone-19.yml @@ -845,4 +845,75 @@ model: HV320WHB-N55 os_family: Android browser_family: Unknown - +- + user_agent: Mozilla/5.0 (Linux; arm; Android 10; KRJ-W09) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.127 YaApp_Android/20.94.0/apad YaSearchBrowser/20.94.0/apad BroPP/1.0 SA/3 Mobile Safari/537.36 + os: + name: Android + version: "10" + platform: ARM + client: + type: browser + name: Yandex Browser + version: 20.94.0 + engine: Blink + engine_version: "" + device: + type: tablet + brand: Huawei + model: Honor Pad V6 + os_family: Android + browser_family: Unknown +- + user_agent: Mozilla/5.0 (Linux; Android 6.0.1; Lenovo TB-7703X) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.198 Mobile Safari/537.36 + os: + name: Android + version: 6.0.1 + platform: "" + client: + type: browser + name: Chrome Mobile + version: 86.0.4240.198 + engine: Blink + engine_version: "" + device: + type: tablet + brand: Lenovo + model: TAB3 7 Plus + os_family: Android + browser_family: Chrome +- + user_agent: Mozilla/5.0 (Linux; Android 9; Lenovo TB-X505X) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.106 Safari/537.36 + os: + name: Android + version: "9" + platform: "" + client: + type: browser + name: Chrome + version: 83.0.4103.106 + engine: Blink + engine_version: "" + device: + type: tablet + brand: Lenovo + model: M10 + os_family: Android + browser_family: Chrome +- + user_agent: Mozilla/5.0 (Linux; arm_64; Android 9; Lenovo TB-8505F) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.198 YaApp_Android/20.111.0 YaSearchBrowser/20.111.0 BroPP/1.0 SA/3 Mobile Safari/537.36 + os: + name: Android + version: "9" + platform: ARM + client: + type: browser + name: Yandex Browser + version: 20.111.0 + engine: Blink + engine_version: "" + device: + type: tablet + brand: Lenovo + model: Tab M8 + os_family: Android + browser_family: Unknown diff --git a/regexes/device/mobiles.yml b/regexes/device/mobiles.yml index 1e08c92617..519f6d8ff4 100644 --- a/regexes/device/mobiles.yml +++ b/regexes/device/mobiles.yml @@ -5938,7 +5938,7 @@ Minix: # Huawei Huawei: - regex: '(HW-)?(?:Huawei|MediaPad T1|Ideos|Honor[ _]?|(?:(?:AGS|AGS2|ALE|ALP|AMN|ANE|ARE|ARS|ASK|ATH|ATU|AUM|BAC|BAH[23]?|BG2|BGO|B[ZK]K|BKL|BL[ALN]|BND|BTV|CA[GMNZ]|CH[CM]|CHE[12]?|CLT|CMR|COL|COR|CPN|CRO|CRR|CUN|DIG|DLI|DRA|DUA|DUB|DUK|EDI|ELE|EML|EVA|EVR|FDR|FIG|FLA|FRD|GEM|GRA|HDN|HLK|HMA|Hol|HRY|HWI|H[36]0|INE|JAT|JDN|JDN2|JKM|JMM|JSN|KII|KIW|KNT|KOB|KSA|LDN|LEO|LIO|LLD|LND|LON|LRA|LUA|LY[AO]|MAR|MHA|MRD|MYA|NCE|NEM|NEO|NXT|PAR|PCT|PIC|PLE|PLK|POT|PRA|RIO|RNE|RVL|SCC|SCL|SCM|SEA|SHT|SLA|SNE|SPN|STF|STK|TAG|TIT|TNY|TRT|VCE|VEN|VIE|VKY|VNS|VOG|VRD|VTR|WAS|YAL|G(?:527|620S|621|630|735)|Y(?:221|330|550|6[23]5))-(?:[A-Z]{0,2}[0-9]{1,4}[A-Z]{0,3}?)|H1711|U(?:8230|8500|8661|8665|8667|8800|8818|8860|9200|9508))(?:[);/ ]|$))|hi6210sft|PE-(UL00|TL[12]0|TL00M)|T1-(A21[Lw]|A23L|701u|823L)|G7-(?:L01|TL00)|HW-01K|JNY-(LX[12]|AL10)|OXF-AN[01]0|TAS-(A[LN]00|L29|TL00)|WLZ-(AL10|AN00)|NIC-LX1A|MRX-(AL09|W09)|CDY-(?:[AT]N00|AN90|NX9A)|GLK-[AT]L00|JER-[AT]N10|ELS-(?:[AT]N[10]0|NX9|N39|N04)|AKA-(AL10|L29)|MON-(W|AL)19|BMH-AN[12]0|AQM-([AT]L[01]0|LX1)|MOA-(AL[02]0|LX9N)|NTS-AL00|ART-(?:[AT]L00[xm]|L29N?)|JEF-(?:[AT]N00|AN20)|MED-(?:[AT]L00|LX9N?)|EBG-AN[01]0|ANA-(?:[AT]N00|NX9)|BZ[AK]-W00|BZT-(W09|AL[01]0)|HDL-(AL09|W09)|HWV3[123]|HW-02L|TEL-[AT]N(?:00a?|10)|KKG-AN00|MXW-AN00|JKM-AL00[ab]|TAH-(?:N29|AN00)m|C8817D|T1-821W|d-01J|d-02[HK]|HWT31|Y320-U10|Y541-U02|VAT-L19|70[14]HW|60[58]HW|TNNH-AN00|LIO-(?:[TA]L00|[LN]29|AN00)|KOB2-[LW]09|PPA-LX2|AGS3-L09|DNN-LX9|NEY-NX9|LON-AL00' + regex: '(HW-)?(?:Huawei|MediaPad T1|Ideos|Honor[ _]?|(?:(?:AGS|AGS2|ALE|ALP|AMN|ANE|ARE|ARS|ASK|ATH|ATU|AUM|BAC|BAH[23]?|BG2|BGO|B[ZK]K|BKL|BL[ALN]|BND|BTV|CA[GMNZ]|CH[CM]|CHE[12]?|CLT|CMR|COL|COR|CPN|CRO|CRR|CUN|DIG|DLI|DRA|DUA|DUB|DUK|EDI|ELE|EML|EVA|EVR|FDR|FIG|FLA|FRD|GEM|GRA|HDN|HLK|HMA|Hol|HRY|HWI|H[36]0|INE|JAT|JDN|JDN2|JKM|JMM|JSN|KII|KIW|KNT|KOB|KSA|LDN|LEO|LIO|LLD|LND|LON|LRA|LUA|LY[AO]|MAR|MHA|MRD|MYA|NCE|NEM|NEO|NXT|PAR|PCT|PIC|PLE|PLK|POT|PRA|RIO|RNE|RVL|SCC|SCL|SCM|SEA|SHT|SLA|SNE|SPN|STF|STK|TAG|TIT|TNY|TRT|VCE|VEN|VIE|VKY|VNS|VOG|VRD|VTR|WAS|YAL|G(?:527|620S|621|630|735)|Y(?:221|330|550|6[23]5))-(?:[A-Z]{0,2}[0-9]{1,4}[A-Z]{0,3}?)|H1711|U(?:8230|8500|8661|8665|8667|8800|8818|8860|9200|9508))(?:[);/ ]|$))|hi6210sft|PE-(UL00|TL[12]0|TL00M)|T1-(A21[Lw]|A23L|701u|823L)|G7-(?:L01|TL00)|HW-01K|JNY-(LX[12]|AL10)|OXF-AN[01]0|TAS-(A[LN]00|L29|TL00)|WLZ-(AL10|AN00)|NIC-LX1A|MRX-(AL09|W09)|CDY-(?:[AT]N00|AN90|NX9A)|GLK-[AT]L00|JER-[AT]N10|ELS-(?:[AT]N[10]0|NX9|N39|N04)|AKA-(AL10|L29)|MON-(W|AL)19|BMH-AN[12]0|AQM-([AT]L[01]0|LX1)|MOA-(AL[02]0|LX9N)|NTS-AL00|ART-(?:[AT]L00[xm]|L29N?)|JEF-(?:[AT]N00|AN20)|MED-(?:[AT]L00|LX9N?)|EBG-AN[01]0|ANA-(?:[AT]N00|NX9)|BZ[AK]-W00|BZT-(W09|AL[01]0)|HDL-(AL09|W09)|HWV3[123]|HW-02L|TEL-[AT]N(?:00a?|10)|KKG-AN00|MXW-AN00|JKM-AL00[ab]|TAH-(?:N29|AN00)m|C8817D|T1-821W|d-01J|d-02[HK]|KRJ-W09|HWT31|Y320-U10|Y541-U02|VAT-L19|70[14]HW|60[58]HW|TNNH-AN00|LIO-(?:[TA]L00|[LN]29|AN00)|KOB2-[LW]09|PPA-LX2|AGS3-L09|DNN-LX9|NEY-NX9|LON-AL00' device: 'smartphone' models: - regex: 'POT-[TA]L00a(?:[);/ ]|$)' @@ -6466,6 +6466,9 @@ Huawei: - regex: 'JDN-(?:AL00|W09)(?:[);/ ]|$)' model: 'Honor Pad 2' device: 'tablet' + - regex: 'KRJ-W09(?:[);/ ]|$)' + model: 'Honor Pad V6' + device: 'tablet' - regex: 'MON-(W|AL)19(?:[);/ ]|$)' device: 'tablet' model: 'MatePad C5 8' @@ -8112,6 +8115,9 @@ Lenovo: - regex: 'TB3-710[IF]' model: 'TAB3 7 Essential' device: 'tablet' + - regex: 'TB-7703X' + model: 'TAB3 7 Plus' + device: 'tablet' - regex: 'TB3-X70L' model: 'TAB3 10 Plus' device: 'tablet' @@ -8203,12 +8209,6 @@ Lenovo: - regex: 'ThinkPad ?Tablet([^;/]*) Build' model: 'ThinkPad Tablet$1' device: 'tablet' - - regex: 'IdeaPad ?([^;/]*) Build' - model: 'IdeaPad $1' - device: 'tablet' - - regex: 'Lenovo TAB ?([^/;]*) Build' - model: 'TAB $1' - device: 'tablet' - regex: 'Lenovo ?A3300-(?:GV|H)' model: 'TAB 2 A7-30' device: 'tablet' @@ -8221,10 +8221,10 @@ Lenovo: - regex: 'TB-X304F' model: 'TAB4 10' device: 'tablet' - - regex: 'Lenovo TB-X505F' + - regex: 'TB-X505[FX]' model: 'M10' device: 'tablet' - - regex: 'Lenovo TB-X104[FXL]' + - regex: 'TB-X104[FXL]' model: 'E10' device: 'tablet' - regex: 'Tab2A([0-9]-[0-9]{2}[a-z]?)' @@ -8236,9 +8236,12 @@ Lenovo: - regex: 'Yoga Tablet([^;/]+) Build' model: 'Yoga Tablet$1' device: 'tablet' - - regex: 'Lenovo TB\-X704F Build/NMF26F' + - regex: 'TB-X704F' model: 'Tab 4 10 Plus' device: 'tablet' + - regex: 'TB-8505F' + model: 'Tab M8' + device: 'tablet' - regex: 'Lenovo (TB[0-9]?\-[a-z0-9\-]+) Build' model: '$1' device: 'tablet' @@ -8306,11 +8309,18 @@ Lenovo: model: 'Phab 2' - regex: '(S90-A|P70-A)(?:[);/ ]|$)' model: '$1' + - regex: 'IdeaPad ?([^;/]*) Build' + model: 'IdeaPad $1' + device: 'tablet' + - regex: 'Lenovo TAB ?([^/;]*) Build' + model: 'TAB $1' + device: 'tablet' - regex: 'Lenovo ([^/;]*) Build' model: '$1' - regex: '(?:LNV-|Lenovo-)?Lenovo[ \-_]?([a-z0-9_+\-]+)' model: '$1' + # Lexand Lexand: regex: '(?:SC7 PRO HD|S5A[1-4]|S4A[1-5]|S6A1|A811|A802)(?:[);/ ]|$)|Lexand ([^;/]+) Build' From 6d6e6c4734cb8a96d8305bb482641968830b76b4 Mon Sep 17 00:00:00 2001 From: sanchezzzhak Date: Thu, 10 Dec 2020 09:23:06 +0300 Subject: [PATCH 09/12] feat(device) detect brand Lenovo model: TAB 2 A7 (A7-30DC) feat(device) detect brand Chuwi model: Hi9 Air feat(device) rename model Lenovo Tab 4 10 Plus => Lenovo TAB4 10 Plus issue #6517 --- Tests/fixtures/smartphone-19.yml | 36 ++++++++++++++++++++++++++++++++ Tests/fixtures/tablet-2.yml | 2 +- regexes/device/mobiles.yml | 13 +++++------- 3 files changed, 42 insertions(+), 9 deletions(-) diff --git a/Tests/fixtures/smartphone-19.yml b/Tests/fixtures/smartphone-19.yml index 268e3f9c68..bc795ecbca 100644 --- a/Tests/fixtures/smartphone-19.yml +++ b/Tests/fixtures/smartphone-19.yml @@ -917,3 +917,39 @@ model: Tab M8 os_family: Android browser_family: Unknown +- + user_agent: Mozilla/5.0 (Linux; arm_64; Android 8.0.0; Hi9Air) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.198 YaBrowser/20.11.0.180.01 Safari/537.36 + os: + name: Android + version: 8.0.0 + platform: ARM + client: + type: browser + name: Yandex Browser + version: 20.11.0.180.01 + engine: Blink + engine_version: "" + device: + type: tablet + brand: Chuwi + model: Hi9 Air + os_family: Android + browser_family: Unknown +- + user_agent: Mozilla/5.0 (Linux; Android 5.0.1; Lenovo TAB 2 A7-30DC) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.138 Safari/537.36 + os: + name: Android + version: 5.0.1 + platform: "" + client: + type: browser + name: Chrome + version: 81.0.4044.138 + engine: Blink + engine_version: "" + device: + type: tablet + brand: Lenovo + model: TAB 2 A7 + os_family: Android + browser_family: Chrome diff --git a/Tests/fixtures/tablet-2.yml b/Tests/fixtures/tablet-2.yml index a7ecc16ada..17ecc16422 100644 --- a/Tests/fixtures/tablet-2.yml +++ b/Tests/fixtures/tablet-2.yml @@ -7115,7 +7115,7 @@ device: type: tablet brand: Lenovo - model: Tab 4 10 Plus + model: TAB4 10 Plus os_family: Android browser_family: Chrome - diff --git a/regexes/device/mobiles.yml b/regexes/device/mobiles.yml index 519f6d8ff4..713b24013d 100644 --- a/regexes/device/mobiles.yml +++ b/regexes/device/mobiles.yml @@ -8145,7 +8145,7 @@ Lenovo: - regex: 'TB-8704X' model: 'TAB4 8 Plus' device: 'tablet' - - regex: '(?:TB-X704[VL]|701LV)(?:[);/ ]|$)' + - regex: '(?:TB-X704[FVL]|701LV)(?:[);/ ]|$)' model: 'TAB4 10 Plus' device: 'tablet' - regex: '801LV(?:[);/ ]|$)' @@ -8212,7 +8212,7 @@ Lenovo: - regex: 'Lenovo ?A3300-(?:GV|H)' model: 'TAB 2 A7-30' device: 'tablet' - - regex: 'TAB 2 A7-30[HG]C' + - regex: 'TAB 2 A7-30[HGD]C' model: 'TAB 2 A7' device: 'tablet' - regex: 'TB-8504F' @@ -8236,9 +8236,6 @@ Lenovo: - regex: 'Yoga Tablet([^;/]+) Build' model: 'Yoga Tablet$1' device: 'tablet' - - regex: 'TB-X704F' - model: 'Tab 4 10 Plus' - device: 'tablet' - regex: 'TB-8505F' model: 'Tab M8' device: 'tablet' @@ -16640,7 +16637,7 @@ Unihertz: # Chuwi Chuwi: - regex: '(?:CW-(Hi8-super|Hi12|V99|V17HD3G|VX8-3G|V88-QUAD|V9-DUAL|V88S|Vi[78]|[HV]i10 (?:pro|plus))|Hi10 (?:Pro|plus)|HiPad X|HiBox-hero|HiBook pro|Hi8 (?:Air|Pro))(?:[);/ ]|$)' + regex: '(?:CW-(Hi8-super|Hi12|V99|V17HD3G|VX8-3G|V88-QUAD|V9-DUAL|V88S|Vi[78]|[HV]i10 (?:pro|plus))|Hi10 (?:Pro|plus)|HiPad X|HiBox-hero|HiBook pro|Hi[89] ?(?:Air|Pro))(?:[);/ ]|$)' device: 'tablet' models: - regex: '(CW-Hi8-super)(?:[);/ ]|$)' @@ -16659,8 +16656,8 @@ Chuwi: model: 'HiBook Pro' - regex: 'HiPad X(?:[);/ ]|$)' model: 'HiPad X' - - regex: 'Hi8 Air(?:[);/ ]|$)' - model: 'Hi8 Air' + - regex: 'Hi([89]) ?Air(?:[);/ ]|$)' + model: 'Hi$1 Air' - regex: 'Hi8 pro(?:[);/ ]|$)' model: 'Hi8 Pro' From ec681b83d14ace37e1e3f58676c9bbf11c1b29c2 Mon Sep 17 00:00:00 2001 From: sanchezzzhak Date: Thu, 10 Dec 2020 13:13:58 +0300 Subject: [PATCH 10/12] fix brand Leff --- Tests/fixtures/smartphone-19.yml | 20 +++++++++++++++++++- regexes/device/mobiles.yml | 4 ++-- 2 files changed, 21 insertions(+), 3 deletions(-) diff --git a/Tests/fixtures/smartphone-19.yml b/Tests/fixtures/smartphone-19.yml index bc795ecbca..9365978198 100644 --- a/Tests/fixtures/smartphone-19.yml +++ b/Tests/fixtures/smartphone-19.yml @@ -842,7 +842,7 @@ device: type: tv brand: Leff - model: HV320WHB-N55 + model: "" os_family: Android browser_family: Unknown - @@ -953,3 +953,21 @@ model: TAB 2 A7 os_family: Android browser_family: Chrome +- + user_agent: Mozilla/5.0 (Linux; Android 8.0.0; Leff Shell LC390TA2A Build/OPR5.170623.014; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/61.0.3163.98 Safari/537.36 + os: + name: Android + version: 8.0.0 + platform: "" + client: + type: browser + name: Chrome Webview + version: 61.0.3163.98 + engine: Blink + engine_version: "" + device: + type: tv + brand: Leff + model: "" + os_family: Android + browser_family: Chrome diff --git a/regexes/device/mobiles.yml b/regexes/device/mobiles.yml index 713b24013d..52a0e55dff 100644 --- a/regexes/device/mobiles.yml +++ b/regexes/device/mobiles.yml @@ -18358,9 +18358,9 @@ Silelis: # Leff Leff: - regex: 'Leff Shell (HV320WHB-N55)(?:[);/ ]|$)' + regex: 'Leff Shell (?:HV320WHB-N55|LC390TA2A)(?:[);/ ]|$)' device: 'tv' - model: '$1' + model: '' # Hardkernel (www.hardkernel.com) Hardkernel: From 0479b2a601358d890faf0c1e5395b1eaf10a15ac Mon Sep 17 00:00:00 2001 From: sanchezzzhak Date: Fri, 11 Dec 2020 12:21:38 +0300 Subject: [PATCH 11/12] feat(device) detect new brand Tanix model: TX5 Max feat(device) detect brand Lenovo model: Yoga Tab 3 Plus (YT-X703L) feat(device) detect brand Vivax model: Fly V1 issue #6517 --- Parser/Device/AbstractDeviceParser.php | 1 + Tests/fixtures/smartphone-19.yml | 37 ++++++++++++++++++++++++++ regexes/device/mobiles.yml | 13 ++++++++- 3 files changed, 50 insertions(+), 1 deletion(-) diff --git a/Parser/Device/AbstractDeviceParser.php b/Parser/Device/AbstractDeviceParser.php index 65649cf04e..2099115bca 100644 --- a/Parser/Device/AbstractDeviceParser.php +++ b/Parser/Device/AbstractDeviceParser.php @@ -703,6 +703,7 @@ abstract class AbstractDeviceParser extends AbstractParser 'X1' => 'Safaricom', 'TA' => 'Tesla', 'TK' => 'Takara', + '9N' => 'Tanix', '4T' => 'Tronsmart', '5R' => 'Transpeed', 'T5' => 'TB Touch', diff --git a/Tests/fixtures/smartphone-19.yml b/Tests/fixtures/smartphone-19.yml index 9365978198..fe1610f749 100644 --- a/Tests/fixtures/smartphone-19.yml +++ b/Tests/fixtures/smartphone-19.yml @@ -971,3 +971,40 @@ model: "" os_family: Android browser_family: Chrome +- + user_agent: Mozilla/5.0 (Linux; Android 6.0.1; Lenovo YT-X703L) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.86 Safari/537.36 + os: + name: Android + version: 6.0.1 + platform: "" + client: + type: browser + name: Chrome + version: 87.0.4280.86 + engine: Blink + engine_version: "" + device: + type: tablet + brand: Lenovo + model: Yoga Tab 3 Plus + os_family: Android + browser_family: Chrome +- + user_agent: Mozilla/5.0 (Linux; Android 8.0.0; VIVAX_Fly_V1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.132 Mobile Safari/537.36 + os: + name: Android + version: 8.0.0 + platform: "" + client: + type: browser + name: Chrome Mobile + version: 80.0.3987.132 + engine: Blink + engine_version: "" + device: + type: smartphone + brand: Vivax + model: Fly V1 + os_family: Android + browser_family: Chrome + diff --git a/regexes/device/mobiles.yml b/regexes/device/mobiles.yml index 52a0e55dff..79250a8d38 100644 --- a/regexes/device/mobiles.yml +++ b/regexes/device/mobiles.yml @@ -3685,7 +3685,7 @@ Condor: # Coolpad Coolpad: - regex: '(?:YL-)?Coolpad|(?:Cool_9S|8190Q|1831-A0|8676-[AM]01|CP8298_I00|CP3648A|CP8676_I0[23]|REVVLPLUS C3701A|VCR-[AI]0|C105-E0|C106-[79]|MTS-T0|cp3705A[S]?|ORL-C0|DLS-E0|8298-M02|5560S)(?:[);/ ]|$)|(8295|5860S) Build' + regex: '(?:YL-)?Coolpad|(?:Cool_9S|8190Q|1831-A0|8676-[AM]01|CP8298_I00|CP3648A|CP8676_I0[23]|REVVLPLUS C3701A|VCR-[AI]0|C105-E0|C106-[79]| C106|MTS-T0|cp3705A[S]?|ORL-C0|DLS-E0|8298-M02|5560S)(?:[);/ ]|$)|(8295|5860S) Build' device: 'smartphone' models: - regex: 'VCR-[AI]0' @@ -8196,6 +8196,9 @@ Lenovo: - regex: 'YT3-850M' model: 'Yoga Tab 3 10' device: 'tablet' + - regex: 'YT-X703L' + model: 'Yoga Tab 3 Plus' + device: 'tablet' - regex: 'S6000(?:[);/ ]|$)' model: 'IdeaTab S6000' @@ -12728,6 +12731,12 @@ Thomson: device: 'smartphone' model: 'Every$1' +# Tanix +Tanix: + regex: 'TX5 MAX(?:[);/ ]|$)' + device: 'tv' + model: 'TX5 Max' + # pantech Pantech: regex: 'Pantech|P[GN]-|PT-[a-z0-9]{3,}|TX[T]?[0-9]+|IM-[a-z0-9]+(?:[);/ ]|$)|ADR910L' @@ -15331,6 +15340,8 @@ Vivax: model: 'Fun S500' - regex: 'VIVAX[ _]Fly3(?:[);/ ]|$)' model: 'Fly 3' + - regex: 'VIVAX[ _]Fly[ _]V1(?:[);/ ]|$)' + model: 'Fly V1' - regex: 'VIVAX (Point X551)(?:[);/ ]|$)' model: '$1' - regex: 'SMART Point X5010(?:[);/ ]|$)' From 7eaaa08965ef1668d69454431656baf9bc0ab41b Mon Sep 17 00:00:00 2001 From: sanchezzzhak Date: Fri, 11 Dec 2020 12:24:01 +0300 Subject: [PATCH 12/12] feat(test) added test for brand Tanix model: TX5 Max issue #6517 --- Tests/fixtures/smartphone-19.yml | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/Tests/fixtures/smartphone-19.yml b/Tests/fixtures/smartphone-19.yml index fe1610f749..318ce15782 100644 --- a/Tests/fixtures/smartphone-19.yml +++ b/Tests/fixtures/smartphone-19.yml @@ -1007,4 +1007,21 @@ model: Fly V1 os_family: Android browser_family: Chrome - +- + user_agent: Mozilla/5.0 (Linux; Android 8.1.0; TX5 MAX) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.198 Safari/537.36 + os: + name: Android + version: 8.1.0 + platform: "" + client: + type: browser + name: Chrome + version: 86.0.4240.198 + engine: Blink + engine_version: "" + device: + type: tv + brand: Tanix + model: TX5 Max + os_family: Android + browser_family: Chrome