Skip to content

Commit

Permalink
Improves detection for Amazon, Hot Pepper, Realme and Xiaomi devices (#…
Browse files Browse the repository at this point in the history
…7607)

* Improves detection for Amazon Fire HD 10 (2023)
* Adds detection for Hot Pepper Puya
* Adds detection for Realme C67 5G
* Adds detection for Realme 11 5G
* Adds detection for Realme C67
* Improves detection for Amazon Fire Max 11
* Adds detection for Xiaomi Redmi 13C

ref #7606
  • Loading branch information
liviuconcioiu committed Feb 28, 2024
1 parent 307c96a commit 9aa7dab
Show file tree
Hide file tree
Showing 3 changed files with 138 additions and 5 deletions.
68 changes: 68 additions & 0 deletions Tests/fixtures/smartphone-37.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8435,3 +8435,71 @@
model: CoolMintt X7
os_family: Android
browser_family: Opera
-
user_agent: Mozilla/5.0 (Linux; U; Android 13; en-gb; RMX3782 Build/TP1A.220905.001) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.88 Mobile Safari/537.36 HeyTapBrowser/45.10.5.1.1
os:
name: Android
version: "13"
platform: ""
client:
type: mobile app
name: HeyTapBrowser
version: 45.10.5.1.1
device:
type: smartphone
brand: Realme
model: C67 5G
os_family: Android
browser_family: Unknown
-
user_agent: Mozilla/5.0 (Linux; U; Android 13; en-gb; RMX3780 Build/TP1A.220905.001) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.88 Mobile Safari/537.36 HeyTapBrowser/45.10.5.1.1
os:
name: Android
version: "13"
platform: ""
client:
type: mobile app
name: HeyTapBrowser
version: 45.10.5.1.1
device:
type: smartphone
brand: Realme
model: 11 5G
os_family: Android
browser_family: Unknown
-
user_agent: Dalvik/2.1.0 (Linux; U; Android 14; RMX3890 Build/UKQ1.230917.001)
os:
name: Android
version: "14"
platform: ""
client:
type: browser
name: Android Browser
version: ""
engine: WebKit
engine_version: ""
device:
type: smartphone
brand: Realme
model: C67
os_family: Android
browser_family: Android Browser
-
user_agent: Mozilla/5.0 (Linux; Android 13; 23100RN82L Build/TP1A.220624.014; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/121.0.6167.143 Mobile Safari/537.36
os:
name: Android
version: "13"
platform: ""
client:
type: browser
name: Chrome Webview
version: 121.0.6167.143
engine: Blink
engine_version: 121.0.6167.143
device:
type: smartphone
brand: Xiaomi
model: Redmi 13C
os_family: Android
browser_family: Chrome
54 changes: 54 additions & 0 deletions Tests/fixtures/tablet-11.yml
Original file line number Diff line number Diff line change
Expand Up @@ -233,3 +233,57 @@
model: Fire HD 10 (2023)
os_family: Android
browser_family: Chrome
-
user_agent: Mozilla/5.0 (Linux; Android 11; KFTUWI Build/RS8321.1924N; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/118.0.0.0 Safari/537.36
os:
name: Fire OS
version: "8"
platform: ""
client:
type: browser
name: Chrome Webview
version: 118.0.0.0
engine: Blink
engine_version: 118.0.0.0
device:
type: tablet
brand: Amazon
model: Fire HD 10 (2023)
os_family: Android
browser_family: Chrome
-
user_agent: Mozilla/5.0 (Linux; Android 13; Puya Build/TP1A.220624.014; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/121.0.6167.164 Safari/537.36
os:
name: Android
version: "13"
platform: ""
client:
type: browser
name: Chrome Webview
version: 121.0.6167.164
engine: Blink
engine_version: 121.0.6167.164
device:
type: tablet
brand: Hot Pepper
model: Puya
os_family: Android
browser_family: Chrome
-
user_agent: Mozilla/5.0 (Linux; Android 11; KFSNWI Build/RS8321.1924N; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/118.0.0.0 Safari/537.36
os:
name: Fire OS
version: "8"
platform: ""
client:
type: browser
name: Chrome Webview
version: 118.0.0.0
engine: Blink
engine_version: 118.0.0.0
device:
type: tablet
brand: Amazon
model: Fire Max 11
os_family: Android
browser_family: Chrome
21 changes: 16 additions & 5 deletions regexes/device/mobiles.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18276,7 +18276,7 @@ OnePlus:

# Realme (sub brand Oppo)
Realme:
regex: 'Realme[ _]|(?:RMX(?:18(0[13579]|11|3[13]|2[1257]|[45]1|53|45)|19(03|4[1235]|19|9[23]|2[1579]|[01379]1|73)|20(?:[025-7]1|42|[0357]2|03|2[257]|63|7[56]|63L1|8[1356]|[2-5]0)|21(?:0[13]|1[27]|[12]1|4[24]|5[156]|6[13]|7[036]|8[0359]|9[345])|220[0125]|30(?:[3468]1|4[23]|9[23]|63|85)|31(?:15|2[125]|42|51|6[16]|71|9[1357])|32(?:0[13]|35|42|[346]1|6[0235689]|86)|33(?:[0157]0|[17]2|71|6[036]|[0186]1|57|88|9[12356])|34(?:30|78|[69]1|[67]2|7[145]|9[23])|35(?:0[1236]|1[1367]|21|[578]1|6[0123]|7[24])|36(?:1[012579]|[39]0|36|2[347](?:_Natv_vf)?|8[67]|6[013])|370[0689]|37[1467]0|37[47]1|3785|3830|382[03])|(?:OPPO[ _]?)?CPH1861|RMP210[235-8]|4K Google TV Stick)(?:[);/ ]|$)'
regex: 'Realme[ _]|(?:RMX(?:18(0[13579]|11|3[13]|2[1257]|[45]1|53|45)|19(03|4[1235]|19|9[23]|2[1579]|[01379]1|73)|20(?:[025-7]1|42|[0357]2|03|2[257]|63|7[56]|63L1|8[1356]|[2-5]0)|21(?:0[13]|1[27]|[12]1|4[24]|5[156]|6[13]|7[036]|8[0359]|9[345])|220[0125]|30(?:[3468]1|4[23]|9[23]|63|85)|31(?:15|2[125]|42|51|6[16]|71|9[1357])|32(?:0[13]|35|42|[346]1|6[0235689]|86)|33(?:[0157]0|[17]2|71|6[036]|[0186]1|57|88|9[12356])|34(?:30|78|[69]1|[67]2|7[145]|9[23])|35(?:0[1236]|1[1367]|21|[578]1|6[0123]|7[24])|36(?:1[012579]|[39]0|36|2[347](?:_Natv_vf)?|8[67]|6[013])|370[0689]|37[1467]0|37[47]1|378[025]|38[39]0|382[03])|(?:OPPO[ _]?)?CPH1861|RMP210[235-8]|4K Google TV Stick)(?:[);/ ]|$)'
device: 'smartphone'
models:
- regex: 'RMX370[68]'
Expand Down Expand Up @@ -18395,6 +18395,8 @@ Realme:
model: '11x 5G'
- regex: 'RMX3636'
model: '11'
- regex: 'RMX3780'
model: '11 5G'
- regex: 'RMX1925(?:[);/ ]|$)'
model: '5S'
- regex: 'RMX1811(?:[);/ ]|$)'
Expand Down Expand Up @@ -18441,6 +18443,10 @@ Realme:
model: 'C51'
- regex: 'RMX3760'
model: 'C53'
- regex: 'RMX3890'
model: 'C67'
- regex: 'RMX3782'
model: 'C67 5G'
- regex: 'RMX3231'
model: 'C11 (2021)'
- regex: 'RMX382[03]'
Expand Down Expand Up @@ -23300,7 +23306,7 @@ Amazon Basics:

# Kindle
Amazon:
regex: '(?:smarttv_)?(?:AFT[ABMNRST]|AFTSSS?|AFTANNA0|AFTGAZL|AFTMM|AFTK(?:A|M|RT)|AFTTI43|AFTHA001|AFTKA(?:UK)?002|SD4930UR|AEO(?:BC|C[HW]|KN)|KF(?:OT|ONWI|TT|JWI|JWA|[DFS]OWI|A[PRSU]WI|T[BH]WI|TRP?WI|SAW[IA]|GIWI|KAWI|MAWI|MEWI|MUWI|SUWI))(?:[);/ _]|$)|Kindle|AlexaMediaPlayer|Amazon (?:Tate|Jem)|Silk/\d+\.\d+|Echo/1|.+FIRETVSTICK'
regex: '(?:smarttv_)?(?:AFT[ABMNRST]|AFTSSS?|AFTANNA0|AFTGAZL|AFTMM|AFTK(?:A|M|RT)|AFTTI43|AFTHA001|AFTKA(?:UK)?002|SD4930UR|AEO(?:BC|C[HW]|KN)|KF(?:OT|ONWI|TT|JWI|JWA|[DFS]OWI|A[PRSU]WI|T[BH]WI|TRP?WI|SAW[IA]|GIWI|KAWI|MAWI|MEWI|[MST]UWI|SNWI))(?:[);/ _]|$)|Kindle|AlexaMediaPlayer|Amazon (?:Tate|Jem)|Silk/\d+\.\d+|Echo/1|.+FIRETVSTICK'
device: 'tablet'
models:
- regex: '(?:smarttv_)?AFTA(?:[);/ _]|$)'
Expand Down Expand Up @@ -26091,7 +26097,7 @@ Zopo:

# Xiaomi
Xiaomi:
regex: 'Xiaomi(?!/(?:Miui|Mint[ ])Browser)| ONC(?: Build|[;)])|MiTV-\w|MiProjA1|Mi9 Pro 5G|(?:MI [a-z0-9]+|Mi-4c|MI-One[ _]?[a-z0-9]+|MIX(?: 2S?)?|MIX 2S ART|pomelo|AFTBTX4)(?:[);/ ]|$)|HM (?:[^/;]+) (?:Build|MIUI)|(?:2014501|2014011|201481[12378]|201302[23]|2013061) Build|Redmi|POCOPHONE|(?:SHARK )?KTUS-[AH]0|(?:SHARK )?(KLE|KSR|MBU|PAR)-[AH]0|SK[RW]-[AH]0|PRS-[AH]0|POCO F1|DLT-[AH]0|MIBOX[234]([_ ]PRO)?|MiTV4[ACSX]?|AWM-A0|MI CC 9 Meitu Edition|MiBOX1S|M2006J10C|M2006C3(?:L[IGC]|LVG|MN?G|MT)|M2007J1(?:7[CGI]|SC)|M2002(?:J9[SEG]|F4LG)|HM2014819|WT88047|210611(?:8C|19(?:BI|[AD]G|AL))|M2001(?:J2G|C3K3I)|M2004J1(?:5SC|9AG)|M2004J(?:7[AB]|19)[CG]|M2012K11(?:[CGI]|A[CI])|M2011K2[CG]|M2011J18C|M2006C3[ML]II|M2003J(?:15SC|15SS|6B2G|6A1G)|M2007J3S[ICYGP]|M2007J22[CG]|M2103K19[CGYI]|M2101K(?:[79]AG|7AI|7B[GI]|6[GIRP]|7BNY|9[GCR])|M2010J19S[CGYIL]|M2102(?:K1AC|K1[CG]|J2SC)|HM NOTE 1(?:LTE|W)|MI[_ ]PLAY|XIG01|Qin 1s\+|Qin ?2(?: Pro)?|MI_(NOTE_Pro|5X|4i|(?:A2|8)_Lite)|A001XM|lancelot|XIG02|2107119DC|M2101K(?:7BL|9AI)|A101XM|M2012K10C|M2104K10AC|M19(?:01F7[1S]|10F4S|08(?:F1XE|C3JGG)|08C3J[IH]|06F9S[IH]|02F1G)|21051182[CG]|21081111RG|2109119D[GI]|21091116(?:AI|[AU]?C|i|U[GI])|220111(?:7T[LGIY]|19TI|19UY|6S[IRC]|6TG|[67]SG|7SL)|21121(?:119S[CG]|23A[CG]|119VL|210C)|2204121(?:6[CI]|6UC|9[CGI]|9NY|1AC)|220333Q(?:AG|NY|L|BI)|2107113S[IGR]|22031(?:29G|116BG|21C)|PAR-H0|M2105K81A?C|2109119BC|2202(?:1119KR|1211RC|33L2[CGI])|22011(?:2[23][CG]|211C|16TI|17S[YI])|joyeuse|galahad|hydrogen|begonia|kenzo|willow|beryllium|rosemary| MDG1|KLE-AO|Mi ?Pad \d|220612(?:18C|[23]SC)|2207(?:12(?:2MC|12AG|19AI)|33S(?:F?G|[ILH])|43FI)|2208(?:7RA4DI|1212(?:U?G|C)|128(?:1AC|3[GC]))|Black Shark|MZB8298IN|2210(?:1317C|1320C|1316(?:U[PG]|UCP?|[CIG])|1(?:29SG|32[CG]))|2211(?:13(?:3[CG]|17I)|1317G)|23013RK75C|2305(?:3RN02[AYLI]|4RA19C)|2209(?:5RA98C|116AG|129SC)|2212(?:0RN86[GI]|6RN91Y|ARNC4L|2RK93C|7RK46C)|2302(?:6RN54G|1RAA(?:EG|2Y)|7RAD4I|8R(?:N4D[GI]|A60L|NCA[GI]))|angelican|vnd_camellia|2304(?:9RAD8C|FPN6D[GC]|6RP50C|3RP34[CGI]|6PNC9C)|2303(?:0RAC7Y|CRA44A|ERA42L)|M1906G7G|Hongmi 4A|M1912G7BC|2307(?:7RABDC|6RN4BI|6RN8DY|8PND5G|8RKD5C|6RA4BC|3RPBF[GCL]|BRPDCC)|2310(?:6RN0DA|8RN04Y)|2312(?:CRAD3C|DRAABC|7PN0CC|DRA50C)|23116PN5BC|2308CPXD0C|2306EPN60G|23090RA98C|QIN3ULTRA'
regex: 'Xiaomi(?!/(?:Miui|Mint[ ])Browser)| ONC(?: Build|[;)])|MiTV-\w|MiProjA1|Mi9 Pro 5G|(?:MI [a-z0-9]+|Mi-4c|MI-One[ _]?[a-z0-9]+|MIX(?: 2S?)?|MIX 2S ART|pomelo|AFTBTX4)(?:[);/ ]|$)|HM (?:[^/;]+) (?:Build|MIUI)|(?:2014501|2014011|201481[12378]|201302[23]|2013061) Build|Redmi|POCOPHONE|(?:SHARK )?KTUS-[AH]0|(?:SHARK )?(KLE|KSR|MBU|PAR)-[AH]0|SK[RW]-[AH]0|PRS-[AH]0|POCO F1|DLT-[AH]0|MIBOX[234]([_ ]PRO)?|MiTV4[ACSX]?|AWM-A0|MI CC 9 Meitu Edition|MiBOX1S|M2006J10C|M2006C3(?:L[IGC]|LVG|MN?G|MT)|M2007J1(?:7[CGI]|SC)|M2002(?:J9[SEG]|F4LG)|HM2014819|WT88047|210611(?:8C|19(?:BI|[AD]G|AL))|M2001(?:J2G|C3K3I)|M2004J1(?:5SC|9AG)|M2004J(?:7[AB]|19)[CG]|M2012K11(?:[CGI]|A[CI])|M2011K2[CG]|M2011J18C|M2006C3[ML]II|M2003J(?:15SC|15SS|6B2G|6A1G)|M2007J3S[ICYGP]|M2007J22[CG]|M2103K19[CGYI]|M2101K(?:[79]AG|7AI|7B[GI]|6[GIRP]|7BNY|9[GCR])|M2010J19S[CGYIL]|M2102(?:K1AC|K1[CG]|J2SC)|HM NOTE 1(?:LTE|W)|MI[_ ]PLAY|XIG01|Qin 1s\+|Qin ?2(?: Pro)?|MI_(NOTE_Pro|5X|4i|(?:A2|8)_Lite)|A001XM|lancelot|XIG02|2107119DC|M2101K(?:7BL|9AI)|A101XM|M2012K10C|M2104K10AC|M19(?:01F7[1S]|10F4S|08(?:F1XE|C3JGG)|08C3J[IH]|06F9S[IH]|02F1G)|21051182[CG]|21081111RG|2109119D[GI]|21091116(?:AI|[AU]?C|i|U[GI])|220111(?:7T[LGIY]|19TI|19UY|6S[IRC]|6TG|[67]SG|7SL)|21121(?:119S[CG]|23A[CG]|119VL|210C)|2204121(?:6[CI]|6UC|9[CGI]|9NY|1AC)|220333Q(?:AG|NY|L|BI)|2107113S[IGR]|22031(?:29G|116BG|21C)|PAR-H0|M2105K81A?C|2109119BC|2202(?:1119KR|1211RC|33L2[CGI])|22011(?:2[23][CG]|211C|16TI|17S[YI])|joyeuse|galahad|hydrogen|begonia|kenzo|willow|beryllium|rosemary| MDG1|KLE-AO|Mi ?Pad \d|220612(?:18C|[23]SC)|2207(?:12(?:2MC|12AG|19AI)|33S(?:F?G|[ILH])|43FI)|2208(?:7RA4DI|1212(?:U?G|C)|128(?:1AC|3[GC]))|Black Shark|MZB8298IN|2210(?:1317C|1320C|1316(?:U[PG]|UCP?|[CIG])|1(?:29SG|32[CG]))|2211(?:13(?:3[CG]|17I)|1317G)|23013RK75C|2305(?:3RN02[AYLI]|4RA19C)|2209(?:5RA98C|116AG|129SC)|2212(?:0RN86[GI]|6RN91Y|ARNC4L|2RK93C|7RK46C)|2302(?:6RN54G|1RAA(?:EG|2Y)|7RAD4I|8R(?:N4D[GI]|A60L|NCA[GI]))|angelican|vnd_camellia|2304(?:9RAD8C|FPN6D[GC]|6RP50C|3RP34[CGI]|6PNC9C)|2303(?:0RAC7Y|CRA44A|ERA42L)|M1906G7G|Hongmi 4A|M1912G7BC|2307(?:7RABDC|6RN4BI|6RN8DY|8PND5G|8RKD5C|6RA4BC|3RPBF[GCL]|BRPDCC)|2310(?:6RN0DA|8RN04Y)|2312(?:CRAD3C|DRAABC|7PN0CC|DRA50C)|23116PN5BC|2308CPXD0C|2306EPN60G|23090RA98C|23100RN82L|QIN3ULTRA'
device: 'smartphone'
models:
# specific smartphone models
Expand Down Expand Up @@ -26349,6 +26355,8 @@ Xiaomi:
model: 'Redmi 12'
- regex: '(?:23076RN8DY|23076RN4BI|23077RABDC)(?:[);/ ]|$)'
model: 'Redmi 12 5G'
- regex: '23100RN82L(?:[);/ ]|$)'
model: 'Redmi 13C'
- regex: '22071219AI(?:[);/ ]|$)'
model: 'Redmi 11 Prime'
- regex: 'Redmi K20 Pro Premium Edition(?:[);/ ]|$)'
Expand Down Expand Up @@ -28661,15 +28669,18 @@ X-TIGI:
- regex: 'X[-_]TIGI[ _-]([^/;)]+)(?: Build|[;)])'
model: '$1'

# Hot Pepper (hotpeppermobile.com)
# Hot Pepper (https://www.hotpepperusa.com/)
Hot Pepper:
regex: '(?:HPP-(GS1|L55B)|VLE5)(?:[);/ ]|$)'
regex: '(?:HPP-(GS1|L55B)|VLE5|Puya)(?:[);/ ]|$)'
device: 'smartphone'
models:
- regex: 'HPP-GS1'
model: 'Ghost'
- regex: 'VLE5'
model: 'Poblano'
- regex: 'Puya'
model: 'Puya'
device: 'tablet'
- regex: 'HPP-L55B'
model: 'Serrano'

Expand Down

0 comments on commit 9aa7dab

Please sign in to comment.