Skip to content

Commit 30c0b20

Browse files
committed
Improve device detection: LG
1 parent 0cf4477 commit 30c0b20

File tree

2 files changed

+14
-3
lines changed

2 files changed

+14
-3
lines changed

src/main/ua-parser.js

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -606,7 +606,7 @@
606606
/((?=lg)?[vl]k\-?\d{3}) bui| 3\.[-\w; ]{10}lg?-([06cv9]{3,4})/i
607607
], [MODEL, [VENDOR, LG], [TYPE, TABLET]], [
608608
/(lm(?:-?f100[nv]?|-[\w\.]+)(?= bui|\))|nexus [45])/i,
609-
/\blg[-e;\/ ]+((?!browser|netcast|android tv|watch)\w+)/i,
609+
/\blg[-e;\/ ]+(?!.*(?:browser|netcast|android tv|watch))(\w+)/i,
610610
/\blg-?([\d\w]+) bui/i
611611
], [MODEL, [VENDOR, LG], [TYPE, MOBILE]], [
612612

@@ -763,7 +763,9 @@
763763
], [VENDOR, [TYPE, SMARTTV]], [
764764
/hbbtv.+maple;(\d+)/i
765765
], [[MODEL, /^/, 'SmartTV'], [VENDOR, SAMSUNG], [TYPE, SMARTTV]], [
766-
/(nux; netcast.+smarttv|lg (netcast\.tv-201\d|android tv))/i // LG SmartTV
766+
/tcast.+(lg)e?. ([-\w]+)/i // LG SmartTV
767+
], [VENDOR, MODEL, [TYPE, SMARTTV]], [
768+
/(nux; netcast.+smarttv|lg (netcast\.tv-201\d|android tv))/i
767769
], [[VENDOR, LG], [TYPE, SMARTTV]], [
768770
/(apple) ?tv/i // Apple TV
769771
], [VENDOR, [MODEL, APPLE+' TV'], [TYPE, SMARTTV]], [
@@ -938,7 +940,7 @@
938940
/(ubuntu) ([\w\.]+) like android/i // Ubuntu Touch
939941
], [[NAME, /(.+)/, '$1 Touch'], VERSION], [
940942
// Android/Blackberry/WebOS/QNX/Bada/RIM/KaiOS/Maemo/MeeGo/S40/Sailfish OS/OpenHarmony/Tizen
941-
/(android|bada|blackberry|kaios|maemo|meego|openharmony|qnx|rim tablet os|sailfish|series40|symbian|tizen|webos)\w*[-\/; ]?([\d\.]*)/i
943+
/(android|bada|blackberry|kaios|maemo|meego|openharmony|qnx|rim tablet os|sailfish|series40|symbian|tizen|webos)\w*[-\/\.; ]?([\d\.]*)/i
942944
], [NAME, VERSION], [
943945
/\(bb(10);/i // BlackBerry 10
944946
], [VERSION, [NAME, BLACKBERRY]], [

test/data/ua/device/lg.json

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -134,6 +134,15 @@
134134
"type": "smarttv"
135135
}
136136
},
137+
{
138+
"desc": "LG Smart TV",
139+
"ua": "Mozilla/5.0 (Web0S; Linux/SmartTV) AppleWebKit/537.41 (KHTML, like Gecko) Large Screen Safari/537.41 LG Browser/7.00.00(LGE; 42LB670V-ZA; 05.05.90; 1); webOS.TV-2014; LG NetCast.TV-2013 Compatible (LGE, 42LB670V-ZA, wireless)",
140+
"expect": {
141+
"vendor": "LG",
142+
"model": "42LB670V-ZA",
143+
"type": "smarttv"
144+
}
145+
},
137146
{
138147
"desc": "LG Android TV",
139148
"ua": "Mozilla/5.0 (Linux; U; Android 4.2.2; zh-cn; LG Android TV Build/JDQ39) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Safari/534.30",

0 commit comments

Comments
 (0)