mirror of
https://gitee.com/chinabugotech/hutool.git
synced 2025-05-09 23:51:34 +08:00
支持鸿蒙设备 UA 解析(pr#1301@Gitee)
This commit is contained in:
parent
1b468245c5
commit
b7b5fbea71
@ -52,6 +52,7 @@ public class OS extends UserAgentInfo {
|
||||
new OS("Windows", "windows"), //
|
||||
new OS("OSX", "os x (\\d+)[._](\\d+)", "os x (\\d+([._]\\d+)*)"), //
|
||||
new OS("Android", "Android", "Android (\\d+([._]\\d+)*)"),//
|
||||
new OS("Harmony", "OpenHarmony", "OpenHarmony (\\d+([._]\\d+)*)"), //
|
||||
new OS("Android", "XiaoMi|MI\\s+", "\\(X(\\d+([._]\\d+)*)"),//
|
||||
new OS("Linux", "linux"), //
|
||||
new OS("Wii", "wii", "wii libnup/(\\d+([._]\\d+)*)"), //
|
||||
|
@ -52,6 +52,10 @@ public class Platform extends UserAgentInfo {
|
||||
* android
|
||||
*/
|
||||
public static final Platform ANDROID = new Platform("Android", "android");
|
||||
/**
|
||||
* harmony
|
||||
*/
|
||||
public static final Platform HARMONY = new Platform("Harmony", "OpenHarmony");
|
||||
/**
|
||||
* android
|
||||
*/
|
||||
@ -72,6 +76,7 @@ public class Platform extends UserAgentInfo {
|
||||
IPHONE, //
|
||||
new Platform("Android", "XiaoMi|MI\\s+"), //
|
||||
ANDROID, //
|
||||
HARMONY, //
|
||||
GOOGLE_TV, //
|
||||
new Platform("htcFlyer", "htc_flyer"), //
|
||||
new Platform("Symbian", "symbian(os)?"), //
|
||||
@ -160,4 +165,13 @@ public class Platform extends UserAgentInfo {
|
||||
return this.equals(ANDROID) || this.equals(GOOGLE_TV);
|
||||
}
|
||||
|
||||
/**
|
||||
* 是否为Harmony平台
|
||||
*
|
||||
* @return 是否为Harmony平台
|
||||
*/
|
||||
public boolean isHarmony() {
|
||||
return this.equals(HARMONY);
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -505,4 +505,15 @@ public class UserAgentUtilTest {
|
||||
assertEquals("Mac", ua.getPlatform().toString());
|
||||
assertFalse(ua.isMobile());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void parseHarmonyUATest() {
|
||||
final String uaStr = "Mozilla/5.0 (Phone; OpenHarmony 4.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36 ArkWeb/4.1.6.1 Mobile ";
|
||||
final UserAgent ua = UserAgentUtil.parse(uaStr);
|
||||
assertEquals("Harmony", ua.getPlatform().toString());
|
||||
assertTrue(ua.getPlatform().isHarmony());
|
||||
assertEquals("Harmony", ua.getOs().toString());
|
||||
assertEquals("4.1", ua.getOsVersion());
|
||||
assertTrue(ua.isMobile());
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user