Skip to content

Commit 3669d0c

Browse files
Adds detection for allente, alpsmart, CommScope, Formovie, Grünberg, multibox brands, improves detection for BenQ, Haier, Kodak, ok., Philips, Stilevs, (#7961)
* Adds detection for Grünberg brand * Adds detection for alpsmart brand * Adds detection for CommScope brand * Improves detection for BenQ devices * Adds detection for allente brand * Adds detection for multibox brand * Adds detection for Formovie brand * Improves detection for Stilevs brand * Rename Ok to ok. * Improves detection for ok. devices * Improves detection for Haier devices * Improves detection for Philips devices ref #7882
1 parent fbd5f4f commit 3669d0c

File tree

8 files changed

+389
-16
lines changed

8 files changed

+389
-16
lines changed

DeviceDetector.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -1070,7 +1070,7 @@ protected function parseDevice(): void
10701070
/**
10711071
* All devices that contain Andr0id in string are assumed to be a tv
10721072
*/
1073-
if ($this->matchUserAgent('Andr0id|(?:Android(?: UHD)?|Google) TV|\(lite\) TV|BRAVIA| TV$')) {
1073+
if ($this->matchUserAgent('Andr0id|(?:Android(?: UHD)?|(?<!Xming )Google) TV|\(lite\) TV|BRAVIA| TV$')) {
10741074
$this->device = AbstractDeviceParser::DEVICE_TYPE_TV;
10751075
}
10761076

Parser/Device/AbstractDeviceParser.php

+7-1
Original file line numberDiff line numberDiff line change
@@ -142,9 +142,11 @@ abstract class AbstractDeviceParser extends AbstractParser
142142
'ALS' => 'All Star',
143143
'AA' => 'AllCall',
144144
'3A' => 'AllDocube',
145+
'ALL' => 'allente',
145146
'A2' => 'Allview',
146147
'ALI' => 'ALLINmobile',
147148
'A7' => 'Allwinner',
149+
'ALP' => 'alpsmart',
148150
'A1' => 'Altech UEC',
149151
'66' => 'Altice',
150152
'ALM' => 'Altimo',
@@ -375,6 +377,7 @@ abstract class AbstractDeviceParser extends AbstractParser
375377
'CY' => 'Coby Kyros',
376378
'XC' => 'Cobalt',
377379
'C6' => 'Comio',
380+
'COM' => 'CommScope',
378381
'CL' => 'Compal',
379382
'CQ' => 'Compaq',
380383
'C7' => 'ComTrade Tesla',
@@ -644,6 +647,7 @@ abstract class AbstractDeviceParser extends AbstractParser
644647
'44' => 'Four Mobile',
645648
'F0' => 'Fonos',
646649
'F2' => 'FORME',
650+
'FRM' => 'Formovie',
647651
'F5' => 'Formuler',
648652
'FR' => 'Forstar',
649653
'RF' => 'Fortis',
@@ -737,6 +741,7 @@ abstract class AbstractDeviceParser extends AbstractParser
737741
'GR1' => 'GroBerwert',
738742
'GF' => 'Gretel',
739743
'82' => 'Gresso',
744+
'GRB' => 'Grünberg',
740745
'GU' => 'Grundig',
741746
'GV' => 'Gtel',
742747
'CUO' => 'Guophone',
@@ -1187,6 +1192,7 @@ abstract class AbstractDeviceParser extends AbstractParser
11871192
'72' => 'M-Tech',
11881193
'9H' => 'M-Horse',
11891194
'MKP' => 'M-KOPA',
1195+
'MLB' => 'multibox',
11901196
'1R' => 'Multilaser',
11911197
'MPS' => 'MultiPOS',
11921198
'1M' => 'MYFON',
@@ -1297,7 +1303,7 @@ abstract class AbstractDeviceParser extends AbstractParser
12971303
'OQ' => 'Meta',
12981304
'O1' => 'Odys',
12991305
'ODP' => 'Odotpad',
1300-
'O9' => 'Ok',
1306+
'O9' => 'ok.',
13011307
'OKA' => 'Okapi',
13021308
'OA' => 'Okapia',
13031309
'OKI' => 'Oking',

Tests/fixtures/peripheral.yml

+36
Original file line numberDiff line numberDiff line change
@@ -1630,3 +1630,39 @@
16301630
model: MoGo Pro
16311631
os_family: Android
16321632
browser_family: Chrome
1633+
-
1634+
user_agent: Mozilla/5.0 (Linux; Android 11; Xming Google TV Build/RTM7.230903.079; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/129.0.6668.102 Mobile Safari/537.36
1635+
os:
1636+
name: Android TV
1637+
version: "11"
1638+
platform: ""
1639+
client:
1640+
type: browser
1641+
name: Chrome Webview
1642+
version: 129.0.6668.102
1643+
engine: Blink
1644+
engine_version: 129.0.6668.102
1645+
device:
1646+
type: peripheral
1647+
brand: Formovie
1648+
model: Xming
1649+
os_family: Android
1650+
browser_family: Chrome
1651+
-
1652+
user_agent: Mozilla/5.0 (Linux; Android 11; SCN550 Build/RTM6.230109.257; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/129.0.6668.102 Mobile Safari/537.36
1653+
os:
1654+
name: Android
1655+
version: "11"
1656+
platform: ""
1657+
client:
1658+
type: browser
1659+
name: Chrome Webview
1660+
version: 129.0.6668.102
1661+
engine: Blink
1662+
engine_version: 129.0.6668.102
1663+
device:
1664+
type: peripheral
1665+
brand: Philips
1666+
model: Screeneo U5
1667+
os_family: Android
1668+
browser_family: Chrome

Tests/fixtures/tv-1.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -1911,7 +1911,7 @@
19111911
engine_version: 75.0.3770.143
19121912
device:
19131913
type: tv
1914-
brand: Ok
1914+
brand: ok.
19151915
model: 4K (2020)
19161916
os_family: Android
19171917
browser_family: Chrome

Tests/fixtures/tv-4.yml

+270
Original file line numberDiff line numberDiff line change
@@ -6996,3 +6996,273 @@
69966996
model: 24HEY1
69976997
os_family: Android
69986998
browser_family: Unknown
6999+
-
7000+
user_agent: Mozilla/5.0 (Linux; Android 13; GR32200 Build/TP1A.220905.004.A2; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/101.0.4951.61 Safari/537.36
7001+
os:
7002+
name: Android
7003+
version: "13"
7004+
platform: ""
7005+
client:
7006+
type: browser
7007+
name: Chrome Webview
7008+
version: 101.0.4951.61
7009+
engine: Blink
7010+
engine_version: 101.0.4951.61
7011+
device:
7012+
type: tv
7013+
brand: Grünberg
7014+
model: GR32200
7015+
os_family: Android
7016+
browser_family: Chrome
7017+
-
7018+
user_agent: Mozilla/5.0 (Linux; Android 13; GR43200 Build/TP1A.220905.004.A2; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/101.0.4951.61 Safari/537.36
7019+
os:
7020+
name: Android
7021+
version: "13"
7022+
platform: ""
7023+
client:
7024+
type: browser
7025+
name: Chrome Webview
7026+
version: 101.0.4951.61
7027+
engine: Blink
7028+
engine_version: 101.0.4951.61
7029+
device:
7030+
type: tv
7031+
brand: Grünberg
7032+
model: GR43200
7033+
os_family: Android
7034+
browser_family: Chrome
7035+
-
7036+
user_agent: Mozilla/5.0 (Linux; Android 12; AS512 Build/SP1A.211105.004; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/91.0.4472.114 Mobile Safari/537.36
7037+
os:
7038+
name: Android
7039+
version: "12"
7040+
platform: ""
7041+
client:
7042+
type: browser
7043+
name: Chrome Webview
7044+
version: 91.0.4472.114
7045+
engine: Blink
7046+
engine_version: 91.0.4472.114
7047+
device:
7048+
type: tv
7049+
brand: alpsmart
7050+
model: AS512
7051+
os_family: Android
7052+
browser_family: Chrome
7053+
-
7054+
user_agent: Mozilla/5.0 (Linux; Android 12; AS514 Build/SP1A.211105.004; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/91.0.4472.114 Mobile Safari/537.36
7055+
os:
7056+
name: Android
7057+
version: "12"
7058+
platform: ""
7059+
client:
7060+
type: browser
7061+
name: Chrome Webview
7062+
version: 91.0.4472.114
7063+
engine: Blink
7064+
engine_version: 91.0.4472.114
7065+
device:
7066+
type: tv
7067+
brand: alpsmart
7068+
model: AS514
7069+
os_family: Android
7070+
browser_family: Chrome
7071+
-
7072+
user_agent: Mozilla/5.0 (Linux; Android 12; AS515 Build/SP1A.211105.004; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/91.0.4472.114 Mobile Safari/537.36
7073+
os:
7074+
name: Android
7075+
version: "12"
7076+
platform: ""
7077+
client:
7078+
type: browser
7079+
name: Chrome Webview
7080+
version: 91.0.4472.114
7081+
engine: Blink
7082+
engine_version: 91.0.4472.114
7083+
device:
7084+
type: tv
7085+
brand: alpsmart
7086+
model: AS515
7087+
os_family: Android
7088+
browser_family: Chrome
7089+
-
7090+
user_agent: Mozilla/5.0 (Linux; Android 12; AS516 Build/SP1A.211105.004; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/91.0.4472.114 Mobile Safari/537.36
7091+
os:
7092+
name: Android
7093+
version: "12"
7094+
platform: ""
7095+
client:
7096+
type: browser
7097+
name: Chrome Webview
7098+
version: 91.0.4472.114
7099+
engine: Blink
7100+
engine_version: 91.0.4472.114
7101+
device:
7102+
type: tv
7103+
brand: alpsmart
7104+
model: AS516
7105+
os_family: Android
7106+
browser_family: Chrome
7107+
-
7108+
user_agent: Mozilla/5.0 (Linux; Android 11; VIP7802 Build/RTT4.230821.001; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/130.0.6723.58 Mobile Safari/537.36
7109+
os:
7110+
name: Android
7111+
version: "11"
7112+
platform: ""
7113+
client:
7114+
type: browser
7115+
name: Chrome Webview
7116+
version: 130.0.6723.58
7117+
engine: Blink
7118+
engine_version: 130.0.6723.58
7119+
device:
7120+
type: tv
7121+
brand: CommScope
7122+
model: VIP7802
7123+
os_family: Android
7124+
browser_family: Chrome
7125+
-
7126+
user_agent: Mozilla/5.0 (Linux; Android 11; QS02 Build/RT; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/129.0.6668.100 Mobile Safari/537.36
7127+
os:
7128+
name: Android
7129+
version: "11"
7130+
platform: ""
7131+
client:
7132+
type: browser
7133+
name: Chrome Webview
7134+
version: 129.0.6668.100
7135+
engine: Blink
7136+
engine_version: 129.0.6668.100
7137+
device:
7138+
type: tv
7139+
brand: BenQ
7140+
model: QS02
7141+
os_family: Android
7142+
browser_family: Chrome
7143+
-
7144+
user_agent: Mozilla/5.0 (Linux; Android 10; Allente 1 Build/QTG1.200820.002; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/129.0.6668.102 Mobile Safari/537.36
7145+
os:
7146+
name: Android
7147+
version: "10"
7148+
platform: ""
7149+
client:
7150+
type: browser
7151+
name: Chrome Webview
7152+
version: 129.0.6668.102
7153+
engine: Blink
7154+
engine_version: 129.0.6668.102
7155+
device:
7156+
type: tv
7157+
brand: allente
7158+
model: Allente 1
7159+
os_family: Android
7160+
browser_family: Chrome
7161+
-
7162+
user_agent: Mozilla/5.0 (Linux; Android 10; Fundroid MB18 Build/QP1A.191105.004; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/74.0.3729.186 Safari/537.36
7163+
os:
7164+
name: Android
7165+
version: "10"
7166+
platform: ""
7167+
client:
7168+
type: browser
7169+
name: Chrome Webview
7170+
version: 74.0.3729.186
7171+
engine: Blink
7172+
engine_version: 74.0.3729.186
7173+
device:
7174+
type: tv
7175+
brand: multibox
7176+
model: Fundroid MB18
7177+
os_family: Android
7178+
browser_family: Chrome
7179+
-
7180+
user_agent: Mozilla/5.0 (Linux; Android 10; Fundroid MB216 Build/QP1A.191105.004; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/74.0.3729.186 Safari/537.36
7181+
os:
7182+
name: Android
7183+
version: "10"
7184+
platform: ""
7185+
client:
7186+
type: browser
7187+
name: Chrome Webview
7188+
version: 74.0.3729.186
7189+
engine: Blink
7190+
engine_version: 74.0.3729.186
7191+
device:
7192+
type: tv
7193+
brand: multibox
7194+
model: Fundroid MB216
7195+
os_family: Android
7196+
browser_family: Chrome
7197+
-
7198+
user_agent: Mozilla/5.0 (Linux; Android 11; STILEVS SMART TV Build/RP1A.200720.011; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/83.0.4103.120 Safari/537.36
7199+
os:
7200+
name: Android TV
7201+
version: "11"
7202+
platform: ""
7203+
client:
7204+
type: browser
7205+
name: Chrome Webview
7206+
version: 83.0.4103.120
7207+
engine: Blink
7208+
engine_version: 83.0.4103.120
7209+
device:
7210+
type: tv
7211+
brand: Stilevs
7212+
model: Smart TV
7213+
os_family: Android
7214+
browser_family: Chrome
7215+
-
7216+
user_agent: Mozilla/5.0 (Linux; Android 11; OK Google TV Build/RTM7.230903.015; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/129.0.6668.100 Mobile Safari/537.36
7217+
os:
7218+
name: Android TV
7219+
version: "11"
7220+
platform: ""
7221+
client:
7222+
type: browser
7223+
name: Chrome Webview
7224+
version: 129.0.6668.100
7225+
engine: Blink
7226+
engine_version: 129.0.6668.100
7227+
device:
7228+
type: tv
7229+
brand: ok.
7230+
model: Smart TV
7231+
os_family: Android
7232+
browser_family: Chrome
7233+
-
7234+
user_agent: Mozilla/5.0 (Linux; Android 11; Haier MatrixTV AEL Build/RTM6.230109.197; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/129.0.6668.100 Mobile Safari/537.36
7235+
os:
7236+
name: Android
7237+
version: "11"
7238+
platform: ""
7239+
client:
7240+
type: browser
7241+
name: Chrome Webview
7242+
version: 129.0.6668.100
7243+
engine: Blink
7244+
engine_version: 129.0.6668.100
7245+
device:
7246+
type: tv
7247+
brand: Haier
7248+
model: Smart TV
7249+
os_family: Android
7250+
browser_family: Chrome
7251+
-
7252+
user_agent: Mozilla/5.0 (Linux; Android 9; PATH_7XPRO Build/PI; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/129.0.6668.100 Mobile Safari/537.36
7253+
os:
7254+
name: Android
7255+
version: "9"
7256+
platform: ""
7257+
client:
7258+
type: browser
7259+
name: Chrome Webview
7260+
version: 129.0.6668.100
7261+
engine: Blink
7262+
engine_version: 129.0.6668.100
7263+
device:
7264+
type: tv
7265+
brand: Kodak
7266+
model: 7XPRO
7267+
os_family: Android
7268+
browser_family: Chrome

Tests/fixtures/tv.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -8141,7 +8141,7 @@
81418141
engine_version: 53.0.2785.143
81428142
device:
81438143
type: tv
8144-
brand: Ok
8144+
brand: ok.
81458145
model: Smart TV (2017)
81468146
os_family: GNU/Linux
81478147
browser_family: Opera

0 commit comments

Comments
 (0)