diff --git a/Parser/Device/AbstractDeviceParser.php b/Parser/Device/AbstractDeviceParser.php index 051a088bfc..0911f48190 100644 --- a/Parser/Device/AbstractDeviceParser.php +++ b/Parser/Device/AbstractDeviceParser.php @@ -243,7 +243,6 @@ abstract class AbstractDeviceParser extends AbstractParser 'BO' => 'BangOlufsen', 'BN' => 'Barnes & Noble', 'BAR' => 'BARTEC', - 'BAS' => 'BASE', 'BAU' => 'BAUHN', 'BB' => 'BBK', '0B' => 'BB Mobile', @@ -380,9 +379,8 @@ abstract class AbstractDeviceParser extends AbstractParser '25' => 'Claresta', 'CLA' => 'CLAYTON', 'CLT' => 'Clovertek', - '1J' => 'Cloud', + '1J' => 'Cloud Mobile', 'CD' => 'Cloudfone', - '6C' => 'Cloudpad', 'C0' => 'Clout', 'CN' => 'CnM', 'CY' => 'Coby Kyros', @@ -447,7 +445,6 @@ abstract class AbstractDeviceParser extends AbstractParser '7D' => 'Datamini', '6D' => 'Datalogic', 'D1' => 'Datsun', - 'DZ' => 'Dazen', 'DAS' => 'DASS', 'DAW' => 'Dawlance', 'DB' => 'Dbtel', @@ -477,25 +474,25 @@ abstract class AbstractDeviceParser extends AbstractParser 'DH' => 'Digihome', 'DD' => 'Digiland', 'DIJ' => 'DIJITSU', - 'DIG' => 'Digit4G', + 'DIG' => 'Digit', 'DIC' => 'DIGICOM', 'Q0' => 'DIGIFORS', 'DIK' => 'DIKOM', 'DQ' => 'DISH', 'DIS' => 'Disney', - '9D' => 'Ditecma', 'D2' => 'Digma', '1D' => 'Diva', 'DIV' => 'DiverMax', 'D6' => 'Divisat', 'DIO' => 'DIORA', 'DIF' => 'Diofox', - 'X6' => 'DIXON', 'DIM' => 'DIMO', - '5D' => 'DING DING', 'DIN' => 'Dinax', 'DNA' => 'Dinalink', - 'DM' => 'DMM', + '5D' => 'DING DING', + '9D' => 'Ditecma', + 'X6' => 'DIXON', + 'DM' => 'Dream Multimedia', 'DMO' => 'DMOAO', 'DN' => 'DNS', 'DC' => 'DoCoMo', @@ -516,7 +513,6 @@ abstract class AbstractDeviceParser extends AbstractParser 'DJ' => 'Dragon Touch', 'DRA' => 'DRAGON', 'DY' => 'Dreamgate', - 'DRE' => 'DreamTab', 'DR1' => 'DreamStar', 'DTA' => 'Dtac', 'DU' => 'Dune HD', @@ -568,7 +564,6 @@ abstract class AbstractDeviceParser extends AbstractParser 'UE' => 'Ematic', 'EMR' => 'Emporia', '4K' => 'EKT', - 'EKI' => 'EKINOX', '7E' => 'ELARI', '03' => 'Electroneum', 'Z8' => 'ELECTRONIA', @@ -589,6 +584,7 @@ abstract class AbstractDeviceParser extends AbstractParser '3E' => 'Enot', 'ENT' => 'Entity', 'ENV' => 'Envizen', + 'Q1' => 'EPIK Learning', '8E' => 'Epik One', 'EPK' => 'Epic', 'XP' => 'Epson', @@ -597,7 +593,6 @@ abstract class AbstractDeviceParser extends AbstractParser 'E7' => 'Ergo', 'EC' => 'Ericsson', '05' => 'Erisson', - 'ER' => 'Ericy', 'EE' => 'Essential', 'E2' => 'Essentielb', '6E' => 'eSTAR', @@ -622,6 +617,7 @@ abstract class AbstractDeviceParser extends AbstractParser '5U' => 'EVPAD', 'EVV' => 'evvoli', 'E0' => 'EvroMedia', + 'EXR' => 'Exertis', 'XE' => 'ExMobile', '4Z' => 'Exmart', 'EH' => 'EXO', @@ -635,7 +631,6 @@ abstract class AbstractDeviceParser extends AbstractParser 'EZ' => 'Ezze', 'UF' => 'EYU', 'EYE' => 'Eyemoo', - 'UE1' => 'UE', '5F' => 'F150', 'FPS' => 'F+', 'F6' => 'Facebook', @@ -739,8 +734,8 @@ abstract class AbstractDeviceParser extends AbstractParser 'GJ' => 'Ghost', 'GG' => 'Gigabyte', 'GS' => 'Gigaset', - 'GZ' => 'Ginzzu', '1G' => 'Gini', + 'GZ' => 'Ginzzu', 'GI' => 'Gionee', 'GIR' => 'GIRASOLE', 'G4' => 'Globex', @@ -821,7 +816,6 @@ abstract class AbstractDeviceParser extends AbstractParser 'HIH' => 'HiHi', 'HIK' => 'HiKing', 'H2' => 'Highscreen', - 'Q1' => 'High Q', 'HI1' => 'HIGH1ONE', 'HIG' => 'HiGrace', '1H' => 'Hipstreet', @@ -832,7 +826,6 @@ abstract class AbstractDeviceParser extends AbstractParser 'H8' => 'Hitech', 'W3' => 'HiMax', '8X' => 'Hi Nova', - 'HLL' => 'HLLO', 'HKC' => 'HKC', 'HMD' => 'HMD', '8W' => 'HKPro', @@ -850,7 +843,7 @@ abstract class AbstractDeviceParser extends AbstractParser 'H7' => 'Horizon', '4H' => 'Horizont', 'HO' => 'Hosin', - 'H3' => 'Hotel', + 'H3' => 'Hotel TV Company', 'HV' => 'Hotwav', 'U8' => 'Hot Pepper', 'HOT' => 'HOTACK', @@ -1007,6 +1000,7 @@ abstract class AbstractDeviceParser extends AbstractParser 'K6' => 'Kanji', 'KA' => 'Karbonn', 'K5' => 'KATV1', + 'ROI' => 'KAP', 'KAP' => 'Kapsys', 'K0' => 'Kata', 'KZ' => 'Kazam', @@ -1024,6 +1018,7 @@ abstract class AbstractDeviceParser extends AbstractParser 'K1' => 'Kiano', 'KID' => 'kidiby', '5W' => 'Kingbox', + 'S4' => 'Kingelon', 'KI' => 'Kingsun', 'KIS' => 'Kinstone', 'KF' => 'KINGZONE', @@ -1122,7 +1117,6 @@ abstract class AbstractDeviceParser extends AbstractParser 'LOG' => 'Logik', 'LGT' => 'Logitech', 'GY' => 'LOKMAT', - 'LPX' => 'LPX-G', '0L' => 'Lumigon', 'LU' => 'Lumus', 'LUM' => 'Lumitel', @@ -1177,7 +1171,7 @@ abstract class AbstractDeviceParser extends AbstractParser 'FK' => 'MBI', 'MBK' => 'MBK', '3D' => 'MDC Store', - '1Y' => 'MDTV', + '1Y' => 'OTT', '09' => 'meanIT', 'M3' => 'Mecer', 'M3M' => 'M3 Mobile', @@ -1224,8 +1218,7 @@ abstract class AbstractDeviceParser extends AbstractParser 'MIW' => 'MIWANG', 'ML' => 'MLLED', 'LS' => 'MLS', - 'MLA' => 'MLAB', - '5H' => 'MMI', + 'MLA' => 'Microlab', '4M' => 'Mobicel', 'M6' => 'Mobiistar', 'MOK' => 'Mobile Kingdom', @@ -1428,10 +1421,10 @@ abstract class AbstractDeviceParser extends AbstractParser 'O6' => 'Oyyu', 'OZ' => 'OzoneHD', 'OLL' => 'Ollee', - '7P' => 'P-UP', + '7P' => 'Mode 1', 'PRA' => 'Pacific Research Alliance', 'PAG' => 'PAGRAER', - 'PAD' => 'Padpro', + 'PAD' => '7Ke tree', 'YP' => 'Paladin', 'PM' => 'Palm', 'PN' => 'Panacom', @@ -1452,11 +1445,11 @@ abstract class AbstractDeviceParser extends AbstractParser 'PC' => 'PCD', 'PD' => 'PCD Argentina', 'PE' => 'PEAQ', + '8J' => 'Pelitt', 'PEN' => 'Penta', 'PG' => 'Pentagram', 'PQ' => 'Pendoo', '93' => 'Perfeo', - '8J' => 'Pelitt', '1P' => 'Phicomm', '4P' => 'Philco', 'PH' => 'Philips', @@ -1495,6 +1488,7 @@ abstract class AbstractDeviceParser extends AbstractParser '3P' => 'Positivo BGH', '3F' => 'Porsche', 'PRT' => 'Portfolio', + 'DRE' => 'Powerway', 'PPD' => 'PPDS', 'P3' => 'PPTV', 'FP' => 'Premio', @@ -1528,10 +1522,11 @@ abstract class AbstractDeviceParser extends AbstractParser 'QM' => 'QMobile', 'QT' => 'Qtek', 'Q9' => 'QTECH', + '84' => 'Quanta Computer', 'QA' => 'Quantum', - 'QUE' => 'Quest', 'QUA' => 'Quatro', 'QU' => 'Quechua', + 'QUE' => 'Quest', 'QUI' => 'Quipus', 'QO' => 'Qumo', 'UQ' => 'Qubo', @@ -1589,13 +1584,12 @@ abstract class AbstractDeviceParser extends AbstractParser 'ROC' => 'Roam Cat', 'ROT' => 'Rocket', 'R1' => 'Rokit', - 'ROI' => 'ROiK', 'RK' => 'Roku', 'R3' => 'Rombica', 'RUA' => 'Romsat', 'R5' => 'Ross&Moor', 'RO' => 'Rover', - 'R6' => 'RoverPad', + 'R6' => 'Rover Computers', 'RQ' => 'RoyQueen', 'RJ' => 'Royole', 'RT' => 'RT Project', @@ -1726,17 +1720,15 @@ abstract class AbstractDeviceParser extends AbstractParser '68' => 'Soho Style', 'SOB' => 'SobieTech', 'SOW' => 'SOWLY', - 'PK' => 'Spark', + 'PK' => 'Spark NZ', 'SPX' => 'Sparx', 'FS' => 'SPC', '6S' => 'Spectrum', '43' => 'Spectralink', 'SP' => 'Spice', 'SPD' => 'Spider', - '84' => 'Sprint', 'SPU' => 'SPURT', 'QS' => 'SQOOL', - 'S4' => 'Star', 'OL' => 'Starlight', 'STA' => 'Star-Light', '18' => 'Starmobile', @@ -1747,7 +1739,7 @@ abstract class AbstractDeviceParser extends AbstractParser 'GQ' => 'STG Telecom', 'S2' => 'Stonex', 'ST' => 'Storex', - 'STR' => 'Stream', + 'STR' => 'StreamSystem', '71' => 'StrawBerry', '96' => 'STRONG', '69' => 'Stylo', @@ -1788,6 +1780,7 @@ abstract class AbstractDeviceParser extends AbstractParser 'SM' => 'Symphony', '4S' => 'Syrox', 'SYS' => 'System76', + 'TPS' => 'SZ TPS', 'TM' => 'T-Mobile', 'T96' => 'T96', 'TAD' => 'TADAAM', @@ -1806,13 +1799,12 @@ abstract class AbstractDeviceParser extends AbstractParser 'H4' => 'Technicolor', 'TEA' => 'TeachTouch', 'Z5' => 'Technika', - 'TE1' => 'TechSmart', + 'TE1' => 'Techmade', 'TX' => 'TechniSat', 'TT' => 'TechnoTrend', 'TTS' => 'TECHNOSAT', 'TM1' => 'Temigereev', 'TP' => 'TechPad', - 'TPS' => 'TPS', '9E' => 'Techwood', '7F' => 'Technopc', 'TCH' => 'Techstorm', @@ -1832,6 +1824,7 @@ abstract class AbstractDeviceParser extends AbstractParser 'PW' => 'Telpo', 'TLS' => 'TeloSystems', 'TER' => 'Teracube', + 'WR' => 'Terra', 'TD' => 'Tesco', 'TA' => 'Tesla', '9T' => 'Tetratab', @@ -1909,8 +1902,7 @@ abstract class AbstractDeviceParser extends AbstractParser 'TV' => 'TVC', 'TVP' => 'TV+', 'TW' => 'TWM', - 'Z1' => 'TWZ', - '6T' => 'Twoe', + 'Z1' => 'TWZ Corporation', 'TWN' => 'TwinMOS', '15' => 'Tymes', 'UC' => 'U.S. Cellular', @@ -1932,6 +1924,7 @@ abstract class AbstractDeviceParser extends AbstractParser 'UNI' => 'Unistrong', 'U2' => 'UNIWA', 'UND' => 'Uniden', + 'BAS' => 'Unikalne Smartphones', 'UNE' => 'UNITED', 'UGR' => 'United Group', 'UO' => 'Unnecto', @@ -2035,7 +2028,7 @@ abstract class AbstractDeviceParser extends AbstractParser 'VRX' => 'VORTEX (RO)', 'VOR' => 'Vormor', 'V1' => 'Voto', - 'Z7' => 'VOX', + 'Z7' => 'VOX Electronics', 'VOI' => 'VOIX', 'VO' => 'Voxtel', 'VY' => 'Voyo', @@ -2058,7 +2051,6 @@ abstract class AbstractDeviceParser extends AbstractParser 'WAL' => 'Waltter', 'WAI' => 'Wainyok', 'WAT' => 'waipu.tv', - 'WHI' => 'White Mobile', 'WHO' => 'Whoop', 'WBL' => 'We. by Loewe.', 'WCP' => 'WeChip', @@ -2069,7 +2061,7 @@ abstract class AbstractDeviceParser extends AbstractParser 'WD' => 'Western Digital', 'WST' => 'Weston', 'WT' => 'Westpoint', - 'WAN' => 'Wanmukang', + 'WAN' => 'Zhongyu Display', 'WA1' => 'WANSA', 'WY' => 'Wexler', '3W' => 'WE', @@ -2096,7 +2088,6 @@ abstract class AbstractDeviceParser extends AbstractParser 'WON' => 'WONDER', 'WO' => 'Wonu', 'W1' => 'Woo', - 'WR' => 'Wortmann', 'WX' => 'Woxter', 'WOZ' => 'WOZIFAN', 'XQ' => 'X-AGE', @@ -2197,6 +2188,37 @@ abstract class AbstractDeviceParser extends AbstractParser // legacy brands, might be removed in future versions 'WB' => 'Web TV', 'XX' => 'Unknown', + // Brands that were "moved" to other brands by renaming and result in duplicates. + // Old names can be seen in $legacyShortNames + '6T' => '2E', + '5H' => 'ARRIS', + 'WHI' => 'Cherry Mobile', + '6C' => 'Cloudfone', + 'DZ' => 'Coolpad', + 'ER' => 'Ericsson', + 'HLL' => 'Exertis', + 'EKI' => 'iGet', + 'LPX' => 'OTT', + 'UE1' => 'Newman', + ]; + + /** + * List of short names, that are not used due to brand being moved to another one. + * Meant for merger with `$deviceBrands` in certain functions. + * + * @var array + */ + public static $legacyShortNames = [ + '6T' => 'Twoe', + '5H' => 'MMI', + 'WHI' => 'White Mobile', + '6C' => 'Cloudpad', + 'DZ' => 'Dazen', + 'ER' => 'Ericy', + 'HLL' => 'HLLO', + 'EKI' => 'EKINOX', + 'LPX' => 'LPX-G', + 'UE1' => 'UE', ]; /** @@ -2311,7 +2333,7 @@ public static function getFullName(string $brandId): string */ public static function getShortCode(string $brand): string { - return (string) \array_search($brand, self::$deviceBrands, true) ?: ''; + return (string) \array_search($brand, self::$legacyShortNames + self::$deviceBrands, true) ?: ''; } /** diff --git a/Tests/DeviceDetectorTest.php b/Tests/DeviceDetectorTest.php index 18c0859a3d..c87a638eb1 100644 --- a/Tests/DeviceDetectorTest.php +++ b/Tests/DeviceDetectorTest.php @@ -837,7 +837,7 @@ public function testCheckRegexRestrictionEndCondition(): void */ public function testDuplicateBrands(): void { - $brands = \array_map('strtolower', AbstractDeviceParser::$deviceBrands); + $brands = \array_map('strtolower', AbstractDeviceParser::$legacyShortNames + AbstractDeviceParser::$deviceBrands); $unique = \array_unique($brands); $duplicates = \array_diff_assoc($brands, $unique); diff --git a/Tests/fixtures/car_browser.yml b/Tests/fixtures/car_browser.yml index 41921622a8..0276913838 100644 --- a/Tests/fixtures/car_browser.yml +++ b/Tests/fixtures/car_browser.yml @@ -625,8 +625,8 @@ engine_version: 110.0.0.0 device: type: car browser - brand: ROiK - model: "10" + brand: KAP + model: ROiK-10 os_family: Android browser_family: Chrome - diff --git a/Tests/fixtures/desktop.yml b/Tests/fixtures/desktop.yml index 182da08b9a..0edea2882b 100644 --- a/Tests/fixtures/desktop.yml +++ b/Tests/fixtures/desktop.yml @@ -8536,7 +8536,7 @@ engine_version: 103.0.0.0 device: type: desktop - brand: Wanmukang + brand: Zhongyu Display model: ZC-339 os_family: Android browser_family: Chrome diff --git a/Tests/fixtures/feature_phone.yml b/Tests/fixtures/feature_phone.yml index f42327c83d..1e1dac8235 100644 --- a/Tests/fixtures/feature_phone.yml +++ b/Tests/fixtures/feature_phone.yml @@ -2775,8 +2775,8 @@ engine_version: "48.0" device: type: feature phone - brand: Digit4G - model: Bold + brand: Digit + model: Digit4G Bold os_family: Firefox OS browser_family: Firefox - @@ -2793,8 +2793,8 @@ engine_version: "48.0" device: type: feature phone - brand: Digit4G - model: Defender + brand: Digit + model: Digit4G Defender os_family: Firefox OS browser_family: Firefox - @@ -2811,8 +2811,8 @@ engine_version: "48.0" device: type: feature phone - brand: Digit4G - model: Elite + brand: Digit + model: Digit4G Elite os_family: Firefox OS browser_family: Firefox - @@ -2829,8 +2829,8 @@ engine_version: "48.0" device: type: feature phone - brand: Digit4G - model: Music + brand: Digit + model: Digit4G Music os_family: Firefox OS browser_family: Firefox - @@ -2847,8 +2847,8 @@ engine_version: "48.0" device: type: feature phone - brand: Digit4G - model: Power + brand: Digit + model: Digit4G Power os_family: Firefox OS browser_family: Firefox - @@ -2865,8 +2865,8 @@ engine_version: "48.0" device: type: feature phone - brand: Digit4G - model: Star + brand: Digit + model: Digit4G Star os_family: Firefox OS browser_family: Firefox - @@ -2883,8 +2883,8 @@ engine_version: "48.0" device: type: feature phone - brand: Digit4G - model: Lite + brand: Digit + model: Digit4G Lite os_family: Firefox OS browser_family: Firefox - @@ -2901,8 +2901,8 @@ engine_version: "48.0" device: type: feature phone - brand: Digit4G - model: Power Max + brand: Digit + model: Digit4G Power Max os_family: Firefox OS browser_family: Firefox - @@ -2919,8 +2919,8 @@ engine_version: "48.0" device: type: feature phone - brand: Digit4G - model: Shine + brand: Digit + model: Digit4G Shine os_family: Firefox OS browser_family: Firefox - diff --git a/Tests/fixtures/phablet-1.yml b/Tests/fixtures/phablet-1.yml index 2b618bcaab..6134acdc27 100644 --- a/Tests/fixtures/phablet-1.yml +++ b/Tests/fixtures/phablet-1.yml @@ -2811,8 +2811,8 @@ engine_version: 86.0.4240.110 device: type: phablet - brand: P-UP - model: Mode 1 RR + brand: Mode 1 + model: RR os_family: Android browser_family: Chrome - diff --git a/Tests/fixtures/phablet.yml b/Tests/fixtures/phablet.yml index 1eedf4ddec..960575f86f 100644 --- a/Tests/fixtures/phablet.yml +++ b/Tests/fixtures/phablet.yml @@ -6220,8 +6220,8 @@ engine_version: 86.0.4240.185 device: type: phablet - brand: P-UP - model: Mode 1 RS + brand: Mode 1 + model: RS os_family: Android browser_family: Chrome - diff --git a/Tests/fixtures/smartphone-11.yml b/Tests/fixtures/smartphone-11.yml index f8a1e3e046..1ed01288d0 100644 --- a/Tests/fixtures/smartphone-11.yml +++ b/Tests/fixtures/smartphone-11.yml @@ -6774,7 +6774,7 @@ engine_version: 78.0.3904.96 device: type: smartphone - brand: RoverPad + brand: Rover Computers model: "" os_family: Android browser_family: Chrome diff --git a/Tests/fixtures/smartphone-12.yml b/Tests/fixtures/smartphone-12.yml index 5371ddfd0e..2b2328cb94 100644 --- a/Tests/fixtures/smartphone-12.yml +++ b/Tests/fixtures/smartphone-12.yml @@ -621,7 +621,7 @@ engine_version: 43.0.2357.92 device: type: smartphone - brand: Star + brand: Kingelon model: N8800 os_family: Android browser_family: Chrome @@ -639,7 +639,7 @@ engine_version: 40.0.2214.109 device: type: smartphone - brand: Star + brand: Kingelon model: N9500 os_family: Android browser_family: Chrome @@ -657,7 +657,7 @@ engine_version: "534.30" device: type: smartphone - brand: Star + brand: Kingelon model: N9600 os_family: Android browser_family: Android Browser @@ -675,7 +675,7 @@ engine_version: 34.0.1847.114 device: type: smartphone - brand: Star + brand: Kingelon model: N9700 os_family: Android browser_family: Chrome @@ -693,7 +693,7 @@ engine_version: "534.30" device: type: smartphone - brand: Star + brand: Kingelon model: N9800 os_family: Android browser_family: Android Browser @@ -711,7 +711,7 @@ engine_version: "534.30" device: type: smartphone - brand: Star + brand: Kingelon model: N9977 os_family: Android browser_family: Android Browser @@ -729,8 +729,9 @@ engine_version: 30.0.0.0 device: type: smartphone - brand: Star - model: Note 3 + brand: Kingelon + #Previously "Note 3", probably because this is Samsung Note 3 clone, but officially it's N9000. Similar model was released as "Note 3" under 5Star brand + model: N9000 os_family: Android browser_family: Chrome - @@ -10783,8 +10784,8 @@ engine_version: 104.0.0.0 device: type: smartphone - brand: Digit4G - model: Play1 + brand: Digit + model: Digit4G Play1 os_family: Android browser_family: Chrome - diff --git a/Tests/fixtures/smartphone-15.yml b/Tests/fixtures/smartphone-15.yml index dc764050e4..b8d88265e5 100644 --- a/Tests/fixtures/smartphone-15.yml +++ b/Tests/fixtures/smartphone-15.yml @@ -9532,8 +9532,9 @@ engine_version: 103.0.0.0 device: type: smartphone - brand: H133 - model: Betacrux + brand: Ceibal + #https://ceibal.edu.uy/institucional/articulos/hardware-beta-crux/ + model: H133 Beta Crux os_family: Android browser_family: Chrome - diff --git a/Tests/fixtures/smartphone-19.yml b/Tests/fixtures/smartphone-19.yml index 2c7c3d8e3c..2caeb31d27 100644 --- a/Tests/fixtures/smartphone-19.yml +++ b/Tests/fixtures/smartphone-19.yml @@ -3073,7 +3073,7 @@ engine_version: 85.0.4183.81 device: type: smartphone - brand: Twoe + brand: 2E model: F534L os_family: Android browser_family: Chrome @@ -3091,7 +3091,7 @@ engine_version: 85.0.4183.81 device: type: smartphone - brand: Twoe + brand: 2E model: F572L os_family: Android browser_family: Chrome diff --git a/Tests/fixtures/smartphone-2.yml b/Tests/fixtures/smartphone-2.yml index ec4b01d968..504719920c 100644 --- a/Tests/fixtures/smartphone-2.yml +++ b/Tests/fixtures/smartphone-2.yml @@ -9300,7 +9300,7 @@ engine_version: 87.0.4280.141 device: type: smartphone - brand: Spark + brand: Spark NZ model: Plus 3 os_family: Android browser_family: Chrome diff --git a/Tests/fixtures/smartphone-21.yml b/Tests/fixtures/smartphone-21.yml index 02b2b91941..1256b5e8e7 100644 --- a/Tests/fixtures/smartphone-21.yml +++ b/Tests/fixtures/smartphone-21.yml @@ -2765,7 +2765,7 @@ engine_version: 76.0.3809.89 device: type: smartphone - brand: TWZ + brand: TWZ Corporation model: Y60 os_family: Android browser_family: Chrome @@ -2783,7 +2783,7 @@ engine_version: 75.0.3770.143 device: type: smartphone - brand: TWZ + brand: TWZ Corporation model: Y68 os_family: Android browser_family: Chrome @@ -2801,7 +2801,7 @@ engine_version: 71.0.3578.99 device: type: smartphone - brand: TWZ + brand: TWZ Corporation model: A49 os_family: Android browser_family: Opera @@ -2819,7 +2819,7 @@ engine_version: 73.0.3683.90 device: type: smartphone - brand: TWZ + brand: TWZ Corporation model: A55 os_family: Android browser_family: Chrome @@ -2837,7 +2837,7 @@ engine_version: 30.0.0.0 device: type: smartphone - brand: TWZ + brand: TWZ Corporation model: A567 os_family: Android browser_family: Chrome @@ -2855,7 +2855,7 @@ engine_version: "534.30" device: type: smartphone - brand: TWZ + brand: TWZ Corporation model: AA8 os_family: Android browser_family: Android Browser @@ -2873,7 +2873,7 @@ engine_version: 30.0.0.0 device: type: smartphone - brand: TWZ + brand: TWZ Corporation model: QQ2 os_family: Android browser_family: Chrome @@ -2891,7 +2891,7 @@ engine_version: 30.0.0.0 device: type: smartphone - brand: TWZ + brand: TWZ Corporation model: QQ1 os_family: Android browser_family: Chrome @@ -2909,7 +2909,7 @@ engine_version: "534.30" device: type: smartphone - brand: TWZ + brand: TWZ Corporation model: A95 os_family: Android browser_family: Android Browser @@ -2927,7 +2927,7 @@ engine_version: 39.0.0.0 device: type: smartphone - brand: TWZ + brand: TWZ Corporation model: Y52 os_family: Android browser_family: Chrome diff --git a/Tests/fixtures/smartphone-22.yml b/Tests/fixtures/smartphone-22.yml index 58e6273874..85ede81ed1 100644 --- a/Tests/fixtures/smartphone-22.yml +++ b/Tests/fixtures/smartphone-22.yml @@ -1183,8 +1183,8 @@ engine_version: "" device: type: smartphone - brand: Hisense - model: Smartfren Andromax U2 + brand: Smartfren + model: Andromax U2 os_family: Android browser_family: Opera - @@ -5963,7 +5963,7 @@ engine_version: 89.0.4389.90 device: type: smartphone - brand: Twoe + brand: 2E model: E500A os_family: Android browser_family: Chrome diff --git a/Tests/fixtures/smartphone-23.yml b/Tests/fixtures/smartphone-23.yml index e6e89cd3e0..909c059eed 100644 --- a/Tests/fixtures/smartphone-23.yml +++ b/Tests/fixtures/smartphone-23.yml @@ -3541,8 +3541,8 @@ engine_version: 67.0.3396.87 device: type: smartphone - brand: P-UP - model: Mode 1 MD-01P + brand: Mode 1 + model: MD-01P os_family: Android browser_family: Chrome - diff --git a/Tests/fixtures/smartphone-28.yml b/Tests/fixtures/smartphone-28.yml index e84d5fafd6..53d60c8bb9 100644 --- a/Tests/fixtures/smartphone-28.yml +++ b/Tests/fixtures/smartphone-28.yml @@ -2639,7 +2639,7 @@ engine_version: 94.0.4606.85 device: type: smartphone - brand: Cloud + brand: Cloud Mobile model: Stratus C5 os_family: Android browser_family: Chrome @@ -2675,7 +2675,7 @@ engine_version: 95.0.4638.74 device: type: smartphone - brand: Cloud + brand: Cloud Mobile model: Cyclone C4 os_family: Android browser_family: Chrome diff --git a/Tests/fixtures/smartphone-3.yml b/Tests/fixtures/smartphone-3.yml index 916fb8f457..ddb820bb33 100644 --- a/Tests/fixtures/smartphone-3.yml +++ b/Tests/fixtures/smartphone-3.yml @@ -10710,8 +10710,8 @@ engine_version: 94.0.4606.71 device: type: smartphone - brand: Dazen - model: 6A + brand: Coolpad + model: Dazen 6A os_family: Android browser_family: Chrome - @@ -12652,7 +12652,7 @@ engine_version: 89.0.4389.105 device: type: smartphone - brand: Cloud + brand: Cloud Mobile model: Storm C3 os_family: Android browser_family: Chrome @@ -12866,7 +12866,7 @@ engine_version: 96.0.4664.45 device: type: smartphone - brand: Cloud + brand: Cloud Mobile model: Stratus C5 Elite os_family: Android browser_family: Chrome diff --git a/Tests/fixtures/smartphone-31.yml b/Tests/fixtures/smartphone-31.yml index 3ecd824f22..2aef8db01c 100644 --- a/Tests/fixtures/smartphone-31.yml +++ b/Tests/fixtures/smartphone-31.yml @@ -445,7 +445,7 @@ engine_version: 80.0.3987.99 device: type: smartphone - brand: Cloud + brand: Cloud Mobile model: Cirrus C2 os_family: Android browser_family: Chrome @@ -9813,7 +9813,7 @@ engine_version: 85.0.4183.81 device: type: smartphone - brand: Stream + brand: StreamSystem model: B3 Maxi os_family: Android browser_family: Chrome @@ -9831,7 +9831,7 @@ engine_version: 84.0.4147.89 device: type: smartphone - brand: Stream + brand: StreamSystem model: B3 Simply os_family: Android browser_family: Chrome diff --git a/Tests/fixtures/smartphone-32.yml b/Tests/fixtures/smartphone-32.yml index 4b2e80df6a..ac875fe938 100644 --- a/Tests/fixtures/smartphone-32.yml +++ b/Tests/fixtures/smartphone-32.yml @@ -8617,7 +8617,7 @@ engine_version: 87.0.4280.101 device: type: smartphone - brand: Stream + brand: StreamSystem model: B3 Pro os_family: Android browser_family: Chrome @@ -9085,7 +9085,7 @@ engine_version: 86.0.4240.185 device: type: smartphone - brand: Stream + brand: StreamSystem model: B1s os_family: Android browser_family: Chrome diff --git a/Tests/fixtures/smartphone-33.yml b/Tests/fixtures/smartphone-33.yml index 0a54f7c5de..0137b99946 100644 --- a/Tests/fixtures/smartphone-33.yml +++ b/Tests/fixtures/smartphone-33.yml @@ -5391,7 +5391,7 @@ engine_version: 86.0.4240.99 device: type: smartphone - brand: White Mobile + brand: Cherry Mobile model: Omega Lite 3 os_family: Android browser_family: Chrome diff --git a/Tests/fixtures/smartphone-34.yml b/Tests/fixtures/smartphone-34.yml index a0846e9b55..dc534dbdd4 100644 --- a/Tests/fixtures/smartphone-34.yml +++ b/Tests/fixtures/smartphone-34.yml @@ -6991,7 +6991,7 @@ engine_version: "534.30" device: type: smartphone - brand: Star + brand: Kingelon model: N9589 os_family: Android browser_family: Chrome diff --git a/Tests/fixtures/smartphone-35.yml b/Tests/fixtures/smartphone-35.yml index a27321e1e5..3626ab6c6f 100644 --- a/Tests/fixtures/smartphone-35.yml +++ b/Tests/fixtures/smartphone-35.yml @@ -659,7 +659,7 @@ engine_version: 80.0.3987.162 device: type: smartphone - brand: TWZ + brand: TWZ Corporation model: OX X1 os_family: Android browser_family: Chrome @@ -2063,7 +2063,7 @@ engine_version: 111.0.0.0 device: type: smartphone - brand: Cloud + brand: Cloud Mobile model: Stratus C7 os_family: Android browser_family: Chrome @@ -8015,7 +8015,7 @@ engine_version: 85.0.4183.81 device: type: smartphone - brand: Stream + brand: StreamSystem model: HT28 os_family: Android browser_family: Chrome @@ -8031,7 +8031,7 @@ version: 305.0.0.12.106 device: type: smartphone - brand: Stream + brand: StreamSystem model: HT16 os_family: Android browser_family: Unknown diff --git a/Tests/fixtures/smartphone-36.yml b/Tests/fixtures/smartphone-36.yml index 1dd018f07f..ea6e20eaca 100644 --- a/Tests/fixtures/smartphone-36.yml +++ b/Tests/fixtures/smartphone-36.yml @@ -211,8 +211,8 @@ engine_version: 87.0.4280.101 device: type: smartphone - brand: EKINOX - model: E8 Ultra + brand: iGet + model: EKINOX E8 Ultra os_family: Android browser_family: Chrome - @@ -4657,8 +4657,8 @@ engine_version: 84.0.4147.111 device: type: smartphone - brand: TechSmart - model: T6 + brand: Techmade + model: TechSmart T6 os_family: Android browser_family: Chrome - @@ -4675,8 +4675,8 @@ engine_version: 76.0.3809.111 device: type: smartphone - brand: TechSmart - model: T5+ + brand: Techmade + model: TechSmart T5+ os_family: Android browser_family: Chrome - diff --git a/Tests/fixtures/smartphone-37.yml b/Tests/fixtures/smartphone-37.yml index 8e4c2c398a..2979220ec9 100644 --- a/Tests/fixtures/smartphone-37.yml +++ b/Tests/fixtures/smartphone-37.yml @@ -2015,8 +2015,8 @@ engine_version: "533.1" device: type: smartphone - brand: BASE - model: Varia + brand: Unikalne Smartphones + model: BASE Varia os_family: Android browser_family: Android Browser - @@ -4343,8 +4343,8 @@ engine_version: 57.0.2987.108 device: type: smartphone - brand: Digit4G - model: E3 Pro + brand: Digit + model: Digit4G E3 Pro os_family: Android browser_family: Unknown - @@ -4379,8 +4379,8 @@ engine_version: 61.0.3163.98 device: type: smartphone - brand: Digit4G - model: E2 Pro + brand: Digit + model: Digit4G E2 Pro os_family: Android browser_family: Opera - @@ -7235,8 +7235,8 @@ engine_version: 120.0.6099.193 device: type: smartphone - brand: Digit4G - model: Infinity + brand: Digit + model: Digit4G Infinity os_family: Android browser_family: Chrome - @@ -7253,8 +7253,8 @@ engine_version: 105.0.5195.136 device: type: smartphone - brand: Digit4G - model: Infinity Max + brand: Digit + model: Digit4G Infinity Max os_family: Android browser_family: Chrome - @@ -7271,8 +7271,8 @@ engine_version: 120.0.6099.193 device: type: smartphone - brand: Digit4G - model: Glory1 + brand: Digit + model: Digit4G Glory1 os_family: Android browser_family: Chrome - @@ -7289,8 +7289,8 @@ engine_version: 91.0.4472.114 device: type: smartphone - brand: Digit4G - model: Energy Max + brand: Digit + model: Digit4G Energy Max os_family: Android browser_family: Chrome - diff --git a/Tests/fixtures/smartphone-39.yml b/Tests/fixtures/smartphone-39.yml index 097f52149c..05c00713d1 100644 --- a/Tests/fixtures/smartphone-39.yml +++ b/Tests/fixtures/smartphone-39.yml @@ -1291,8 +1291,8 @@ engine_version: 111.0.0.0 device: type: smartphone - brand: Digit4G - model: Next Ultra + brand: Digit + model: Digit4G Next Ultra os_family: Android browser_family: Chrome - @@ -1309,8 +1309,8 @@ engine_version: 106.0.0.0 device: type: smartphone - brand: Digit4G - model: E4 Pro + brand: Digit + model: Digit4G E4 Pro os_family: Android browser_family: Chrome - diff --git a/Tests/fixtures/smartphone-41.yml b/Tests/fixtures/smartphone-41.yml index c2f34ea707..c9cb9d0194 100644 --- a/Tests/fixtures/smartphone-41.yml +++ b/Tests/fixtures/smartphone-41.yml @@ -6642,7 +6642,7 @@ engine_version: 85.0.4183.69 device: type: smartphone - brand: Cloud + brand: Cloud Mobile model: Stratus C8 os_family: Android browser_family: Chrome diff --git a/Tests/fixtures/smartphone-5.yml b/Tests/fixtures/smartphone-5.yml index 5602f9ee13..25c037ee07 100644 --- a/Tests/fixtures/smartphone-5.yml +++ b/Tests/fixtures/smartphone-5.yml @@ -2987,8 +2987,8 @@ engine_version: "" device: type: smartphone - brand: Hisense - model: Smartfren Andromax R + brand: Smartfren + model: Andromax R os_family: Android browser_family: Android Browser - @@ -3005,8 +3005,8 @@ engine_version: 59.0.3071.125 device: type: smartphone - brand: Hisense - model: Smartfren Andromax Z + brand: Smartfren + model: Andromax Z os_family: Android browser_family: Chrome - @@ -9952,7 +9952,7 @@ engine_version: 100.0.4896.127 device: type: smartphone - brand: Cloud + brand: Cloud Mobile model: Typhoon C6 os_family: Android browser_family: Chrome diff --git a/Tests/fixtures/smartphone-7.yml b/Tests/fixtures/smartphone-7.yml index 67d4313221..8f0dae4d35 100644 --- a/Tests/fixtures/smartphone-7.yml +++ b/Tests/fixtures/smartphone-7.yml @@ -9147,8 +9147,8 @@ engine_version: 61.0.3163.98 device: type: smartphone - brand: Digit4G - model: Energy + brand: Digit + model: Digit4G Energy os_family: Android browser_family: Opera - @@ -9165,8 +9165,8 @@ engine_version: "534.30" device: type: smartphone - brand: Digit4G - model: Pro + brand: Digit + model: Digit4G Pro os_family: Android browser_family: Unknown - diff --git a/Tests/fixtures/smartphone.yml b/Tests/fixtures/smartphone.yml index 91163fa844..fae5bb3953 100644 --- a/Tests/fixtures/smartphone.yml +++ b/Tests/fixtures/smartphone.yml @@ -4261,7 +4261,7 @@ engine_version: 79.0.3945.93 device: type: smartphone - brand: Twoe + brand: 2E model: E450R os_family: Android browser_family: Chrome diff --git a/Tests/fixtures/tablet-1.yml b/Tests/fixtures/tablet-1.yml index 576624e24f..d5deb1092b 100644 --- a/Tests/fixtures/tablet-1.yml +++ b/Tests/fixtures/tablet-1.yml @@ -3071,8 +3071,8 @@ engine_version: "535.19" device: type: tablet - brand: Crius Mea - model: Q7A + brand: Ooredoo + model: Crius Mea Q7A os_family: Android browser_family: Chrome - @@ -3089,8 +3089,8 @@ engine_version: "534.30" device: type: tablet - brand: Crius Mea - model: Q7A+ + brand: Ooredoo + model: Crius Mea Q7A+ os_family: Android browser_family: Android Browser - diff --git a/Tests/fixtures/tablet-10.yml b/Tests/fixtures/tablet-10.yml index 6ca77c8f50..f6ca3b465d 100644 --- a/Tests/fixtures/tablet-10.yml +++ b/Tests/fixtures/tablet-10.yml @@ -3221,7 +3221,7 @@ engine_version: 76.0.3809.111 device: type: tablet - brand: TWZ + brand: TWZ Corporation model: TabPlay 125 os_family: Android browser_family: Chrome @@ -3239,7 +3239,7 @@ engine_version: 55.0.2883.91 device: type: tablet - brand: TWZ + brand: TWZ Corporation model: TabPlay 126 os_family: Android browser_family: Chrome @@ -6407,7 +6407,7 @@ engine_version: 30.0.0.0 device: type: tablet - brand: RoverPad + brand: Rover Computers model: Sky 7.85" 3G os_family: Android browser_family: Chrome @@ -6515,7 +6515,7 @@ engine_version: 66.0.3359.158 device: type: tablet - brand: RoverPad + brand: Rover Computers model: Sky 7.85" 3G os_family: Android browser_family: Chrome @@ -7649,8 +7649,8 @@ engine_version: 75.0.3770.143 device: type: tablet - brand: Cloudpad - model: +VT107C + brand: Cloudfone + model: Cloudpad C701TV+ os_family: Android browser_family: Chrome - @@ -7667,8 +7667,8 @@ engine_version: 79.0.3945.93 device: type: tablet - brand: Cloudpad - model: +VTQ007C + brand: Cloudfone + model: Cloudpad C700QTV+ os_family: Android browser_family: Chrome - @@ -9269,8 +9269,8 @@ engine_version: 80.0.3987.119 device: type: tablet - brand: High Q - model: ELT0704H + brand: EPIK Learning + model: HighQ ELT0704H os_family: Android browser_family: Chrome - @@ -9287,8 +9287,8 @@ engine_version: 81.0.4044.117 device: type: tablet - brand: High Q - model: ELT0706H + brand: EPIK Learning + model: HighQ ELT0706H os_family: Android browser_family: Chrome - @@ -9305,8 +9305,8 @@ engine_version: 81.0.4044.138 device: type: tablet - brand: High Q - model: ELT0802H + brand: EPIK Learning + model: HighQ ELT0802H os_family: Android browser_family: Chrome - @@ -10655,8 +10655,8 @@ engine_version: 79.0.3945.136 device: type: tablet - brand: Wortmann - model: Terra Pad 1005 + brand: Terra + model: Pad 1005 os_family: Android browser_family: Chrome - diff --git a/Tests/fixtures/tablet-11.yml b/Tests/fixtures/tablet-11.yml index ab63ebf598..03dfd02cb9 100644 --- a/Tests/fixtures/tablet-11.yml +++ b/Tests/fixtures/tablet-11.yml @@ -4589,7 +4589,7 @@ engine_version: 124.0.6367.82 device: type: tablet - brand: Padpro + brand: 7Ke tree model: GT40 Pro Max os_family: Android browser_family: Opera @@ -6419,8 +6419,8 @@ engine_version: 124.0.6367.179 device: type: tablet - brand: Wortmann - model: Terra Pad 1200 V2 + brand: Terra + model: Pad 1200 V2 os_family: Android browser_family: Opera - diff --git a/Tests/fixtures/tablet-2.yml b/Tests/fixtures/tablet-2.yml index 3ad189c8de..e20d9d8f02 100644 --- a/Tests/fixtures/tablet-2.yml +++ b/Tests/fixtures/tablet-2.yml @@ -9184,8 +9184,8 @@ engine_version: 76.0.3809.111 device: type: tablet - brand: DreamTab - model: DRN-809 + brand: Powerway + model: Dreamtab DRN-809 os_family: Android browser_family: Chrome - @@ -9202,8 +9202,8 @@ engine_version: 72.0.3626.121 device: type: tablet - brand: DreamTab - model: DRN-709 + brand: Powerway + model: Dreamtab DRN-709 os_family: Android browser_family: Chrome - diff --git a/Tests/fixtures/tablet-3.yml b/Tests/fixtures/tablet-3.yml index 5191a914f7..f6065c0ba9 100644 --- a/Tests/fixtures/tablet-3.yml +++ b/Tests/fixtures/tablet-3.yml @@ -8693,7 +8693,7 @@ engine_version: 76.0.3809.132 device: type: tablet - brand: RoverPad + brand: Rover Computers model: "" os_family: Android browser_family: Unknown @@ -8711,7 +8711,7 @@ engine_version: 35.0.1916.122 device: type: tablet - brand: RoverPad + brand: Rover Computers model: "10.4" os_family: Android browser_family: Chrome @@ -8729,7 +8729,7 @@ engine_version: "533.1" device: type: tablet - brand: RoverPad + brand: Rover Computers model: 3W A73 os_family: Android browser_family: Android Browser @@ -8747,7 +8747,7 @@ engine_version: "534.30" device: type: tablet - brand: RoverPad + brand: Rover Computers model: 3W7 os_family: Android browser_family: Android Browser @@ -8765,7 +8765,7 @@ engine_version: "534.30" device: type: tablet - brand: RoverPad + brand: Rover Computers model: 3W9.4 os_family: Android browser_family: Android Browser @@ -8783,7 +8783,7 @@ engine_version: "530.17" device: type: tablet - brand: RoverPad + brand: Rover Computers model: 3WT70 os_family: Android browser_family: Android Browser @@ -8801,7 +8801,7 @@ engine_version: 71.0.3578.99 device: type: tablet - brand: RoverPad + brand: Rover Computers model: 9.7 3G os_family: Android browser_family: Opera @@ -8819,7 +8819,7 @@ engine_version: "537.31" device: type: tablet - brand: RoverPad + brand: Rover Computers model: Air S70 os_family: Android browser_family: Chrome @@ -8837,7 +8837,7 @@ engine_version: 30.0.0.0 device: type: tablet - brand: RoverPad + brand: Rover Computers model: Sky 7.85" 3G os_family: Android browser_family: Chrome @@ -8855,7 +8855,7 @@ engine_version: 70.0.3538.110 device: type: tablet - brand: RoverPad + brand: Rover Computers model: Sky 9.7 os_family: Android browser_family: Chrome diff --git a/Tests/fixtures/tablet-5.yml b/Tests/fixtures/tablet-5.yml index 513f1da56e..8dd5202170 100644 --- a/Tests/fixtures/tablet-5.yml +++ b/Tests/fixtures/tablet-5.yml @@ -1111,8 +1111,8 @@ engine_version: 79.0.3945.79 device: type: tablet - brand: Wortmann - model: Terra Pad 1004 + brand: Terra + model: Pad 1004 os_family: Android browser_family: Chrome - @@ -5231,7 +5231,7 @@ engine_version: 80.0.3987.117 device: type: tablet - brand: RoverPad + brand: Rover Computers model: Pro Q8 LTE os_family: Android browser_family: Chrome @@ -5249,7 +5249,7 @@ engine_version: 83.0.4103.83 device: type: tablet - brand: RoverPad + brand: Rover Computers model: Pro Q10 LTE os_family: Android browser_family: Chrome diff --git a/Tests/fixtures/tablet-6.yml b/Tests/fixtures/tablet-6.yml index 375bf80993..2e5cd32bcc 100644 --- a/Tests/fixtures/tablet-6.yml +++ b/Tests/fixtures/tablet-6.yml @@ -1920,8 +1920,8 @@ engine_version: 81.0.4044.111 device: type: tablet - brand: Sprint - model: AQT100 + brand: Quanta Computer + model: Slate AQT100 os_family: Android browser_family: Chrome - @@ -1938,8 +1938,8 @@ engine_version: 83.0.4103.96 device: type: tablet - brand: Sprint - model: AQT80 + brand: Quanta Computer + model: Slate AQT80 os_family: Android browser_family: Chrome - @@ -1956,8 +1956,8 @@ engine_version: 84.0.4147.89 device: type: tablet - brand: Sprint - model: AQT82 + brand: Quanta Computer + model: Slate AQT82 os_family: Android browser_family: Chrome - @@ -6560,7 +6560,7 @@ engine_version: 94.0.4606.85 device: type: tablet - brand: Cloud + brand: Cloud Mobile model: Sunshine T1 os_family: Android browser_family: Chrome diff --git a/Tests/fixtures/tablet-7.yml b/Tests/fixtures/tablet-7.yml index 11d64ac0f4..6c5d65b5fc 100644 --- a/Tests/fixtures/tablet-7.yml +++ b/Tests/fixtures/tablet-7.yml @@ -103,8 +103,8 @@ engine_version: 95.0.4638.74 device: type: tablet - brand: Wortmann - model: Terra Pad 1006 + brand: Terra + model: Pad 1006 os_family: Android browser_family: Chrome - @@ -4833,7 +4833,7 @@ engine_version: 42.0.2311.111 device: type: tablet - brand: RoverPad + brand: Rover Computers model: Air 7.85" 3G os_family: Android browser_family: Chrome @@ -4851,7 +4851,7 @@ engine_version: 71.0.3578.99 device: type: tablet - brand: RoverPad + brand: Rover Computers model: Art 7.85" 3G os_family: Android browser_family: Chrome @@ -6219,8 +6219,8 @@ engine_version: 100.0.4896.127 device: type: tablet - brand: HLLO - model: SMB-H8009 + brand: Exertis + model: HLLO SMB-H8009 os_family: Android browser_family: Chrome - diff --git a/Tests/fixtures/tablet-8.yml b/Tests/fixtures/tablet-8.yml index dbde43b733..a9c5ea8cc2 100644 --- a/Tests/fixtures/tablet-8.yml +++ b/Tests/fixtures/tablet-8.yml @@ -4007,7 +4007,7 @@ engine_version: 102.0.0.0 device: type: tablet - brand: Cloud + brand: Cloud Mobile model: Sunshine T1 Elite os_family: Android browser_family: Chrome @@ -9348,9 +9348,10 @@ engine: Blink engine_version: 79.0.3945.93 device: + #Previously "UE" brand, but based on spoiler https://4pda.to/forum/index.php?showtopic=740550 and several retailers (including https://www.youtube.com/watch?v=SD_qRgUTkxw) selling it as "UE 1 PAD", "Newman" is most likely more correct type: tablet - brand: UE - model: Pad 1 + brand: Newman + model: UE 1 PAD os_family: Android browser_family: Chrome - diff --git a/Tests/fixtures/tablet-9.yml b/Tests/fixtures/tablet-9.yml index d66cdd151c..4106b2fac7 100644 --- a/Tests/fixtures/tablet-9.yml +++ b/Tests/fixtures/tablet-9.yml @@ -7247,7 +7247,7 @@ engine_version: 78.0.3904.96 device: type: tablet - brand: TPS + brand: SZ TPS model: SC10 os_family: Android browser_family: Chrome @@ -8363,7 +8363,7 @@ engine_version: 112.0.0.0 device: type: tablet - brand: MLAB + brand: Microlab model: Glowy 10 os_family: Android browser_family: Chrome diff --git a/Tests/fixtures/tv-1.yml b/Tests/fixtures/tv-1.yml index 9c04bfe6bf..a1c48bc121 100644 --- a/Tests/fixtures/tv-1.yml +++ b/Tests/fixtures/tv-1.yml @@ -3389,8 +3389,8 @@ engine_version: 95.0.4638.74 device: type: tv - brand: MDTV - model: "" + brand: OTT + model: MDTV os_family: Android browser_family: Chrome - @@ -4944,7 +4944,8 @@ engine_version: 2.10.250 device: type: tv - brand: MMI + #Previously "MMI", but apparently MMI is a pairing mode https://www.verizon.com/supportresources/content/dam/verizon/support/consumer/documents/vms1100_install_ops_manual-s.pdf + brand: ARRIS model: VMS1100 os_family: GNU/Linux browser_family: Opera diff --git a/Tests/fixtures/tv-2.yml b/Tests/fixtures/tv-2.yml index 5a5baa84e5..f857b27aa4 100644 --- a/Tests/fixtures/tv-2.yml +++ b/Tests/fixtures/tv-2.yml @@ -49,8 +49,8 @@ engine_version: 78.0.3904.96 device: type: tv - brand: LPX-G - model: Box Max + brand: OTT + model: LPX-G Box Max os_family: Android browser_family: Chrome - diff --git a/Tests/fixtures/tv-4.yml b/Tests/fixtures/tv-4.yml index 1a1707bad0..a1c829fc68 100644 --- a/Tests/fixtures/tv-4.yml +++ b/Tests/fixtures/tv-4.yml @@ -2447,7 +2447,7 @@ engine_version: 68.0.3440.106 device: type: tv - brand: Stream + brand: StreamSystem model: WSTRF4022FTP os_family: Other Mobile browser_family: Unknown @@ -2465,7 +2465,7 @@ engine_version: 68.0.3440.106 device: type: tv - brand: Stream + brand: StreamSystem model: WSTRH3222FTP os_family: Other Mobile browser_family: Unknown @@ -2483,7 +2483,7 @@ engine_version: 68.0.3440.106 device: type: tv - brand: Stream + brand: StreamSystem model: WSTRU4322FTP os_family: Other Mobile browser_family: Unknown @@ -2501,7 +2501,7 @@ engine_version: 68.0.3440.106 device: type: tv - brand: Stream + brand: StreamSystem model: WSTRU5522FTP os_family: Other Mobile browser_family: Unknown @@ -7892,7 +7892,7 @@ engine_version: 108.0.5359.128 device: type: tv - brand: VOX + brand: VOX Electronics model: "" os_family: GNU/Linux browser_family: Opera diff --git a/Tests/fixtures/tv.yml b/Tests/fixtures/tv.yml index d20f457245..f387fa8d6e 100644 --- a/Tests/fixtures/tv.yml +++ b/Tests/fixtures/tv.yml @@ -64,7 +64,7 @@ engine_version: 2.6.33 device: type: tv - brand: Hotel + brand: Hotel TV Company model: "" os_family: GNU/Linux browser_family: Opera @@ -1547,7 +1547,7 @@ client: null device: type: tv - brand: DMM + brand: Dream Multimedia model: Dreambox os_family: GNU/Linux browser_family: Unknown @@ -6976,7 +6976,7 @@ engine_version: 44.0.2403.130 device: type: tv - brand: Hotel + brand: Hotel TV Company model: "" os_family: GNU/Linux browser_family: Opera @@ -7840,7 +7840,7 @@ engine_version: 53.0.2785.143 device: type: tv - brand: VOX + brand: VOX Electronics model: Smart TV (2017) os_family: GNU/Linux browser_family: Opera diff --git a/misc/updateReadme.php b/misc/updateReadme.php index c54b86d6cc..497f002eea 100644 --- a/misc/updateReadme.php +++ b/misc/updateReadme.php @@ -22,7 +22,7 @@ include __DIR__ . '/../vendor/autoload.php'; -$brands = AbstractDeviceParser::$deviceBrands; +$brands = array_unique(AbstractDeviceParser::$deviceBrands); natcasesort($brands); $bots = []; diff --git a/regexes/device/mobiles.yml b/regexes/device/mobiles.yml index 94a6c9b4a6..808f491f39 100644 --- a/regexes/device/mobiles.yml +++ b/regexes/device/mobiles.yml @@ -114,9 +114,9 @@ Adronix: - regex: 'Adronix[ _]?(MT[0-9]+|X1001)(?:[);/ ]|$)' model: '$1' -# Cherry Mobile (cherrymobile.com) +# Cherry Mobile (cherrymobile.com, defunct site). Cherry Mobile: - regex: 'Cherry|Superion[_ ](?:S2|Radar Deluxe|S1 DTV|S1 Plus DTV|Tab Pro)|Flare([ _])?(Selfie|2\.[01]|2X|4|A[123]|J[1235678]|P[13]|S[4-8]|X2|Y[3567]|S[ _]Play|HD|LITE|XL|X_V[23]|Y3s|Tab|INFINITY)(?:[ _](?:Pro|Plus|Max|LTE))?|Fusion Aura 3s|Radar Deluxe 2|Desire R[678]|Desire_R[67]_Lite|Fusion Bolt|Omega[_ ](?:Icon 2|Icon Lite 2|lite[_ ][243][Cs]?|HD[ _][345]|HD_Duo|X)|Spin Max 2|Selfie_Two|Flare X Lite|Flare_5|Android 1.*Aqua S9|Aqua S10|MAIA PAD PLUS|COSMOS THREE| Revel 3G|Touch XL 2|DSR_(?:R8|R7P?)|CUBIX CUBE 3' + regex: 'Cherry|Superion[_ ](?:S2|Radar Deluxe|S1 DTV|S1 Plus DTV|Tab Pro)|Flare([ _])?(Selfie|2\.[01]|2X|4|A[123]|J[1235678]|P[13]|S[4-8]|X2|Y[3567]|S[ _]Play|HD|LITE|XL|X_V[23]|Y3s|Tab|INFINITY)(?:[ _](?:Pro|Plus|Max|LTE))?|Fusion Aura 3s|Radar Deluxe 2|Desire R[678]|Desire_R[67]_Lite|Fusion Bolt|Omega[_ ](?:Icon 2|Icon Lite 2|lite[_ ][243][Cs]?|HD[ _][345]|HD_Duo|X)|Spin Max 2|Selfie_Two|Flare X Lite|Flare_5|Android 1.*Aqua S9|Aqua S10|MAIA PAD PLUS|COSMOS THREE| Revel 3G|Touch XL 2|DSR_(?:R8|R7P?)|CUBIX CUBE 3|AM1010V' device: 'smartphone' models: - regex: '(Flare2X|Aqua S(?:9|10)(?: (?:Max|Lite|Pro))?)' @@ -241,6 +241,10 @@ Cherry Mobile: - regex: 'Cherry(?:[ _]?Mobile)?[ _]?([^/;]+)(?: Build|[);])' model: '$1' + #Previously listed as "White Mobile" brand, but based on https://firmwarefile.com/cherry-mobile-omega-lite-3, https://forum.gsmhosting.com/vbb/f296/cherry-mobile-omega-lite-3-frp-remove-2259709/ and https://deviceatlas.com/device-data/devices/white-mobile/am1010v/30376111 (and others), this is likely "Cherry Mobile", especially since I was not able to find any evidence of "White Mobile" ever existing. + - regex: 'AM1010V' + model: 'Omega Lite 3' + # HTC (htc.com) HTC: regex: 'HTC|Sprint (?:APA|ATP)|ADR(?!910L)[a-z0-9]+|NexusHD2|Amaze[ _]4G(?:[);/ ]|$)|(Desire|Sensation|Evo ?3D|IncredibleS|Wildfire|Butterfly)[ _]?([^;/)]+)(?: Build|\))|(Amaze[ _]4G|(?