From ff664bfb260a3811f697882696b468b3a70d79de Mon Sep 17 00:00:00 2001 From: Liviu-Mihail Concioiu Date: Sat, 2 Nov 2024 08:38:00 +0100 Subject: [PATCH] Improves detection for Fire TV devices (#7891) ref #7890 --- Tests/fixtures/tv-4.yml | 90 ++++++++++++++++++++++++++++++++++++++ regexes/device/mobiles.yml | 21 +++++++-- 2 files changed, 108 insertions(+), 3 deletions(-) diff --git a/Tests/fixtures/tv-4.yml b/Tests/fixtures/tv-4.yml index e2d8a439dc..cc159d1ef6 100644 --- a/Tests/fixtures/tv-4.yml +++ b/Tests/fixtures/tv-4.yml @@ -3333,3 +3333,93 @@ model: Smart TV (2022) os_family: Other Smart TV browser_family: Chrome +- + user_agent: Mozilla/5.0 (Linux; Android 11; AFTDEC012E Build/RS8113.2338N; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/124.0.6367.248 Mobile Safari/537.36 + os: + name: Fire OS + version: "8" + platform: "" + client: + type: browser + name: Chrome Webview + version: 124.0.6367.248 + engine: Blink + engine_version: 124.0.6367.248 + device: + type: tv + brand: TCL + model: 4K Fire TV (2024) + os_family: Android + browser_family: Chrome +- + user_agent: Mozilla/5.0 (Linux; Android 9; AFT6E0FA) AppleWebKit/537.36 (KHTML, like Gecko) Silk/128.3.2 like Chrome/128.0.6613.146 Safari/537.36 + os: + name: Fire OS + version: "7" + platform: "" + client: + type: browser + name: Mobile Silk + version: 128.3.2 + engine: Blink + engine_version: 128.0.6613.146 + device: + type: tv + brand: Toshiba + model: 32WF2F53DB + os_family: Android + browser_family: Chrome +- + user_agent: Mozilla/5.0 (Linux; Android 9; AFTKADE001) AppleWebKit/537.36 (KHTML, like Gecko) Silk/128.5.4 like Chrome/128.0.6613.194 Safari/537.36 + os: + name: Fire OS + version: "7" + platform: "" + client: + type: browser + name: Mobile Silk + version: 128.5.4 + engine: Blink + engine_version: 128.0.6613.194 + device: + type: tv + brand: Amazon + model: Fire TV Omni QLED (2023) + os_family: Android + browser_family: Chrome +- + user_agent: Mozilla/5.0 (Linux; Android 9; AFTKAUK001 Build/PS7681.4384N; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/124.0.6367.248 Mobile Safari/537.36/8.5.0 (Linux;Android 9) ExoPlayerLib/2.6.1 + os: + name: Fire OS + version: "7" + platform: "" + client: + type: browser + name: Chrome Webview + version: 124.0.6367.248 + engine: Blink + engine_version: 124.0.6367.248 + device: + type: tv + brand: Amazon + model: Fire TV 4-Series (2023) + os_family: Android + browser_family: Chrome +- + user_agent: Mozilla/5.0 (Linux; Android 9; AFTSHN01) AppleWebKit/537.36 (KHTML, like Gecko) Silk/128.6.1 like Chrome/128.0.6613.194 Safari/537.36 + os: + name: Fire OS + version: "7" + platform: "" + client: + type: browser + name: Mobile Silk + version: 128.6.1 + engine: Blink + engine_version: 128.0.6613.194 + device: + type: tv + brand: Amazon + model: Fire TV HD (2023) + os_family: Android + browser_family: Chrome diff --git a/regexes/device/mobiles.yml b/regexes/device/mobiles.yml index 32772c39bb..433e8fbba4 100644 --- a/regexes/device/mobiles.yml +++ b/regexes/device/mobiles.yml @@ -10098,7 +10098,7 @@ Hasee: # Toshiba Toshiba: - regex: 'Toshiba|TSBNetTV/|portalmmm/[12]\.0 TS|(?:T-01C|T-0[12]D|IS04|IS11T|AT1S0|AT300SE|AFTBOXE1|AFTDCT31|AFTHA00[2-4]|AT(?:7-C|10-A|10[PL]E-A|100|200|270|300|330|374|400|470|500a?|503|570|703|830)|AFTKMST12|AFTBAMR311|SATELLITE (?:C655|L50-C|Pro L300|A100))(?:[);/ ]|$)' + regex: 'Toshiba|TSBNetTV/|portalmmm/[12]\.0 TS|(?:T-01C|T-0[12]D|IS04|IS11T|AT1S0|AT300SE|AFT6E0FA|AFTBOXE1|AFTDCT31|AFTHA00[2-4]|AT(?:7-C|10-A|10[PL]E-A|100|200|270|300|330|374|400|470|500a?|503|570|703|830)|AFTKMST12|AFTBAMR311|SATELLITE (?:C655|L50-C|Pro L300|A100))(?:[);/ ]|$)' device: 'smartphone' models: # explicit smartphone models @@ -10143,6 +10143,9 @@ Toshiba: device: 'desktop' model: 'Satellite $1' + - regex: 'AFT6E0FA(?:[);/ ]|$)' + device: 'tv' + model: '32WF2F53DB' - regex: 'AFTBOXE1(?:[);/ ]|$)' device: 'tv' model: '65UF3D63DA' @@ -21066,7 +21069,7 @@ Pentagram: # Tcl (tcl.com) TCL: - regex: 'TCL,|TCL[a-z0-9]+;|smarttv_AFTMM-TCL|AFTMD002|AFTSHN02|AFTMD001|TCL[_ -][a-z0-9]+|(?:TCL[_ -][^;/]+ Build)|(?:TCLGalaG60(?:\(9108A\))?|4163D|4187[DMU]|4188[CLRSVO]|5004S|5033TP|5087Z|5101A|5102[BKLMOP]|5107G|5124J|5130[JMEI]|5133MP|5133A|5148A|5152D|5159[AJ]|5164[AD]|5199I|6102[ADH]|6125[ADFH]|6127[AI]|6156[ADH]|6159[AK]|6165[AHS]|7040N|8491X|9048S|9060[GX]|9080G|9081X|9295G|9296[GQ]|A(?:50[2789]|600)DL|T(?:60[123]|701)DL|T(?:506D|671[EFGHO]|676[HJK]|766[AHJSU]|767[GHW]|770[BH]|771K|773O|774[BH]|775[BH]|776[HO]|779W|780H|781SPP|781S|781|782H|790[SY]|799[BH]|810[HS])|Percee TV|9183W|9198S|9309X2|9317X1|8[14]96G|916[016]G| 9061| 8182| 8167| 8095|BeyondTV\d?|UnionTV|T507U|5131[AG]|T610[KE]|T612B|9132[GS]|9137W|T430W|T431[DUQ]|T501[CL]|T768S|9494G|9460G|9466X|T60[79]DL)(?:_(?:RU|EEA|TR))?(?:[);/ ]|$)' + regex: 'TCL,|TCL[a-z0-9]+;|smarttv_AFTMM-TCL|AFTDEC012E|AFTMD002|AFTSHN02|AFTMD001|TCL[_ -][a-z0-9]+|(?:TCL[_ -][^;/]+ Build)|(?:TCLGalaG60(?:\(9108A\))?|4163D|4187[DMU]|4188[CLRSVO]|5004S|5033TP|5087Z|5101A|5102[BKLMOP]|5107G|5124J|5130[JMEI]|5133MP|5133A|5148A|5152D|5159[AJ]|5164[AD]|5199I|6102[ADH]|6125[ADFH]|6127[AI]|6156[ADH]|6159[AK]|6165[AHS]|7040N|8491X|9048S|9060[GX]|9080G|9081X|9295G|9296[GQ]|A(?:50[2789]|600)DL|T(?:60[123]|701)DL|T(?:506D|671[EFGHO]|676[HJK]|766[AHJSU]|767[GHW]|770[BH]|771K|773O|774[BH]|775[BH]|776[HO]|779W|780H|781SPP|781S|781|782H|790[SY]|799[BH]|810[HS])|Percee TV|9183W|9198S|9309X2|9317X1|8[14]96G|916[016]G| 9061| 8182| 8167| 8095|BeyondTV\d?|UnionTV|T507U|5131[AG]|T610[KE]|T612B|9132[GS]|9137W|T430W|T431[DUQ]|T501[CL]|T768S|9494G|9460G|9466X|T60[79]DL)(?:_(?:RU|EEA|TR))?(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'TCLGalaG60(?:\(9108A\))?(?:[);/ ]|$)' @@ -21317,6 +21320,9 @@ TCL: - regex: 'AFTMD001(?:[);/ ]|$)' device: 'tv' model: '4K Fire TV (2023)' + - regex: 'AFTDEC012E(?:[);/ ]|$)' + device: 'tv' + model: '4K Fire TV (2024)' - regex: 'TCL,([a-z0-9_ \-]+),(?:wired|wireless)' device: 'tv' @@ -25151,7 +25157,7 @@ Amazon Basics: # Kindle Amazon: - regex: '(?:smarttv_)?(?:AFT[ABMNRST]|AFTSSS?|AFTANNA0|AFTGAZL|AFTMM|AFTK(?:A|M|RT)|AFTTI43|AFTTIFF43|AFTHA001|AFTKA(?:UK)?002|SD4930UR|AEO(?:AT|B[CP]|C[HNW]|HY|KN|TA)|KF(?:OT|ONWI|TT|JWI|JWA|[DFS]OWI|A[PRSU]WI|T[BH]WI|TRP?WI|SAW[IA]|GIWI|[KMR]AWI|MEWI|[MSTQ]UWI|SNWI|RAPWI))(?:[);/ _]|$)|Kindle|AlexaMediaPlayer|Amazon (?:Tate|Jem)|Silk/\d+\.\d+|Echo/1|.+FIRETVSTICK|Amazon;Echo' + regex: '(?:smarttv_)?(?:AFT[ABMNRST]|AFTSSS?|AFTANNA0|AFTGAZL|AFTMM|AFTK(?:A|M|RT)|AFTTI43|AFTTIFF43|AFTHA001|AFTKA(?:DE|UK)?00[12]|SD4930UR|AEO(?:AT|B[CP]|C[HNW]|HY|KN|TA)|KF(?:OT|ONWI|TT|JWI|JWA|[DFS]OWI|A[PRSU]WI|T[BH]WI|TRP?WI|SAW[IA]|GIWI|[KMR]AWI|MEWI|[MSTQ]UWI|SNWI|RAPWI))(?:[);/ _]|$)|Kindle|AlexaMediaPlayer|Amazon (?:Tate|Jem)|Silk/\d+\.\d+|Echo/1|.+FIRETVSTICK|Amazon;Echo' device: 'tablet' models: - regex: '(?:smarttv_)?AFTA(?:[);/ _]|$)' @@ -25169,6 +25175,9 @@ Amazon: - regex: '(?:smarttv_)?AFTTI43' model: 'Fire TV 4-Series (2021)' device: 'tv' + - regex: '(?:smarttv_)?AFTKAUK001(?:[);/ _]|$)' + model: 'Fire TV 4-Series (2023)' + device: 'tv' - regex: '(?:smarttv_)?AFTKA(?:UK)?002(?:[);/ _]|$)' model: 'Fire TV 2-Series (2023)' device: 'tv' @@ -25181,6 +25190,9 @@ Amazon: - regex: '(?:smarttv_)?AFTHA001(?:[);/ _]|$)' # Hisense or Toshiba model: 'Fire TV 4K (2021-2022)' device: 'tv' + - regex: '(?:smarttv_)?AFTSHN01(?:[);/ _]|$)' # TCL or Xiaomi + model: 'Fire TV HD (2023)' + device: 'tv' - regex: '(?:smarttv_)?AFTB(?:[);/ _]|$)' model: 'Fire TV (Gen 1)' device: 'tv' @@ -25193,6 +25205,9 @@ Amazon: - regex: '(?:smarttv_)?AFTTIFF43(?:[);/ _]|$)' model: 'Fire TV Omni QLED (2022)' device: 'tv' + - regex: '(?:smarttv_)?AFTKADE001(?:[);/ _]|$)' + model: 'Fire TV Omni QLED (2023)' + device: 'tv' - regex: '(?:smarttv_)?AFT[MST](?:[);/ _]|$)' model: 'Fire TV Stick' device: 'tv'